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

2019 年 4 月 17 日 CVer

点击上方“CVer”,选择加"星标"或“置顶”

重磅干货,第一时间送达

作者:lienus

https://www.nowcoder.com/discuss/175759

本文已授权,未经允许,不得二次转载


基本情况


双非本末流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,找AI算法岗工作不容易。如果你想了解国内各大公司的面试经验、如何内推、学习路线、秋招攻略和Offer如何选择等资料的,欢迎加入2019AI算法岗求职大本营(知识星球)


2019AI算法岗求职群(知识星球)

 

本星球不仅面向今年2020届)找工作的人群(研一/研二/大三等),还面向刚入学或已工作的人群。目前已有超过710+位同学加入星球旨在分享AI算法岗的秋招准备攻略(含刷题)、面试经验和内推机会(含提前批)


希望这个星球可以让你少走一些弯路

扫码进星球


如果喜欢面试经验,麻烦给个在看


麻烦给我一个在看

登录查看更多
0

相关内容

【圣经书】《强化学习导论(2nd)》电子书与代码,548页pdf
专知会员服务
197+阅读 · 2020年5月22日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
【推荐系统/计算广告/机器学习/CTR预估资料汇总】
专知会员服务
86+阅读 · 2019年10月21日
【面经】字节AI Lab-NLP算法热乎面经
深度学习自然语言处理
14+阅读 · 2020年3月29日
面经 | 算法工程师面试题汇总
极市平台
12+阅读 · 2019年10月14日
今日头条广告算法面经!
算法与数据结构
25+阅读 · 2019年5月29日
爱奇艺深度学习算法实习生面经
算法与数据结构
9+阅读 · 2019年5月28日
旷视科技算法研究员面经(21个问答)
算法与数据结构
37+阅读 · 2019年5月8日
19年腾讯、阿里、网易等各大厂实习生薪资曝光!
互联网架构师
9+阅读 · 2019年5月5日
春招已近,送你一份ML算法面试大全!
机器学习算法与Python学习
10+阅读 · 2019年2月22日
Machine Learning:十大机器学习算法
开源中国
19+阅读 · 2018年3月1日
机器学习/算法19家公司面试总结(内含薪资)
深度学习世界
12+阅读 · 2017年11月14日
机器学习(7)之感知机python实现
机器学习算法与Python学习
4+阅读 · 2017年7月23日
Learning Blind Video Temporal Consistency
Arxiv
3+阅读 · 2018年8月1日
Arxiv
5+阅读 · 2018年5月28日
VIP会员
相关资讯
【面经】字节AI Lab-NLP算法热乎面经
深度学习自然语言处理
14+阅读 · 2020年3月29日
面经 | 算法工程师面试题汇总
极市平台
12+阅读 · 2019年10月14日
今日头条广告算法面经!
算法与数据结构
25+阅读 · 2019年5月29日
爱奇艺深度学习算法实习生面经
算法与数据结构
9+阅读 · 2019年5月28日
旷视科技算法研究员面经(21个问答)
算法与数据结构
37+阅读 · 2019年5月8日
19年腾讯、阿里、网易等各大厂实习生薪资曝光!
互联网架构师
9+阅读 · 2019年5月5日
春招已近,送你一份ML算法面试大全!
机器学习算法与Python学习
10+阅读 · 2019年2月22日
Machine Learning:十大机器学习算法
开源中国
19+阅读 · 2018年3月1日
机器学习/算法19家公司面试总结(内含薪资)
深度学习世界
12+阅读 · 2017年11月14日
机器学习(7)之感知机python实现
机器学习算法与Python学习
4+阅读 · 2017年7月23日
Top
微信扫码咨询专知VIP会员