这个岗位叫法很多,算法岗,数据挖掘岗,机器学习岗,基础研究等等……
下面总结一下从16年3月开始到9月底这半年的面试情况
正式校招只参加了百度和腾讯的笔试,其余公司全部内推
百度:
实习生面试
朋友帮我内推了,推了很多岗位,蛋疼,最开始的是个搞分布式平台的岗位,后面的岗位就不再接受简历
1面要写代码,题目是输入根节点和两个子节点,找到最小公共父节点,2叉树只有孩子节点
后面问了一些算法优化问题,理论差,不太懂。。
2面还要写代码,写一个栈,添加一个接口,返回当前栈最小值,要求时空都为O(1)
聊的有点久,1小时40分钟,问了一些算法问题,简历上东西
因为岗位不对口的问题,没有继续下去
校招面试
师姐给我内推的,一面聊了2个半小时,写了很多代码
用MapReduce写好友推荐,在一堆单词里面找出现次数最多的k个
其他代码题基本都能在剑指offer和微软面试100题上找到,题目已经忘了
后面又聊了比赛和项目
二面基本都在问hadoop,数据结构与算法
又聊了1个半小时,hadoop原理,shuffle如何排序,map如何切割数据,如何处理数据倾斜,join的mr代码如何写
动态规划,树结构,链表结构等等
三面应该是部门老大面的,问了很多性格方面的问题,还有些比赛和项目中遇到的问题
只聊了半个小时,要了身份证,说后面会安排笔试
后来笔试通过了,也就顺利的拿下百度
腾讯:
第一次内推是3月的时候招实习生,师兄帮我内推了,简历评级是A,但是还是要笔试,还好学校有个TST内推,过了就不用笔试
面了1面就跪了,因为没复习,问的都知道,说不上来……
第二次是5月的时候补招,推到一个安全部门,面了2面就跪了,问了SVM原理,PageRank原理,怎么用模型来查找异常用户
我讲了一大堆我的理解,然后面试官一句你怎么不用规则把我噎到了……
第三次是校招TST内推,面过了2面,还是跟之前那个有点类似的游戏开发的安全部门,因为我也玩LOL,又问到怎么来判断玩家有没有作弊之类的问题,这次我小心翼翼的说用模型怎么做,用规则怎么做,感觉这次聊的都挺开心的。
三面电话打来的时候我在公交车上,没接到,打回去是总机……再后来状态就变成了面试流程放弃……
到了正式校招的时候,参加了笔试,顺利通过
心想这次再跪就是4连跪啊……
去西安的路上就抱着李航的统计学习一直看看看看
晚上到了宾馆就在草稿纸上推公式
然后一面的时候,果然面试官叫我推公式,推了LR,SVM,XGBOOST
AUC的定义和本质,有哪些计算方法
然后在纸上手写了些代码,聊了些比赛和项目,总之聊的比较开心
面试官发现我是重庆来的,就在简历上注明了优先安排面试,然后又问我期望工作城市,我说成都吧,然后又加一句,优先安排成都岗位……
二面的时候感觉没咋聊好,问的问题都答的不太好
先是叫我用C语言写内存拷贝……拿着笔很尴尬的说我不会,但是应该有安全性问题需要考虑下……
然后又问了动态规划,还有些剑指offer上常见的题目,有的答上来,有的说见过但是忘记了
后面又问了hadoop,spark,storm下面的产品,原理,适用场景
后面问了下DNN原理,应用,瞎扯一通……
然后又开始聊项目和比赛……估计是上一个面试官评价比较好的原因吧,2面就这么过了
HR面就随便瞎扯了一些东西,问比赛和项目里遇到过的困难,问了自己的优势,我说认识很多大神算不算……
还问了我拿到了哪些公司offer,我说有百度的,还有一个创业公司的,创业公司开的比较高,然后她就问有多高,我说你可能不会信,税后20*14+包吃包住,公司对面的公寓,单间5k。
接着问了对意向的公司的一个排序是什么,跪舔了一下腾讯……
又问了期望待遇,我知道这个问题一般不要瞎扯,问了下腾讯的薪资结构,福利,住房补贴等等,后面HR问我了解过MIG吗,我说不太了解,就给了我这个册子叫我带回去看看……
其他问题也忘了,后面说可能有个视频面试,也不知道啥意思……
然后说是9月28之前出结果,过与没过都能在微信上查到。
9月27号上午,我正在蹲坑,HR跟我谈待遇,顺利拿下腾讯
阿里:
实习生面试
2面之后跪了被扔给其他部门重新一面
一面聊了挺多,让我把一个完整的数据挖掘流程讲一下,从预处理,特征工程,到模型融合。
介绍常用的算法,gbdt和xgboost区别,具体怎么做预处理,特征工程,模型融合常用方式,融合一定会提升吗?
2面不太好,问了怎么在2G内存里找100TB数据的中位数,还有怎么解决mapreduce数据倾斜,经常用什么语言工具开发
然后答的不好被刷掉了,简历被扔到菜鸟网络,重新开始一面
一面还是问简历的东西,二面应该是总监级的人物吧,天池比赛的菜鸟网络就是他出题。
二面问了我的研究方向,怎么把研究内容应用到实际中,还做 了其他哪些研究。
不知道为啥,没有3面,直接HR面了。
3月31号是最后一次面试,直到4月21号才HR面
问我对菜鸟网络的了解,我说不太了解。。最近的项目,在比赛中的角色,自己的短板,职业规划,期望工作地点,是保研的还是考研的
我说以后想创业,果然没过多久就已回绝,怪自己太天真了
校招面试
本来我有比赛top10可以直接终面的,但是朋友告诉我直接终面评价最多只能到B+,今年招人只要A以上
然后我就叫朋友帮我内推
1面已经忘了问了些啥,反正就是那些
机器学习里面的东西,数据结构算法,比赛,项目
2面是辽原,应该是蚂蚁金服AI部门老大吧
问了如何在海量数据中查找给定部分数据最相似的top200向量,向量的维度也很高
因为之前了解过其他面蚂蚁金服的朋友,也有问到这个题目的
所以反应比较快,直接就说可以用KD树,聚类,hash
然后又问怎么衡量两个商品的性价比,这个题目以前阿里星面试的时候也被问过,就随便扯了下
后面问了些比赛和项目
终面的时候跟我说蚂蚁金服没名额了,问我愿不愿意去架构部门做java web开发,果断拒绝
没有参加正式校招的笔试,现在想起来挺后悔
京东:
实习生面试
不知道在哪找到的邮箱,投了进去就直接开始面试
一面还是问的些简历上的东西,只聊了20分钟就说有事,后面让同事来。。。
二面也是问的简历上的比赛和最近做的项目
校招面试
还是让之前内推的这位总监帮忙内推,结果他告诉我他已经离职创业去了……
然后把简历转给了他的接班人
大概过了很久很久吧,连京东笔试都过了,才开始安排面试
一天之内两连面,还是问了很多机器学习算法的东西
为什么LR需要归一化或者取对数,为什么LR把特征离散化后效果更好
为什么把特征组合之后还能提升,反正这些基本都是增强了特征的表达能力,或者说更容易线性可分吧
还问了项目和比赛,之后就没消息了
后来参加了京东的一个算法比赛,跟着大腿混了个亚军
总监面过了一周之后发了offer
比赛诚意十足,给真SP,不像某A公司
杭州微店:
是一个浙大的博士姐内推的我,也是她面试的我,主要就问了一些技能,比赛怎么做的,对淘宝穿衣搭配挺感兴趣的,怎么改善聚类等等。
二面忘了,好像也没问多深入,就一些常见的东西,业务等等。
三面就是HR面了,问的挺多,各种陷阱,问我为啥不在重庆工作,我说重庆行业发展不够,先在大城市锻炼下再考虑重庆什么的,下午2点跟我说通过了。
然后5点的时候跟我说不好意思,就因为上面那个问题。
校招的时候又找这个学姐内推,但是直到现在都没有消息,反正也懒得面了……
拉钩:
实习生面试
也是问一些剑指offer的题,单链表如何判断有环,从大数据中找出topk
还问了其他数据结构和算法,项目,比赛等等
说面试过了,但是必须去实习半年以上
还面过蘑菇街,糯米,蘑菇街到HR面了,估计觉得我没有意向吧,就没有后文了
糯米2面的时候正在面其他公司,打了10多个未接……我打回去的时候估计已经把我拉黑了吧……
华为面的很水,都没问算法方面的问题,大牛专场机试满分,不知道能不能拿到offer(2面的时候装逼过头,没有拿到offer)
360和今日头条校招内推简历被刷了……
后来参加今日头条比赛拿奖,HR找过我,叫我去实习,我说早就被头条刷了
总结
经常会问到的问题,经典算法推导(加分项),原理,各个损失函数之间区别,使用场景,如何并行化,有哪些关键参数
比如LR,SVM,RF,KNN,EM,Adaboost,PageRank,GBDT,Xgboost,HMM,DNN,推荐算法,聚类算法,等等机器学习领域的算法,这些基本都会被问到
XGB和GBDT区别与联系也会经常问到:https://www.zhihu.com/question/41354392/answer/128008021?group_id=773629156532445184
哪些优化方法,随机梯度下降,牛顿拟牛顿原理
生成模型,判别模型
线性分类和非线性分类各有哪些模型
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,还有个研二估计是下一个阿里星吧
10.9号,我们群里终于有一个阿里了,终于集齐了bat,可以召唤单挑之王了……他就是天音大魔王
我们经常一起打比赛,在群里讨论学术,装逼扯淡什么的,今年只要参加了的比赛,基本都拿奖了吧……
另外感觉大公司也并没有学校歧视,我的学校211都不是,问都没问过学校的问题
我本科是个学渣,读研开始写代码,所以两年,可以改变很多事情
下面是我准备面试整理的一些资料,里面有很多算法以及面试问题
http://download.csdn.net/detail/bryan__/9640531
大量算法题参考资料
http://blog.csdn.net/v_july_v/article/details/6543438
http://blog.csdn.net/hackbuteer1
机器学习公开课
https://www.julyedu.com/video/play/18/10
面试算法资料
http://www.cnblogs.com/tornadomeet/p/3395593.html
机器学习知识点总结
https://bbs.aliyun.com/read.php?spm=5176.100258.100258.8.bhrQ8k&tid=294564&displayMode=1&page=1&toread=1#tpc
http://m.blog.csdn.net/article/details?id=50244695
面试编程题十大经典算法
http://mp.weixin.qq.com/s?__biz=MjM5Nzk2MDU5NA==&mid=2652545706&idx=3&sn=87e964154fa54999719c34c4b67dfff7&scene=0#wechat_redirect
最后是我参加比赛的情况,截止17年6月,天池积分榜排名第五