网易互娱强化学习面经

上周面完了互娱的三面,今天稍微空闲下来写一写面经,顺便许愿一个意向书。
整体来说互娱面试难度适中,对算法的理解需要较为深刻,并且要求算法代码有自己上过手(看别人源码也行,但必须要看懂实现细节),只要基础比较扎实的话通常是可以有三轮面试机会的,下面我大概总结一下整个流程。

一面
一面主要分为两个部分:询问项目 + 算法基础
项目部分:
因为针对于多智能体和单智能体我自己分别写了两款游戏环境用于验证一些主流的单/多智能体的RL算法,因此这一次面试中面试官在项目部分主要问的是游戏-算法的架构设计:
1. 整个系统的设计模式是什么样的?游戏端和算法端是如何进行数据通信的?游戏端内部如何响应算法的决策行为?算法模块如何接收游戏端发送来的状态数据?
2. 游戏中都涉及到了哪些决策行为,是连续的还是离散的?
3. 这两款游戏为什么就适合验证单/多智能体算法?
4. 如果现在有一个游戏,但它原本设计的时候并不是为了强化学习而设计的,那么想要打通游戏与算法的通信管道应该怎么做?
算法基础部分:
1. 你说你用到了算法库中实现了PG/DQN/PPO,那你分别介绍一下这三个算法吧。(建议:每一个算法从设计初衷开始介绍,算法提出是为了解决什么问题,怎么解决的这些问题,最后讲一讲代码是怎么实现的)
2. 你说PPO中用到的Importance Sampling,但同样作为Off-Policy的DQN为什么不需要做Importance Sampling?(从更新公式和策略模型方向回答)
3. 你说的PPO中的Surrogate Clip具体Clip的是什么,为什么要做Clip?(从Importance Sampling的原理反推出分布差异不能过大的这一局限性)
4. 说一说AC吧。(介绍AC的设计初衷和代码实现)
5. 你说actor的更新是受到critic的指导的,那具体是如何进行指导的?(从variance和baseline这两个方面回答)

二面
二面和一面流程差不多,主要分为两个部分:询问项目 + 算法基础 + 算法题
感觉每一轮面试官都比较关注项目,都会问一些项目相关的问题:
1. 训练的时候你的游戏是分布式部署的还是独立部署的?
2. 游戏端有设计wrapper吗,具体有哪些功能?
3. 支持并行化学习吗?
4. 看到你提到说游戏是支持self-play的,如何支持的?训练效果怎么样?
算法基础部分:
1. 聊一聊GAE吧。(从设计初衷到计算公式最后代码实现讲一讲)
2. 如果我的Replay Buffer中现在只有128个steps,但一直到第128个steps都没有遇到terminal state,此时我应该如何计算GAE?(用伪状态值代替)
3. 你用MADDPG是如何解决离散行为控制的?(连续变量离散化)
4. 游戏中很可能在某些状态下出现某些行为此时不能被采取的情况,这种情况下该怎么办?(QMIX中如何实现和PPO中如何实现)
算法题:
1. 找连续数组中缺失的一个数。

三面
三面是主管面试,主要针对项目进行提问,前面两面项目都问的比较粗略,三面问的会很细节:
1. 单/多智能体的游戏剧本是什么?
2. 游戏中有几类Agent,规模是多大?
3. Agent的行为/观测是什么?
4. 游戏端设计了哪些模块,如何和算法模块进行数据通信的?
5. 介绍一下训练出来的模型效果?
6. 将算法用到游戏中做了哪些工作?(部署流程 + sparse reward情况下如何解决)
7. 在算法训练中有哪些创新点?
8. 单智能体游戏中为什么PPO效果最好?多智能体游戏中为什么QMIX效果最好?
9. Self-Play相关。
10. 你有什么想问我们的问题。

总的来说互娱的面试体验还是很不错的,不管最后能不能拿到意向书都是一次收获很大的经历。从面试中可以看出来面试官很在意你对算法的理解,是否有系统的、连贯的知识体系(比如从PG推到AC再推到PPO再推到COMA),在代码层面会关注你是否有自己亲自去上手算法代码,而不只是git clone,要熟悉游戏和算法之间的工作流程,对游戏环境和算法环境都要有一定的了解。

以上就是本次面经分享的全部内容,希望可以帮到大家,共勉。

#面经##网易互娱##校招##算法工程师#
全部评论
MADDPG用gumbel softmax
点赞 回复 分享
发布于 2022-07-26 15:41
大佬,用GAE处理被打断轨迹那条,用伪状态值代替是怎么操作呀😯
点赞 回复 分享
发布于 2022-05-29 15:15
大佬是硕士生还是博士生呀,tql..
点赞 回复 分享
发布于 2020-09-01 00:29
强化学习的超级大佬了!
点赞 回复 分享
发布于 2020-08-31 22:42
老哥有收到互娱offer吗
点赞 回复 分享
发布于 2020-08-27 22:10
老哥是提前批吗 我也强化学习 没有自己搞过qmix和coma,只写过maddpg,ddqn,ppo,td3和sac。qmix和coma是老哥简历里面的项目才会问吗😂我后来multiagent直接用sac做了……看了老哥的面经,感觉自己还要看的更细点
点赞 回复 分享
发布于 2020-08-20 20:57
校招,校招,校招,2021年毕业,统招大学本科及以上! 负责微博客户端功能设计和研发:Android,iOS ,前端。 海量hc,轻松拿offer!!!简历请发到:dangguo@staff.weibo.com
点赞 回复 分享
发布于 2020-08-17 12:55
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复 分享
发布于 2020-08-17 12:54

相关推荐

四月中旬才开始投递,总算是抓住了暑期的尾巴time line如下:4.15投递5.6一面5.7二面5.8三面512收到offer(一周速通三面,感觉可以挑战全网最快流程)一面(技术面):约80分钟1. 自我介绍2. 详细盘问了科研论文的项目(深度强化学习方向),问的非常详细,包括论文的主要创新点、具体的建模细节等,非常刨根问底,几乎每个设计都要问一下为什么,其中也交叉问了一些八股,主要是强化学习方面的,如loss如何计算与传递等。常规问题以外,面试官还进行了一些拓展,比如让我思考这个科研项目距离落地还需要做哪些工作,多目标的奖励权重如何更新等,这部分我答的不好,但是面试官也非常耐心,一步步引导我去进行思考,也和我交流了他们实际业务中应用强化学习的一些设计。3. 然后又盘问了在滴滴做的项目,这个主要是大致介绍了业务的背景、项目的目标、模型选型的考虑等。其中具体问了一些推荐系统模型的八股(因为简历里有写),如w&d、deepfm、d&c network等的模型特点。4. 面试官介绍了下组里的一些业务,以及如果我能进来的话可以做的一些方向,涵盖的内容非常广,从传统运筹的路径规划到强化学习再到营销用增方向。由于项目和业务上聊了很多,导致没时间手撕,面试官就让我自己截图回去做,做完微信发给他即可。手撕的题是一道力扣mid,最佳股票策略。二面(技术面):约40分钟一面结束后立刻发来了二面通知,第二天上午十一点有趣的是,大概当天十点半的时候,二面还没开始,三面的链接就已经发来了1. 自我介绍2. 滴滴实习项目盘问,问的也很细,跟一面的问题有一些重叠,还问了业务中如果遇到没出现的特征应该怎么处理等数据预处理的问题3. 科研论文盘问,dtw距离是什么,如何计算?k中心聚类的步骤,都是一些常见的八股4. 手撕:力扣mid 编辑距离,发现美团很喜欢出动规题5. 业务介绍,一面时介绍的已经比较仔细了,也没什么需要反问的三面(hr面):约20分钟都是一些开放性的问题,开始侃侃而谈1. 经过前两轮面试,对业务有什么了解?2. 平常有没有用过业务相关的产品?体验怎么样?有哪些痛点?3. 如何利用ai来辅助进行业务升级?举几个具体的场景4. 简历中最能体现自己能力的项目是哪个?具体展开说明5. 过去的几段实习经历里,给自己带来最大改变的是什么?带来了哪些改变?6. 反问
查看16道真题和解析
点赞 评论 收藏
分享
拿到了秋招第一个offer,简单记录一下,供牛友们参考bg:双c9,非科班,硕士研究方向为机器人控制相关,1篇EI,一篇SCI二作,一段小厂日常实习,机器人强化学习相关时间线:4月底投递,5月份陆续约了三面,面完6月初发了座谈会,到今天(6.10)收到offer一面拷打简历介绍实习工作内容,自己负责哪部分VMC原理?为什么要用VMC训练过程sim2real的gap怎么处理?ppo算法怎么改进的,效果如何?然后是学校项目课题,介绍项目背景,研究创新点,实现过程遥操作时延怎么优化?项目量化指标无八股无手撕二面二面面试官猜测是做嵌入式相关的,对简历上很多项目不太了解机器人部署过程通信实现,spi原理,sdk编写同样是介绍学校课题内容创新点这些,提了一些简单问题常用编程语言?(答:python)于是问会cpp吗(答:会一点,但不多,可以学)cpp和python的区别?反问环节(说实话二面体验相当不好了,有种双方都没get到对方意思的感觉,一些问题答的也不好,面完以为没后续了)三面三面给我的感觉是专业面+综合素质面,整体过程比较轻松愉快同样是介绍实习和课题内容,遇到的问题,怎么解决等等(专业问题和一面的时候大差不差)简单问了下爱好,运动习惯这些反问环节由于面试时间太久了很多细节记不太清了,想到哪里写到哪里了,希望可以给大家提供有用的信息整体tp面下来体验还算不错,可以说全程无八股和手撕,流程推进速度中规中矩,而且算是自己秋招拿到的第一个offer,还是挺满意的
查看11道真题和解析
点赞 评论 收藏
分享
评论
14
75
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务