点击上方“CVer”,选择加"星标"或“置顶”
重磅干货,第一时间送达
作者:lienus
https://www.nowcoder.com/discuss/175759
本文已授权,未经允许,不得二次转载
双非本末流985硕,熟练语言C/C++、python,研究方向深度学习、强化学习,有一篇正在大修的SCI论文,一个受理专利的项目,有ACM算法竞赛获奖经历和数据挖掘竞赛打酱油经历,春招实习主要投了阿里腾讯头条微软虎牙网易,目前有面试机会的只有阿里/腾讯/虎牙。
寒假在家无聊入坑王者,最后一发不可收拾,本来打算在寒假准备春招复习基础知识的事忘得一干二净。二月底回学校后一直觉得准备不足不敢投,直到3月15号写好简历找实验室师兄内推了蚂蚁金服,个人感觉阿里每年实习生招得比较少又在杭州,拿它试试手,积累经验为腾讯做准备挺好的(最后真香警告)。18号师兄说简历评估不错,问他具体不能说,19号中午接到一面面试官预约电话。
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天。。。)
25号中午终于接到二面电话,然后面试预约在26号晚上,二面面试官气场很不一样,感觉是个高管,但是面试体验十分不好。
面试官:自我介绍一下
我:巴拉巴拉一堆介绍完毕后
面试官:嗯,讲一下论文
我:巴拉巴拉半天,他一句话都不说,说完后
面试官:嗯,继续说一下项目
我:巴拉巴拉半天,他还是一句话都不说,中间有点憋不住了
面试官:没事,你接着说
我:黑人问号???只能继续各种胡乱瞎扯
面试官:讲一下最近看得论文
我:又是巴拉巴拉一堆
面试官:讲一下DQN算法与策略梯度算法
我:继续扯呀扯
面试官:动作空间变大时DQN算法有什么缺点,策略梯度又是怎么处理?
最后差不多一个将讲了20多分钟后面试官就说:“今天我们就聊到这,你有什么要问我吗?可能后面还会有人跟你继续联系”。。。问了一下他们部门的业务,强化学习应用于推荐营销金融等(还好匹配度还可以,否则真挂了),又问了一下总共几面:后面还有一轮技术面,过了HR面。。。最后问了一下没有编程题吗?感觉表现不太好,想秒一下编程题,然后他说没有就结束了通话。
本来二面感觉有点凉凉了,没想到三面这么快就打了过来,直接问现在有时间面试不?我说要不等我20分钟,我回宿舍准备一下,他接着说看了一下你的简历以及博客(本科打ACM时在上面胡乱地写了很多题解),在线编程不用考察了,你如果在路上也可以的,然后就这样开始了三面。。。
面试官:你在学校主要用强化学习做什么的?
我:介绍了一下论文,中间穿插讲了下几种强化学习算法的对比,讲了一下不平衡分类马尔科夫过程模拟环境的构建细节
面试官:论文是一作不,这个idea是借鉴了别人还是完全自己想出来
我:解释了一下,然后谈了一下论文目前的情况,继续跟它讨论了一下如何衡量模型好坏(平均episode reward、平均episode length等),中间他询问了一下AUC、PRC、G-MEAN、F-MEASURE等评价指标的差异
面试官:介绍一下外汇自动交易项目,谈一下真实环境中强化学习应该如何去评估策略,回报函数怎么设计
我:巴拉巴拉一堆,又扯到策略梯度算法、AC算法、PPO算法等等
最后问了一下有了解多智能体的学习不?在学校可以多关注一下强化学习最前沿的一些算法,你有什么要问的不?又问了一下具体的业务,然后这个面试官很nice,很详细地介绍了他们部门主要研究的几个方向以及正在做的业务(起码介绍了4分钟),惯例地又问了总共几面,他说还有一两轮技术面,加上HR面还有两到三轮面试,吐槽一下好多面,然后面试官人很好地解释:阿里实习生基本按照正式员工标准去招人,转正率很高,他们是严进严出,而腾讯一般三轮面试,宽进宽出招几千人但是转正率不高。。。最后问了下想base广州深圳还是杭州,说最好去杭州。还说我们学校还是有挺多校友在杭州阿里(哈哈,感觉还是腾讯比较多,广东人一般不想出省)
又是等了四五天,4月2号吃完午饭后接到了四面电话,然后面试官给我10分钟找个安静的环境他再打过来,匆匆忙忙跑到一个实验楼背面,等待着最后一轮技术面。
再次打过来时面试官介绍了一下他是其他部门的,这一面不会占用很长时间,就简单聊聊,问一下前几面感觉怎么样,又开始聊论文聊项目,然后问了一下importance sampling,on policy和off policy的区别,说一下两者比较经典的算法,然后又开始扯强化学习的几种算法。。。最后吐槽一下几乎没有编程题,然后就随便问了道题结束这轮面试,寻找数组前k大,如果数据太多内存无法读取时又如何处理。然后问了我一下:如果过去做的与强化学习不是那么相关能接受不,这时黑人问号?只能硬着头皮说常用机器学习深度学习算法都掌握,但最熟悉的是强化学习,最后他补了句应该是做强化学习相关的。。。惯例问:还有几面,说只剩最后hr面了,应该这两天很快就打过来了。。。
我信你个鬼,你个糟老头子坏得很。。。果然,清明前一天看到不少人收到offer,还是没有接到hr电话,那三天等得有点急,只能打开王者坑人去。。。
清明节结束后的第一天早上九点,迷迷糊糊地被一个电话吵醒,看到是支付宝,立马坐了起来,HR小姐姐问了下方便接电话嘛,我还是有点不清醒(昨晚跟本科舍友王者开黑到两点多才睡),只能说我还在床上,小姐姐很善解人意地说:哦,那我半个小时后再打过来。重复说着理解理解,然后忍不住地哈哈笑了起来。尴尬的我只能感叹HR小姐姐也太敬业了吧,这才九点钟啊。。。HR面就很轻松,最后只面了15分钟。
看了下你面试流程还挺长的,感觉前几面怎么样?
广东哪里人?家里情况?
除了投了蚂蚁还投了哪里?最后最想去哪里(必须拍着胸膛说:阿里实习生招得最少,容易转正,我眼中只有阿里)
职业规划
介绍一下你最熟悉的一个项目
问了一下强化学习主要用来做什么的?
在这方面研究了多久?感觉怎么样?
实习时间,想base在哪里
然后问了下多久能够知道结果,大概一两周内通知结果,最后问了一下我最终的评级,小姐姐好像不太喜欢回答这个问题,最后犹豫了下说应该是A吧。。。(希望HR小姐姐别骗我,感觉面试期间问这个问题不太好,后来听别人说确实是这样的,应该加微信再说)
面试阿里最大的感受是:运气太他么重要了,大佬们太牛逼了,不少手握三四篇论文的,如果不是个人研究方向跟面试官那边比较匹配的话,还有做强化学习的人不多的话,可能早挂了。
可能阿里那边运气有点好,所以这边运气有点背,3月20号找本科ACM校队world final师兄内推了微信,然后简历一直被锁着,从未发起面试。。。本科16年那时弱成狗都有两次面试机会,当时校队一位大佬(15年拿了三块ACM区域金)连挂了两个部门最后第三个部门才面进去,如今没有面试机会只能说算法岗竞争太激烈了。
提前批结束后简历被释放,4月3号被CDG捞起来,约了第二天晚上面试,顺便解释了一下这个不是提前批,如果在正式批前面完并且通过的话就不用参加正式批了,否则继续参加正式批。。。
当天早上面试官加了我微信,然后我们的面试用微信语音进行,开始前发了一个链接过来在线写代码。先写合并两个有序数组,接着写合并n个有序的数组,假设总共m个数,讲了一个思路两两合并直到只剩下一个数组,分析一下时间复杂度(MlogN),面试官不满意,然后想了一下说了另一个思路,用n个指针开始指向各个数组的首端,用一个优先队列维护他们的最小值,每次拿出最小值的指针然后插入该指针的下一个值。他又问了一下优先队列什么实现的?堆。那好自己实现一个堆写完这道题。最后发现时间复杂度还是 MlogN。
问了一下word2vector和glove的区别
问了word2vector的实现细节
讲一下层次softmax和负采样
我说负采样好像一般采取10-20个负样本(问为啥不清楚)
层次softmax为啥用哈夫曼树
层次softmax与直接softmax在原理上等价不(不太懂这个)
谈一下论文
说一下AUC含义以及如何计算
AUC和PRC的异同点,适用场景
了解AutoML不,自动调参的问题
感觉方向不太符合,强化学习几乎不问,聊了40多分钟。最后提问环节问了下他们部门业务,广告CTR点击之类的,面试结束后打开王者发现他也刚上线,差点忍不住邀他来一局,最后觉得自己太坑还是算了。。。
7号晚上笔试时接到了第二天下午的面试预约,感谢一面面试官不斩之恩。
自我介绍一下
聊了一下本科ACM经历
谈谈本科成绩谈谈人生谈谈理想
感觉前面扯得时间有点多,面试官说既然这样我们节省点时间,在线编程就不用了(这也行。。。)
xgboost与gbdt的区别
介绍一下文本分类的几种算法,模型网络架构参数细节都问了一下
说一下同时使用word2vector和glove的原因
谈一下attention
了解bert嘛,说一下
感觉跟二面面试官聊得还是挺开心的,他详细地介绍了他们部门所做的业务,然后问了一下什么时候能来实现,我说只能暑假七八两个月,他觉得有点晚,这样子不利于转正,有些人都实习半年的,回去讨论一下,正式批之前给我答复。。。最后还说了一句其实阿里也不错。。。
虎牙都是现场面的,不太记得了面试题了,错过虎牙3月26号的笔试,27号投的简历,28号收到面试通知。
虎牙那天统一在大学城雅乐轩酒店面试,感觉没有参加笔试然后面试被安排在最后一批,下午6点才面试,面试官面试了一天都有点不耐烦了,匆匆面了25分钟。一面印象中就针对论文马尔科夫过程讨论了很久,介绍了不平衡分类模拟环境的构建细节,然后又讨论了项目的外汇自动交易模拟环境的细节,Q-网络架构设计等。。。一面结束后让我出去等一下,然后问了一下工作人员说二面面试官还有两个候选人,太晚了就让我回去下周再到他们公司面试。
3号早上十点多到达他们公司,等了十五分钟左右就开始了二面。主要问了一些基础问题。
自我介绍
了解什么分类器,选一个熟悉的介绍一下
然后问了一些SVM常见面试题
什么情况下使用朴素贝叶斯
聚类算法了解不
说一下k-means、EM算法以及它们的联系
xgboost的原理,什么场景不适用
推荐系统了解不,介绍下
强化学习如何运用于推荐系统
动作、状态、回报函数怎么设计
直播如何根据弹幕给主播自动打标签
如何删除不良弹幕
最后我说本科C语言课程考试满分就问了几个基础的C语言问题
提问环节问了一下他们所在的部门,所做的业务,然后就出去等待HR面。
二面结束后,等了20多分钟就接着HR面,HR面都是随便谈谈
几分钟自我介绍一下
优缺点,用一些事实证明一下
论文一作不,讲一下
兴趣爱好
目前有其他offer不
实习时间
微软感觉笔试挂了,网易游戏目前行情不太好,不管它了。宇宙条果然是宇宙条,真的是一面难求,春招刚开始招聘信息发得最多也是他们,然而投了一直杳无音信。只能等过几天的笔试了,最后应该就面一下头条,如果没有全挂就结束春招了。
还没有offer的同学也别慌,三月只是各个公司的提前批面试,四月正式批还是有不少名额的,加上各种大佬拒offer后会腾出不少坑位。在着急等待时不如多刷几道题增大之后面试通过的概率。
本科那时我也是各种心态爆炸,当年为了准备C++后台开发,刷了《C++ prime》、《深度探索C++对象模型》、《effective C++》、《STL源码分析》、《C++模板元编程》等,不过简历上一个项目经验都没有,屡屡碰壁。不过,现在准备C++后台开发并且没有项目的同学,可以试试用心准备一下这两个项目(第一个项目里面点开测试页有惊喜):A C++ High Performance Web Server、TinySTL
反正我都打算如果春招找不到大厂实习offer,果断投入C++后台开发的怀抱。。。哈哈
最后提点小建议:感觉笔试编程题总是不过的同学,刷题时不要过于依赖看别人的代码,一定要先思考,思考不出再看一下别人思路,然后尝试自己实现出来,直接看别人的代码往往容易忽视掉一些小细节,例如边界条件,初始化等等,最后导致即使思路正确也可能不通过。
2019,找AI算法岗工作不容易。如果你想了解国内各大公司的面试经验、如何内推、学习路线、秋招攻略和Offer如何选择等资料的,欢迎加入2019AI算法岗求职大本营(知识星球)。
本星球不仅面向今年(2020届)找工作的人群(研一/研二/大三等),还面向刚入学或已工作的人群。目前已有超过710+位同学加入。星球旨在分享AI算法岗的秋招准备攻略(含刷题)、面试经验和内推机会(含提前批)等。
希望这个星球可以让你少走一些弯路
扫码进星球
如果喜欢面试经验,麻烦给个在看
麻烦给我一个在看!