面经详情

算法研究员面试一般,共2轮面试
  • 一面主要分为两个部分:询问项目 + 算法基础
  • 项目部分:
  • 因为针对于多智能体和单智能体
  • 我自己分别写了两款游戏环境用于验证一些主流的单/多智能体的RL算法,
  • 因此这一次面试中面试官在项目部分主要问的是游戏-算法的架构设计:
Q:1. 整个系统的设计模式是什么样的?游戏端和算法端是如何进行数据通信的?游戏端内部如何响应算法的决策行为?算法模块如何接收游戏端发送来的状态数据?
Q:2. 游戏中都涉及到了哪些决策行为,是连续的还是离散的?
Q:3. 这两款游戏为什么就适合验证单/多智能体算法?
Q:4. 如果现在有一个游戏,但它原本设计的时候并不是为了强化学习而设计的,那么想要打通游戏与算法的通信管道应该怎么做?1条回答
算法基础部分:
Q:1. 你说你用到了算法库中实现了PG/DQN/PPO,那你分别介绍一下这三个算法吧。(建议:每一个算法从设计初衷开始介绍,算法提出是为了解决什么问题,怎么解决的这些问题,最后讲一讲代码是怎么实现的)
Q:2. 你说PPO中用到的Importance Sampling,但同样作为Off-Policy的DQN为什么不需要做Importance Sampling?(从更新公式和策略模型方向回答)1条回答
Q:3. 你说的PPO中的Surrogate Clip具体Clip的是什么,为什么要做Clip?(从Importance Sampling的原理反推出分布差异不能过大的这一局限性)
Q:4. 说一说AC吧。(介绍AC的设计初衷和代码实现)5. 你说actor的更新是受到critic的指导的,那具体是如何进行指导的?(从variance和baseline这两个方面回答)1条回答
  • 二面和一面流程差不多,主要分为两个部分:询问项目 + 算法基础 + 算法题感觉每一轮面试官都比较关注项目,都会问一些项目相关的问题:
Q:1. 训练的时候你的游戏是分布式部署的还是独立部署的?
Q:2. 游戏端有设计wrapper吗,具体有哪些功能?
Q:3. 支持并行化学习吗?1条回答
Q:4. 看到你提到说游戏是支持self-play的,如何支持的?训练效果怎么样?
算法基础部分:
Q:1. 聊一聊GAE吧。(从设计初衷到计算公式最后代码实现讲一讲)
Q:2. 如果我的Replay Buffer中现在只有128个steps,但一直到第128个steps都没有遇到terminal state,此时我应该如何计算GAE?(用伪状态值代替)1条回答
Q:3. 你用MADDPG是如何解决离散行为控制的?(连续变量离散化)
Q:4. 游戏中很可能在某些状态下出现某些行为此时不能被采取的情况,这种情况下该怎么办?(QMIX中如何实现和PPO中如何实现)1条回答

相关推荐

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网字节跳动字节跳动面试经验字节跳动面试经验:算法研究员面试一般,共2轮面试
正在招聘iOS资深研发工程师-内容发现200 个岗位