阿里腾讯虎牙机器学习算法面经

说起来也算牛客网上的一个老油条了,15年12月遇上牛客就喜欢上了它,这里的人个个都是人才,说话又好听,超喜欢这里的。。。

基本情况

双非本末流985硕,熟练语言C/C++、python,研究方向深度学习、强化学习,有一篇正在大修的SCI论文,一个受理专利的项目,有ACM算法竞赛获奖经历和数据挖掘竞赛打酱油经历,春招实习主要投了阿里腾讯头条微软虎牙网易,目前有面试机会的只有阿里腾讯虎牙。

阿里

寒假在家无聊入坑王者,最后一发不可收拾,本来打算在寒假准备春招复习基础知识的事忘得一干二净。二月底回学校后一直觉得准备不足不敢投,直到3月15号写好简历找实验室师兄内推了蚂蚁金服,个人感觉阿里每年实习生招得比较少又在杭州,拿它试试手,积累经验为腾讯做准备挺好的(最后真香警告)。18号师兄说简历评估不错,问他具体不能说,19号中午接到一面面试官预约电话。

一面(3月20号晚上)

60分钟左右,聊得最开心的一位面试官,感觉二面没有挂掉应该是他给的评价比较好吧。

  • 谈一下论文主要思想
  • 介绍论文里不平衡分类马尔科夫决策过程的状态、动作、回报函数设计以及状态转移过程
  • 针对状态转移的有效性、合理性和严谨性讨论了很久
  • 讨论强化学习解决分类问题和监督学习下的神经网通分类器的异同
  • 谈谈传统不平衡分类算法(上采样、下采样、混合采样、代价敏感矩阵、调整分类器阈值)以及最新深度学习不平衡分类算法
  • 分析论文所提算法对比其他方法的优劣点
  • 谈一下外汇自动交易项目的主要工作
  • 介绍外汇自动交易项目里马尔科夫决策过程的状态、动作、回报函数设计以及状态转移过程
  • Q-网络的结构如何设计
  • LSTM和CNN提取时序价格数据特征的异同点
  • 模型性能如何评价
  • 在真正外汇环境里算法表现得怎么样(训练数据上效果很好,在未知的现实数据中还是难以捕捉市场规律)
  • 讲一下DQN算法以及几种改进版本(Rainbow
  • DQN算法与策略梯度算法的差别
  • REINFORCE算法存在问题,如何改进
  • Actor-Critic算法实现的细节
  • PPO算法的思想及其损失函数
  • on-policy与off-policy的区别

最后一道简单编程题结束,在旋转数组(5 5 6 7 1 2 3 4 4)中查找一个数(log N),几分钟写完后问了一下他所在的部门,实习生主要的工作,base杭州和深圳的区别,总共几面(他说如果表现得不错二面后就直接HR面,可惜后来还是增加了三面以及一个交叉面,说明天二面面试官应该会联系我,然后就等了5天。。。)

二面(3月26号晚上)

25号中午终于接到二面电话,然后面试预约在26号晚上,二面面试官气场很不一样,感觉是个高管,但是面试体验十分不好。
面试官:自我介绍一下
我:巴拉巴拉一堆介绍完毕后
面试官:嗯,讲一下论文
我:巴拉巴拉半天,他一句话都不说,说完后
面试官:嗯,继续说一下项目
我:巴拉巴拉半天,他还是一句话都不说,中间有点憋不住了
面试官:没事,你接着说
我:黑人问号???只能继续各种胡乱瞎扯
面试官:讲一下最近看得论文
我:又是巴拉巴拉一堆
面试官:讲一下DQN算法与策略梯度算法
我:继续扯呀扯
面试官:动作空间变大时DQN算法有什么缺点,策略梯度又是怎么处理?

最后差不多一个将讲了20多分钟后面试官就说:“今天我们就聊到这,你有什么要问我吗?可能后面还会有人跟你继续联系”。。。问了一下他们部门的业务,强化学习应用于推荐营销金融等(还好匹配度还可以,否则真挂了),又问了一下总共几面:后面还有一轮技术面,过了HR面。。。最后问了一下没有编程题吗?感觉表现不太好,想秒一下编程题,然后他说没有就结束了通话。

三面(3月28号晚上)

本来二面感觉有点凉凉了,没想到三面这么快就打了过来,直接问现在有时间面试不?我说要不等我20分钟,我回宿舍准备一下,他接着说看了一下你的简历以及博客(本科打ACM时在上面胡乱地写了很多题解),在线编程不用考察了,你如果在路上也可以的,然后就这样开始了三面。。。
面试官:你在学校主要用强化学习做什么的?
我:介绍了一下论文,中间穿插讲了下几种强化学习算法的对比,讲了一下不平衡分类马尔科夫过程模拟环境的构建细节
面试官:论文是一作不,这个idea是借鉴了别人还是完全自己想出来
我:解释了一下,然后谈了一下论文目前的情况,继续跟它讨论了一下如何衡量模型好坏(平均episode reward、平均episode length等),中间他询问了一下AUC、PRC、G-MEAN、F-MEASURE等评价指标的差异
面试官:介绍一下外汇自动交易项目,谈一下真实环境中强化学习应该如何去评估策略,回报函数怎么设计
我:巴拉巴拉一堆,又扯到策略梯度算法、AC算法、PPO算法等等
最后问了一下有了解多智能体的学习不?在学校可以多关注一下强化学习最前沿的一些算法,你有什么要问的不?又问了一下具体的业务,然后这个面试官很nice,很详细地介绍了他们部门主要研究的几个方向以及正在做的业务(起码介绍了4分钟),惯例地又问了总共几面,他说还有一两轮技术面,加上HR面还有两到三轮面试,吐槽一下好多面,然后面试官人很好地解释:阿里实习生基本按照正式员工标准去招人,转正率很高,他们是严进严出,而腾讯一般三轮面试,宽进宽出招几千人但是转正率不高。。。最后问了下想base广州深圳还是杭州,说最好去杭州。还说我们学校还是有挺多校友在杭州阿里(哈哈,感觉还是腾讯比较多,广东人一般不想出省)

四面交叉面(4月2号中午)

又是等了四五天,4月2号吃完午饭后接到了四面电话,然后面试官给我10分钟找个安静的环境他再打过来,匆匆忙忙跑到一个实验楼背面,等待着最后一轮技术面。
再次打过来时面试官介绍了一下他是其他部门的,这一面不会占用很长时间,就简单聊聊,问一下前几面感觉怎么样,又开始聊论文聊项目,然后问了一下importance sampling,on policy和off policy的区别,说一下两者比较经典的算法,然后又开始扯强化学习的几种算法。。。最后吐槽一下几乎没有编程题,然后就随便问了道题结束这轮面试,寻找数组前k大,如果数据太多内存无法读取时又如何处理。然后问了我一下:如果过去做的与强化学习不是那么相关能接受不,这时黑人问号?只能硬着头皮说常用机器学习深度学习算法都掌握,但最熟悉的是强化学习,最后他补了句应该是做强化学习相关的。。。惯例问:还有几面,说只剩最后hr面了,应该这两天很快就打过来了。。。
我信你个鬼,你个糟老头子坏得很。。。果然,清明前一天看到不少人收到offer,还是没有接到hr电话,那三天等得有点急,只能打开王者坑人去。。。

HR面(4月8号早上)

清明节结束后的第一天早上九点,迷迷糊糊地被一个电话吵醒,看到是支付宝,立马坐了起来,HR小姐姐问了下方便接电话嘛,我还是有点不清醒(昨晚跟本科舍友王者开黑到两点多才睡),只能说我还在床上,小姐姐很善解人意地说:哦,那我半个小时后再打过来。重复说着理解理解,然后忍不住地哈哈笑了起来。尴尬的我只能感叹HR小姐姐也太敬业了吧,这才九点钟啊。。。HR面就很轻松,最后只面了15分钟。

  1. 看了下你面试流程还挺长的,感觉前几面怎么样?
  2. 广东哪里人?家里情况?
  3. 除了投了蚂蚁还投了哪里?最后最想去哪里(必须拍着胸膛说:阿里实习生招得最少,容易转正,我眼中只有阿里)
  4. 职业规划
  5. 介绍一下你最熟悉的一个项目
  6. 问了一下强化学习主要用来做什么的?
  7. 在这方面研究了多久?感觉怎么样?
  8. 实习时间,想base在哪里

然后问了下多久能够知道结果,大概一两周内通知结果,最后问了一下我最终的评级,小姐姐好像不太喜欢回答这个问题,最后犹豫了下说应该是A吧。。。(希望HR小姐姐别骗我,感觉面试期间问这个问题不太好,后来听别人说确实是这样的,应该加微信再说)

面试阿里最大的感受是:运气太他么重要了,大佬们太牛逼了,不少手握三四篇论文的,如果不是个人研究方向跟面试官那边比较匹配的话,还有做强化学习的人不多的话,可能早挂了。

腾讯

可能阿里那边运气有点好,所以这边运气有点背,3月20号找本科ACM校队world final师兄内推了微信,然后简历一直被锁着,从未发起面试。。。本科16年那时弱成狗都有两次面试机会,当时校队一位大佬(15年拿了三块ACM区域金)连挂了两个部门最后第三个部门才面进去,如今没有面试机会只能说算法岗竞争太激烈了。

提前批结束后简历被释放,4月3号被CDG捞起来,约了第二天晚上面试,顺便解释了一下这个不是提前批,如果在正式批前面完并且通过的话就不用参加正式批了,否则继续参加正式批。。。

一面(4月4号晚上)

当天早上面试官加了我微信,然后我们的面试用微信语音进行,开始前发了一个链接过来在线写代码。先写合并两个有序数组,接着写合并n个有序的数组,假设总共m个数,讲了一个思路两两合并直到只剩下一个数组,分析一下时间复杂度(MlogN),面试官不满意,然后想了一下说了另一个思路,用n个指针开始指向各个数组的首端,用一个优先队列维护他们的最小值,每次拿出最小值的指针然后插入该指针的下一个值。他又问了一下优先队列什么实现的?堆。那好自己实现一个堆写完这道题。最后发现时间复杂度还是 MlogN。

  • 问了一下word2vector和glove的区别
  • 问了word2vector的实现细节
  • 讲一下层次softmax和负采样
  • 我说负采样好像一般采取10-20个负样本(问为啥不清楚)
  • 层次softmax为啥用哈夫曼树
  • 层次softmax与直接softmax在原理上等价不(不太懂这个)
  • 谈一下论文
  • 说一下AUC含义以及如何计算
  • AUC和PRC的异同点,适用场景
  • 了解AutoML不,自动调参的问题

感觉方向不太符合,强化学习几乎不问,聊了40多分钟。最后提问环节问了下他们部门业务,广告CTR点击之类的,面试结束后打开王者发现他也刚上线,差点忍不住邀他来一局,最后觉得自己太坑还是算了。。。

二面(4月8号下午)

7号晚上笔试时接到了第二天下午的面试预约,感谢一面面试官不斩之恩。

  • 自我介绍一下
  • 聊了一下本科ACM经历
  • 谈谈本科成绩谈谈人生谈谈理想
  • 感觉前面扯得时间有点多,面试官说既然这样我们节省点时间,在线编程就不用了(这也行。。。)
  • xgboost与gbdt的区别
  • 介绍一下文本分类的几种算法,模型网络架构参数细节都问了一下
  • 说一下同时使用word2vector和glove的原因
  • 谈一下attention
  • 了解bert嘛,说一下

感觉跟二面面试官聊得还是挺开心的,他详细地介绍了他们部门所做的业务,然后问了一下什么时候能来实现,我说只能暑假七八两个月,他觉得有点晚,这样子不利于转正,有些人都实习半年的,回去讨论一下,正式批之前给我答复。。。最后还说了一句其实阿里也不错。。。

虎牙

虎牙都是现场面的,不太记得了面试题了,错过虎牙3月26号的笔试,27号投的简历,28号收到面试通知。

一面(3月30号下午)

虎牙那天统一在大学城雅乐轩酒店面试,感觉没有参加笔试然后面试被安排在最后一批,下午6点才面试,面试官面试了一天都有点不耐烦了,匆匆面了25分钟。一面印象中就针对论文马尔科夫过程讨论了很久,介绍了不平衡分类模拟环境的构建细节,然后又讨论了项目的外汇自动交易模拟环境的细节,Q-网络架构设计等。。。一面结束后让我出去等一下,然后问了一下工作人员说二面面试官还有两个***,太晚了就让我回去下周再到他们公司面试。

二面(4月3号早上)

3号早上十点多到达他们公司,等了十五分钟左右就开始了二面。主要问了一些基础问题。

  • 自我介绍
  • 了解什么分类器,选一个熟悉的介绍一下
  • 然后问了一些SVM常见面试题
  • 什么情况下使用朴素贝叶斯
  • 聚类算法了解不
  • 说一下k-means、EM算法以及它们的联系
  • xgboost的原理,什么场景不适用
  • 推荐系统了解不,介绍下
  • 强化学习如何运用于推荐系统
  • 动作、状态、回报函数怎么设计
  • 直播如何根据弹幕给主播自动打标签
  • 如何删除不良弹幕
  • 最后我说本科C语言课程考试满分就问了几个基础的C语言问题

提问环节问了一下他们所在的部门,所做的业务,然后就出去等待HR面。

HR面(4月3号早上)

二面结束后,等了20多分钟就接着HR面,HR面都是随便谈谈

  • 几分钟自我介绍一下
  • 优缺点,用一些事实证明一下
  • 论文一作不,讲一下
  • 兴趣爱好
  • 目前有其他offer不
  • 实习时间

总结

微软感觉笔试挂了,网易游戏目前行情不太好,不管它了。宇宙条果然是宇宙条,真的是一面难求,春招刚开始招聘信息发得最多也是他们,然而投了一直杳无音信。只能等过几天的笔试了,最后应该就面一下头条,如果没有全挂就结束春招了。

还没有offer的同学也别慌,三月只是各个公司的提前批面试,四月正式批还是有不少名额的,加上各种大佬拒offer后会腾出不少坑位。在着急等待时不如多刷几道题增大之后面试通过的概率。

本科那时我也是各种心态爆炸,当年为了准备C++后台开发,刷了《C++ prime》、《深度探索C++对象模型》、《effective C++》、《STL源码分析》、《C++模板元编程》等,不过简历上一个项目经验都没有,屡屡碰壁。不过,现在准备C++后台开发并且没有项目的同学,可以试试用心准备一下这两个项目(第一个项目里面点开测试页有惊喜):A C++ High Performance Web ServerTinySTL
反正我都打算如果春招找不到大厂实习offer,果断投入C++后台开发的怀抱。。。哈哈

最后提点小建议:感觉笔试编程题总是不过的同学,刷题时不要过于依赖看别人的代码,一定要先思考,思考不出再看一下别人思路,然后尝试自己实现出来,直接看别人的代码往往容易忽视掉一些小细节,例如边界条件,初始化等等,最后导致即使思路正确也可能不通过。

#阿里巴巴##腾讯##蚂蚁集团##机器学习##面经##虎牙直播#
全部评论
大佬失敬,秋招向你学习!
点赞 回复 分享
发布于 2019-04-10 16:03
恭喜大佬
点赞 回复 分享
发布于 2019-04-10 16:10
膜拜大佬
点赞 回复 分享
发布于 2019-04-10 16:14
大佬,向你学习
点赞 回复 分享
发布于 2019-04-10 18:55
编程题刷了多长时间啊?牛客还是领扣啊?好厉害👍
点赞 回复 分享
发布于 2019-04-10 22:47
点赞 回复 分享
发布于 2019-04-11 09:29
老哥拿到offer了吗
点赞 回复 分享
发布于 2019-04-20 22:26
C++小硕感觉没有项目好虚,面试都不能吹逼。 感谢楼主提的建议,准备先按照楼主建议去做两个项目直接准备秋招。 祝好。
点赞 回复 分享
发布于 2019-04-22 14:45
给校友点波赞
点赞 回复 分享
发布于 2019-04-26 00:17
大佬做不平衡的吗,可以交流一下吗😂
点赞 回复 分享
发布于 2019-06-21 19:38
小建议很好
点赞 回复 分享
发布于 2019-06-22 14:35
大佬觉得研究方向选多智能体强化学习怎么样?感觉现在的研究都偏理论,应用太少。
点赞 回复 分享
发布于 2019-07-15 08:21
大佬可以加qq交流一下嘛  本科也是acm经历有获奖 现在读研究生***  qq1228852742  想了解下本科竞赛等到硕士毕业是否还有加成
点赞 回复 分享
发布于 2019-07-16 19:31

相关推荐

11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
评论
36
378
分享
牛客网
牛客企业服务