luxin 2019-02-24
又到毕业招聘季,新鲜的面经出炉啦!本文收录了魔镜杯风控算法组铜奖团队成员周耀的校招经历,可供学习~
参赛作品及过往采访请见:
作者说
这个岗位叫法很多,算法岗,数据挖掘岗,机器学习岗,基础研究等等……
下面总结一下从16年3月开始到9月底这半年的面试情况
1 : 百度
实习生面试
朋友帮我内推了,推了很多岗位,蛋疼,最开始的是个搞分布式平台的岗位,后面的岗位就不再接受简历
1面要写代码,题目是输入根节点和两个子节点,找到最小公共父节点,2叉树只有孩子节点
后面问了一些算法优化问题,理论差,不太懂。。
2面还要写代码,写一个栈,添加一个接口,返回当前栈最小值,要求时空都为O(1)
聊的有点久,1小时40分钟,问了一些算法问题,简历上东西
因为岗位不对口的问题,没有继续下去
校招面试
师姐给我内推的,一面聊了2个半小时,写了很多代码
用MapReduce写好友推荐,在一堆单词里面找出现次数最多的k个
其他代码题基本都能在剑指offer和微软面试100题上找到,题目已经忘了
后面又聊了比赛和项目
二面基本都在问hadoop,数据结构与算法
又聊了1个半小时,hadoop原理,shuffle如何排序,map如何切割数据,如何处理数据倾斜,join的mr代码如何写
动态规划,树结构,链表结构等等
三面应该是部门老大面的,问了很多性格方面的问题,还有些比赛和项目中遇到的问题
只聊了半个小时,要了身份证,说后面会安排笔试
后来笔试通过了,也就顺利的拿到了百度offer
2 : 腾讯
第一次内推是3月的时候招实习生,师兄帮我内推了,简历评级是A,但是还是要笔试,还好学校有个TST内推,过了就不用笔试
面了1面就跪了,因为没复习,问的都知道,说不上来……
第二次是5月的时候补招,推到一个安全部门,面了2面就跪了,问了SVM原理,PageRank原理,怎么用模型来查找异常用户
我讲了一大堆我的理解,然后面试官一句你怎么不用规则把我噎到了……
第三次是校招TST内推,面过了2面,还是跟之前那个有点类似的游戏开发的安全部门,因为我也玩LOL,又问到怎么来判断玩家有没有作弊之类的问题,这次我小心翼翼的说用模型怎么做,用规则怎么做,感觉这次聊的都挺开心的。
三面电话打来的时候我在公交车上,没接到,打回去是总机……再后来状态就变成了面试流程放弃……
到了正式校招的时候,参加了笔试,顺利通过
心想这次再跪就是4连跪啊……
去西安的路上就抱着李航的统计学习一直看看看看
晚上到了宾馆就在草稿纸上推公式
然后一面的时候,果然面试官叫我推公式,LR,SVM,XGBOOST说推就推给你看
然后在纸上手写了些代码,聊了些比赛和项目,估计面试官惊呆了吧,总之聊的比较开心
面试官发现我是重庆来的,就在简历上注明了优先安排面试,然后又问我期望工作城市,我说成都吧,然后又加一句,优先安排成都岗位……
二面的时候感觉没咋聊好,问的问题都答的不太好
先是叫我用C语言写内存拷贝……这早就忘光了好吧,拿着笔很尴尬的说我不会,但是应该有安全性问题需要考虑下……
然后又问了动态规划,还有些剑指offer上常见的题目,有的答上来,有的说见过但是忘记了
后面又问了hadoop,spark,storm下面的产品,原理,适用场景,也只答上来一部分,spark和strom根本就没用过,瞎扯了一通
然后又开始聊项目和比赛……估计是上一个面试官评价比较好的原因吧,2面就这么过了
HR面的时候一进去就惊呆了,尼玛HR长这么好看……
搞得我都有点害羞了,
然后就随便瞎扯了一些东西,问比赛和项目里遇到过的困难,问了自己的优势,我说认识很多大神算不算……
还问了我拿到了哪些公司offer,我说有百度的,还有一个创业公司的,创业公司开的比较高,然后她就问有多高,我说你可能不会信,税后20*14+包吃包住,公司对面的公寓,单间5k。
接着问了对意向的公司的一个排序是什么,这时候当然得跪舔腾讯了……
又问了期望待遇,我知道这个问题一般不要瞎扯,问了下腾讯的薪资结构,福利,住房补贴等等,后面HR问我了解过MIG吗,我说不太了解,就给了我这个册子叫我带回去看看……
其他问题也忘了,后面说可能有个视频面试,也不知道啥意思……
然后说是9月28之前出结果,过与没过都能在微信上查到。
9月27号上午,我正在蹲坑,打电话过来跟我说过了,批发价……
考虑了一整天,决定去腾讯搬人生第一块转……
3 : 阿里
实习生面试
2面之后跪了被扔给其他部门重新一面
一面聊了挺多,让我把一个完整的数据挖掘流程讲一下,从预处理,特征工程,到模型融合。
介绍常用的算法,gbdt和xgboost区别,具体怎么做预处理,特征工程,模型融合常用方式,融合一定会提升吗?
2面不太好,问了怎么在2G内存里找100TB数据的中位数,还有怎么解决mapreduce数据倾斜,经常用什么语言工具开发
然后答的不好被刷掉了,简历被扔到菜鸟网络,重新开始一面
一面还是问简历的东西,二面应该是总监级的人物吧,天池比赛的菜鸟网络就是他出题。
二面问了我的研究方向,怎么把研究内容应用到实际中,还做了其他哪些研究。
不知道为啥,没有3面,直接HR面了。
3月31号是最后一次面试,直到4月21号才HR面
问我对菜鸟网络的了解,我说不太了解。。最近的项目,在比赛中的角色,自己的短板,职业规划,期望工作地点,是保研的还是考研的
我说以后想创业,果然没过多久就已回绝,自己太天真了,应该跪舔的,比如说期望在3年内成为技术骨干,为阿里贡献自己的绵薄之力之类的
校招面试
本来我有比赛top10可以直接终面的,但是朋友告诉我直接终面评价最多只能到B+,今年招人只要A以上
然后我就叫朋友帮我内推
1面已经忘了问了些啥,反正就是那些
机器学习里面的东西,数据结构算法,比赛,项目
2面是辽原,应该是蚂蚁金服AI部门老大吧
问了如何在海量数据中查找给定部分数据最相似的top200向量,向量的维度也很高
因为之前了解过其他面蚂蚁金服的朋友,也有问到这个题目的
所以反应比较快,直接就说可以用KD树,聚类,hash
然后又问怎么衡量两个商品的性价比,这个题目以前阿里星面试的时候也被问过,就随便扯了下
后面问了些比赛和项目
3面的时候跟我说蚂蚁金服没名额了,问我愿不愿意去架构部门做java web开发,于是我主动把阿里刷了,是的,我刷了阿里
4 : 京东
实习生面试
不知道在哪找到的邮箱,投了进去就直接开始面试
一面还是问的些简历上的东西,只聊了20分钟就说有事,后面让同事来。。。
二面也是问的简历上的比赛和最近做的项目
校招面试
还是让之前内推的这位总监帮忙内推,结果他告诉我他已经离职创业去了……
然后把简历转给了他的接班人
大概过了很久很久吧,连京东笔试都过了,才开始安排面试
一天之内两连面,还是问了很多机器学习算法的东西
为什么LR需要归一化或者取对数,为什么LR把特征离散化后效果更好
为什么把特征组合之后还能提升,反正这些基本都是增强了特征的表达能力,或者说更容易线性可分吧
还问了项目和比赛
一面聊的挺愉快
比较有意思的是2面的时候面试官不相信我有百度offer……所以对京东顿时好感全无
5 : 杭州微店
是一个浙大的博士姐内推的我,也是她面试的我,主要就问了一些技能,比赛怎么做的,对淘宝穿衣搭配挺感兴趣的,怎么改善聚类等等。
二面忘了,好像也没问多深入,就一些常见的东西,业务等等。
三面就是HR面了,问的挺多,各种陷阱,问我为啥不在重庆工作,我说重庆行业发展不够,先在大城市锻炼下再考虑重庆什么的,下午2点跟我说通过了。
然后5点的时候跟我说不好意思,就因为上面那个问题。
校招的时候又找这个学姐内推,但是直到现在都没有消息,反正也懒得面了……
6 : 拉勾网
实习生面试
也是问一些剑指offer的题,单链表如何判断有环,从大数据中找出topk
还问了其他数据结构和算法,项目,比赛等等
说面试过了,但是必须去实习半年以上
还面过蘑菇街,糯米,蘑菇街到HR面了,估计觉得我没有意向吧,就没有后文了
糯米2面的时候正在面其他公司,打了10多个未接……我打回去的时候估计已经把我拉黑了吧……
华为面的很水,都没问算法方面的问题,大牛专场机试满分,不知道能不能拿到offer
总结
经常会问到的问题,经典算法推导(加分项),原理,各个损失函数之间区别,使用场景,如何并行化,有哪些关键参数
比如LR,SVM,RF,KNN,EM,Adaboost,PageRank,GBDT,Xgboost,HMM,DNN,推荐算法,聚类算法,等等机器学习领域的算法,这些基本都会被问到
哪些优化方法,随机梯度下降,牛顿拟牛顿原理
生成模型,判别模型
线性分类和非线性分类各有哪些模型
SVM核技巧原理,如何选择核函数
特征选择方法有哪些(能说出来10种以上加分)
常见融合框架原理,优缺点,bagging,stacking,boosting,为什么融合能提升效果
信息熵和基尼指数的关系(信息熵在x=1处一阶泰勒展开就是基尼指数)
如何克服过拟合,欠拟合
L0,L1,L2正则化(如果能推导绝对是加分项,一般人最多能画个等高线,L0是NP问题)
其实上面的这些问题基本都能在《李航:统计学习方法》《周志华:机器学习》里面找到,能翻个4,5遍基本就无压力了
另外可以报一下小象学院的机器学习班,等到开团的时候报也就300左右,讲的挺不错的,有算法推导和代码实现,我也是看了之后才明白很多算法的原理
还会问一些常见的数据结构和算法,写代码的题基本都是出自《剑指offer》和《微软面试100题》,只要刷几遍,代码题这里搞定也是加分项
其余的基本就是问问比赛,项目,遇到的问题,如何解决,在团队中的角色,评价自己
面试官问你还有问题要问没,最好别瞎问,多看看别人的面经吧
比如问点现在这个部门做的业务,遇到过的问题,部门发展的一个规划
最好别叫面试官评价你,要是评价不好会影响心情,自己的面试表现自己应该清楚,所以不问最好
可以在自己面试的时候做记录,经常复习,先从小公司面起,积累经验
另外要定位准确,自己的水平自己清楚,不要死磕大公司,浪费了大量时间还经常1面被刷
没事审视下自己的简历,不要把自己不熟悉的东西写上去,像什么精通之类的建议改成了解吧……不然会被问哭的
不要装逼写2页,我很多项目比赛都没写进去,只写了几个名次靠前的比赛,能吹一点的项目,其他没写进去的可以找机会主动说出来
项目即使很水,也要吹的很难很厉害的样子
比赛和项目尽量突出里面的难点,自己做的贡献
我的简历也是改了又改,后来找阿里星小江要了他的简历,模仿着改了一份,简单粗暴……
多刷题也比较重要,我自己的感受是内推问的问题会比通过了笔试问的要难一些,深一些
算法的推导同样重要,之前我也是看到那些公式就蛋疼,后面没办法,看书看视频,多手推几遍,这样面试的时候更有底气
个人觉得在面试的时候能手推算法的应该比较少,所以优势是很大的
实习生面试跪掉的原因就是没有复习,对算法的原理了解不够深入,所以在校招的时候,9月开始用了将近一个月的时间来复习
建议多交一些牛逼的朋友,我们有个群,6个人,有4个百度offer,有3个腾讯offer(包括一个sp),还有个估计是下一个阿里星吧,还有其他公司杂七杂八的(为啥没阿里的,估计阿里不招人吧)我们经常一起打比赛,在群里讨论学术,装逼扯淡什么的,今年只要参加了的比赛,基本都拿奖了吧……
另外感觉大公司也并没有学校歧视,我的学校211都不是,问都没问过学校的问题
我本科是个学渣,读研开始写代码,所以两年,可以改变很多事情
学习资料
下面是我准备面试整理的一些资料,里面有很多算法以及面试问题
http://download.csdn.net/detail/bryan__/9640531
大量算法题参考资料
http://blog.csdn.net/v_july_v/article/details/6543438
机器学习公开课
https://www.julyedu.com/video/play/18/10
面试算法资料
http://www.cnblogs.com/tornadomeet/p/3395593.html
机器学习知识点总结
http://m.blog.csdn.net/article/details?id=50244695
小科专访
Q1 面试前需要准备什么?
需要准备自我介绍,讲讲在校经历,实习经历,成绩情况,获奖情况;还需要准备面试岗位对应的专业知识,这方面可以参考网上的面经,一般都总结的比较详细。
Q2 面试中有哪些需要避开的坑?
当面试官问到你不会的地方可以直接说不会,或者稍微绕一下,把话题转移到自己熟悉的领域,面试官比较期望的是你对某一领域有比较深入的见解。
Q3 HR面和部门leader面分别需要注意什么?
HR面一般都是最后面了,80%是没啥问题了,只管往积极向上的地方交流就行,另外得吹捧当前面试公司,和HR聊开心比较重要。一般HR会问你是否有其他公司offer,可以根据自身情况回答,比如可以讲有保底的公司,还有个稍好点的公司,把当前这三家公司对比一下,突出当然公司的优势。
部门leader面会考察你的综合素质,从专业技术,人际交往,职业规划等方面考察。
Q4 比赛经历对面试有哪些帮助?如何将比赛经历转化为面试优势?
比赛经历如果是排名靠前就是加分项,排名一般建议就不要写上去了,不然会让面试官觉得你没认真参与,实力不够。聊比赛的时候重点突出比赛的难点,如何提升,与其他队伍的差距在哪,赛后总结等等。面试官比较期待的是你如何解决问题,如何学习新知识。
Q5 你在文章中提到,百度面试问到了一些性格问题,还能回忆出来,是哪些问题么?
在百度和腾讯面试中都问到了性格方面的问题,重点集中在如何与同事领导相处,可以围绕沟通耐心来回答这个问题,沟通不一定能解决问题,但至少会让问题变得更简单。
Q6 可以通过哪些方法获得内推机会?
有个公众号,校招日历,上面有很多内推方式,另外还有牛客网,找师兄师姐,还可以参加比赛获得较好的名次,直接获得公司实习机会,比较靠谱的方式是找机会认识公司大佬,先和大佬聊开心,通过的机会就很大了,我有很多同学都是通过这种方式获得实习机会,顺利转正。
Q7 在数据科学领域的学习上,你有遇到哪些坑么?是如何克服的?
这方面的坑比较多,很多问题都没有固定答案,需要自己动手去验证。另外关于算法推导,一直都是一个大坑,很多初学者数学基础不扎实,容易直接忽略,把这块掌握好,对知识的理解,能力的提升,面试官的期望,都是有极大帮助的。
Q8 关于数据科学领域的学习,在学习方法上,你有哪些建议?
建议多动手实践,打比赛,做项目,注重基础推导,多看大神写的书和博客。