C9 本硕,一篇CCF A 暑期实习
腾讯已拿offer 面经点这里
阿里目前已过一面、二面,三面,四面,在等HR面
字节目前已过一面,二面,三面,在等HR面
阿里部分:
笔试不算很好,两道题做出了一道半。(图相关的题,还没刷,然后GG)
一面(4月22号,50分钟,电话面):
自我介绍 + 论文
面试官很佛,问题基本都是...我有点无语的那种。。
1. 谈谈你对深度强化学习的了解
我先介绍了三大类DRL算法: Value-based、Policy-based、Actor-Critic 内容及特点,然后分别介绍了代表性算法,然后介绍了RL中的探索问题。貌似介绍了挺久,面试官觉得还可以,就问下一个问题了。
2. 谈谈你对CNN的了解
我介绍了CNN的基本框架,还有几种CNN有名的模型(AlexNet、VGG、GoogLeNet、ResNet等)
3. 谈谈你对RNN的了解
我主要介绍了RNN的几种网络结构和LSTM的优缺点 (我对这块不熟悉)
3. 谈谈你对LR的了解
我把LR的定义,解决什么类型问题,流程讲了一遍。
4. 过拟合怎么处理
先解释了一些过拟合的原因(复杂模型拟合了训练集中的抽样误差导致的),然后介绍了不同情况下适用的解决过拟合的方法。
5. 给了我一个广告竞价的场景,让我用强化学习建模
6. 给了我一个淘宝推荐搜索排序的场景,让我用强化学习建模。
第5,6点因为我对推荐/广告竞价背景完全不了解。。所以回答的并不好。。。不过一面面试官还是给过了,然后我狂补了一下推荐/广告的背景
二面(4月24号,40分钟,电话面)
自我介绍 + 论文
没怎么问基础知识,也是给了一个场景问题:双十一红包发放机制,具体就不细说了,然后让我用强化学习建模这个问题。
我先总体说了一下RL建模该问题的总体框架,然后面试官也针对框架里的一些细节问题,让我说了一些解决方法。总体上来说,面试官还是比较满意 (果然狂补了一下推荐/广告背景还是有好处的)
然后就一直在聊天,面试官给我介绍了他们部门目前三大块业务(介绍了10分钟,中间我完全插不上话)。
介绍完后,聊了很多,(聊的时候,我不小心踩了一下tx,因为面试官问我tx offer base哪里,我说深圳,不太想去那,觉得杭州还不错)。
更新:
交叉面(4月30号,40分钟,电话面)
自我介绍 + 论文
1. 计算机网络相关:从输入一个网址,到网页显示内容,介绍一下中间的过程。
2. 大数据,小内存排序:一个包含未排序数字大小为10GB的文件,内存只有500M,想要对这个文件进行排序,怎么做?
3. 逻辑问题:一共100扇门,只有两种状态:开&关,初始状态都为关。进行100次操作,第i 次操作把i及i倍数的门置为相反状态,e.g.: 第一轮就把门全打开,第二轮就把2及2的倍数的门关闭,...,第100轮就把第100扇门置为相反状态。问最后一共多少扇门开着? 我当时思考后回答的是根据1-100每个数因子数量是奇数还是偶数来判断对应门的状态,奇数个因子就是开着, 但是面试官说有一种逻辑可以直接得到答案。。我没想出来,面试官也没告诉我。。后来我code后也没感觉出什么逻辑能直接得到答案。。倒是找到一个类似题目:100展灯,初始状态都为开,一共3次操作,也就是对应之前的2、5、7轮,问最后有多少灯是开的。答案是50,第二轮灭了一半灯,第5轮把5的偶数倍的灯打开了,把5的奇数倍的灯灭了,所以整体亮灭数量没变,第7轮同理。
4. 深度强化学习算法总结
5. 场景建模:抖音场景,增加用户平均使用时长,怎么建模并解决优化该问题。还问了一些关键点。
6. 职业规划:问以后想从事什么方向。
交叉面二面(5月8号,15分钟,电话面)
巨短的四面,哈哈
就自我介绍+论文,让我详细介绍一下自己的工作,中间问了两个论文相关的问题,最后觉得我做的比较扎实,方法比较solid,然后就没了。哈哈
坐等hr面
字节部分:
一面(4月26号,40分钟,视频面试):
自我介绍 + 论文后,两道很简单的算法题(可能我比较幸运, hh)
1. 快排 。
2. 判断链表是否有环,如果有,返回入环节点。
两道题。。感觉花了3分钟就写完了。。
面试官看了一下时间,才20多分钟,然后问了我一些RL的算法问题,让我写了DDPG算法框架,优势函数公式。。然后我问了面试官几个问题。
面完后,面试官让我准备一下,等会二面。。。。结果,等了俩小时了,还没消息。为了释放被鸽的郁闷,遂写了这篇面经,可能对大家帮助不大,看看就好。等后续再继续更新。。
更新:
二面(4月28号, 1小时10分钟,视频面试) 自我介绍 + 论文后,问了强化学习的一些问题,
然后问了机器学习相关的,比如:(1) GBDT和XGBoost的具体实现,以及XGBoost和LightGBM有哪些关键改进。(2) 熵的含义以及计算公式。(3) 模型过拟合原因及解决方法。
还有深度学习相关的,比如:(1) CNN网络结构以及几个比较有名的CNN结构。(2) RNN以及LSTM优缺点。
然后出了一道概率题:A、B两人比赛,每局赢的概率都是50%,A赢两场算获胜,B赢三场算获胜。问A、B胜率各多少?
本来想通过算概率求解的,然后面试官提示用机器学习方法求解,然后瞬间想到决策树,最后答案是A:11/16, B:5/16。(第一局相当于第一层,有两种情况(A赢或B赢),对应两个分支,然后递归把A、B赢的所有分支列出来,列到第4层后,已经可以确定A、B赢的所有可能情况了)
最后做俩道算法题(本次就不幸运了)
1. 给定一个数,返回下一个具有相同数字且比它大的数,比如: 15374 -> 15734、1234 -> 1243、1432 -> 2134。
2. 零钱兑换问题,有1,2,5,10 四种面值,给定N,问有多少种兑换方式。
果然遇到没见过的题就懵逼- -。第一题当时没想到技巧型方法,暴力求解,但是写的程序运行时又有bug,暴风哭泣。花了10几分钟一直在debug。导致做第二题时,一直处于懵逼状态,虽然去年刷题时遇到过,但是没有进行总结,虽然dp公式没问题,但是初始化dp列表出错(应该是dp[0]=1),导致运行结果不对。暴风哭泣。。。被自己菜到了。
最后据我师兄说,面试官反馈是不是特别满意(两道算法题都没ac,其他回答的都挺好),然后安排了三面。
三面(4月30号,50分钟,视频面试)
三面是他们团队上海那边的leader,自我介绍 + 论文后,紧接着一道算法题
1. 判断一个给定字符串是否是叠加字符串(除了前两个数之外,后面的数都是由前面两个数相加得到的),比如: "199100199" 因为 1+99=100, 99+100=199,符合条件返回True,“19910019”不符合,返回False。
这个题我写完后,给面试官讲了思路,面试官觉得没问题,然后面试官让我设计一些测试用例,去测试自己代码,然后我给了几个用例。。发现又个别没通过。。暴风哭泣,然后debug时面试官说,剩下就是一些小问题,没事,后面你再自己debug。
然后就问了强化学习的一些问题,平衡探索与利用的方法。我讲了一些basic methods (UCB、\epsilon greedy、action/parameter noise),和一些deep exploration(intrinsic motivation、count-based、bonus等等),然后面试官问我知不知道汤普森采样,然后让我写一下公式。。。我了解一点,但是公式实在忘了。
据头条师兄说,三面过了,后面是hr面。。
腾讯AI平台部moba游戏组的offer 跟 字节推荐/广告部门的offer 有点犹豫怎么选,有没有大佬分析一下。。我个人是做RL的,我觉得RL在游戏AI和推荐系统的前景都还挺不错的。腾讯的话就是做游戏AI了,阿里和京东用RL做推荐的多一些,字节的话好像很少。
全部评论
(2) 回帖