【面试】微软亚研院-离线强化学习实习岗面试总结

岗位介绍

我是中科大在读硕士。投的是强化学习方向的实习。
说实话我的简历应该是被扔在在池子里。简历投了,过了三个月才来面试电话。
这个岗位肯定是调剂过后的,我只知道是offline-RL偏理论方向的,组内大方向不是强化学习的,但是有用强化学习进行智能决策的方向。
部门我就不具体说了。
据说以后工作的思路是:先用理论证明强化学习有好的性质,再用网络去近似tabular,争取在一些问题上有比较好的成绩,最后才是投入生产实践。

技术面 1.5h

不知道什么原因,直接是周五快下班的时间,mentor直接打电话和我约时间的(不是HR联系我的)。然后约了周一的面试。(事后得知面试只有一轮)

面试大概1.5h左右。介绍简历、概率论题目、强化学习基础(真的很基础,贝尔曼算子那个级别的)、代码coding(不是算法,而是手写一个梯度下降)。

介绍简历:主要就是项目经历。针对我强化学习的德州扑克项目问了一堆。
概率论题目:X~N(\miu, \sigma^2), 问 Y=2*X的概率分布,以及Y=X1+X2的概率分布。以及它们为什么会有区别。
强化学习基础:说出对贝尔曼算子的理解;说出对tabular和神经网络之间的异同的理解。感觉强调的都是自己的理解。
闲聊:问了一下凸优化、泛函有没有学过。我说没有学过,但是学过线性规划、矩阵分析等数学课且成绩都不错。

coding

说实话不难,没有很搞人,关注一下边界条件就ok。

给定函数f(x),定义在二维实数域[[a,c],[b,d]]这个长方形区域,定义域内是凸的。每次可以查询一个点,返回该点y值以及该点梯度,然后求出函数极小值点对应的x和y。
函数f(x)定义如下:
def f(x):
%% 一些不重要的步骤
return y,dy_dx
备注:因为f是定义在二维空间上的,这里dy_dx是一个向量

解决方法有很多,我交流了一下,决定用梯度下降的方式解决。

我个人总结的话,有这么几个注意点:

  1. 问题里面有一些条件是一开始没有说清楚的,要问了才能得到。比如收敛的判定条件有很多,选择哪一个(y值、x邻域、g的模长等)。
  2. 如果极值点在边缘,函数可以正确运行吗?
  3. 什么时候x会落在定义域之外?此时应该怎么办?
  4. 代码风格,函数,命名等。
  5. 对于代码可行性、正确性等的分析。

有这么几个我可能没有做的很好的点:
6. 我说完思路以后直接开始写,被面试官要求在纸上比划比划再写hhh。
7. x迭代是是往负梯度方向更新而不是梯度方向(这个真的是我忘记仔细考虑了)。
8. mentor说我的思路主要是在“算法”层面,而不是在“设计”层面。这个说实话我一开始也不是很懂啥意思,猜测是说我常常讲的都是细节,而不是整体的框架。然后越想说的越有道理,是我这次面试最大的收获。我放在本文最后讲。

写完以后稍微讨论了一下代码的内容。讨论完又开始闲聊,就是关于我的意愿、时间以及是否可以接受理论研究这类的了,我都表示没有问题以后,mentor就说OK了,“那我就提交上去了,以后实习期间我们还要磨合磨合”

就凭这句话,我感觉我可以半场开香槟了。

总之面试圆满地结束了。面试结束后告知只有一轮面试,且mentor主动给了我微信,说基本没有问题,叫我等HR通知。

总结:整体感觉偏随意,题目也比较容易,而且开放式问题居多。
感觉面试官完全就是师兄,很不错hhh。

总结

面试最大的收获:我过多地注重了“术”的层面,应该多说一些“道”上的东西。这或许是初出茅庐的学生都会有的通病,因而我之前从未觉察这一点。想通了,去和导师们对比自己的言行,才深刻体会到确实存在这个问题。没有把宏观架构说明清楚,就急着往微观的算法上钻。
比如他问我项目内容,我不应该直接说项目具体的细节,我应该从更加宏观的层面来说明,比如问题设置、动作空间设计、算法宏观设计等。比如写代码,应该先有更加宏观的注意事项清单、伪代码逻辑,然后再去落笔完成内容。
以后向别人介绍自己内容的时候,要刻意地去重视“道”而不是“术”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邵政道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值