2016校招百度美团360机器学习岗面试经历
今天下午在教室自习,顺便还投了一些公司,准备笔试面试,突然接到百度hr的电话,顺利拿到offer。期间,我有点***丝地反复问她这个offer是确定的吧,不会被取消吧,因为前几天看到百度缩招的消息,哈哈,hr跟我确定这个offer不会变,就等着签三方了。lz是硕士,属于计算机相关专业,无实习经历。
关于机器学习岗的面经比较少,本着回报牛客网的目的,决定写写面经。
========================================================================================================
百度
在天津参加的百度的三轮面试,分三天面完
一面 1小时
问项目
逻辑回归估计参数时的目标函数 (就是极大似然估计那部分)
翻转二叉树 写代码
其他内容我忘了,大部分时间在问项目
二面 1小时20分钟 面试官语速很快,难度比一面高很多
问项目
逻辑回归估计参数时的目标函数 (呵呵,第二次)
逻辑回归估计参数时的目标函数 如果加上一个先验的服从高斯分布的假设,会是什么样
(天啦。我不知道,其实就是在后面乘一个东西,取log后就变成加一个东西,实际就变成一个正则项)
SVM在哪个地方引入的核函数
如果用高斯核可以升到多少维 (无限维)
什么是贝叶斯估计
k折交叉验证 中k取值多少有什么关系
(我不知道,随便答,然后面试官后面问我知道bias和variance吗?估计是和这两个东西有关,
知乎上有个问题讨论了k值大小与bias和variance的关系)
过拟合了怎么办
设计一个结构存取稀疏矩阵 (面试官最后告诉我了一个极度压缩的存法,相同行或列存偏差,我当时没听懂,还不懂装懂,最后还是没记住)
平衡二叉树是什么
系统设计题,给一个query,如何快速从10亿个query中找出和它最相似的
(面试官说可以对每个query找1000个最相似的,存起来,每天离线更新)
编程题 给了一个链表,第1个结点标号为1,把链表中标号在M到N区间的部分反转 (我写的很慢,面试官看不下去了,让我只说思路)
编程题 在一个字符串中,找出最长的无重复字符的字串
(这个问题还是有难度的,我碰巧想到了用hash,但没想到完整解法,用hash的解法复杂度在O(N^2),在网上查了下,好像还有更快解法)
三面 1小时
逻辑回归估计参数时的目标函数 (呵呵 ,第三次)
逻辑回归的值表示概率吗?(值越大可能性越高,但不能说是概率)
分类模型和回归模型的区别
分类模型可以做回归分析吗?反过来可以吗?(我回答是分类不可以做回归,回归倒是可以做分类,不知道对不对)
开放问题:
设计一个合理的电梯调度策略,调度两个电梯 ,考虑满足基本的接送需求,满足能耗最小,满足用户等待时间最短
(难到我了,我想的方法不好,面试告诉我了他的想法,类似于一个进程调度问题,每一时刻只可能有一个用户按按钮,把这条指令接收,判断当前电梯能否满足,能满足就执行,不能满足则放入一个队列里,实际情况还要细化)
常用排序算法的时间和空间复杂度
10.12号参加的第三轮面试,从5点面到6点,天已经黑了,我正对着面试官,面试官背后的窗户开着,外面高楼的灯光射进来,房间里只开了一盏台灯,发着淡黄色的光,想开放题的时候觉得时间过得好慢,周围好安静,我想我会永远铭记这一瞬间!
=======================================================================================================
美团
在面完百度三面回学校的公交上,接到了美团的面试邀请电话。
我在10.15参加了美团的三轮面试
一面 1小时
问会什么机器学习算法,那讲下SVM的原理吧 (我把SVM的公式推导了一部分,面试官就着公式问了一些问题)
你简历里说用过random forest 和 GBDT ,讲一下他们的区别
数据库索引用什么建的 (b+树,并不知道原理)
写sql(并不会)
tcp关闭连接的过程, 为什么要四次?
写程序 str2Int
二面 1小时
讲项目
面试官是做NLP的,看我有个比赛涉及到NLP的内容,就问了我很多NLP的知识,比如做情绪分析,他态度很好,以一种讨论的方法跟我交流(然而我并不了解NLP,最后他说算了,没做过确实不知道)
问了一个概率题 54张牌,分成6份,每份9张牌,大小王在一起的概率(我算错了,他告诉我是 8/53)
问了操作系统的内存管理, 分页和分段的区别
银行家算法原理
写程序 翻转链表
三面 40分钟
讲项目 (我花了10几分钟,费尽口舌,绘声绘色地讲了在实验室的项目,口干舌燥,又累又饿)
我觉得你这个项目一点都不牛逼 !(我之前跟他提过,我知道美团技术部的口号是 要么牛逼 , 要么滚蛋)
尴尬,双方停顿了10秒~ (所以我要滚蛋了?)
我觉得你设计的算法没什么创新性,在其他论文里可以找到很多类似的(补刀,但其实说的很对。。。)
我花了好几分钟来圆场,解释自己不能滚蛋,不是,解释自己的项目还是有价值的原因。。。。。
机器学习的大概过程是什么?
特征选取怎么选? 为什么信息增益可以用来选特征?
哪个项目是跟人合作的?(在实验室的项目,和导师合作)
有没有和导师意见不同的时候,怎么做的?
简历里有个项目是作为负责人,带领低年级学生做的,讲讲怎么带的?
低年级学生不听话怎么办?
(学院的项目,我讲到学院项目给钱给的不及时,有时候会自己掏钱请他们吃饭,当做是一种激励,面试官笑了。。。。)
有没有接触过机器学习的前沿,深度学习看过paper没有?(并没有)
===============================================================================================
360(内推)
9.14
面的搜索部门
一面 1小时30分钟
花了很长时间讲了一个自己做的很水的比赛,属于NLP相关,面试官也是NLP,感觉他没怎么听懂。
写程序 最短编辑距离 (写了,但有很多错误)
如何从很多的query中找出一个query (我开始想到hash,后来经提示我想到了前缀树)
若允许有错误,可以再怎么解决(不知道,面试官提示了布隆过滤器)
二面 1小时 类似于一个部门经理的人面我
讲项目,根据项目问问题
问我知道倒排索引不 ? (不知道)
想考察我学习能力,所以决定教教我倒排索引 ,简单画了个图,问了相关的问题 (答得不好)
很多数中找前k大数
三面 hr面
最有成就感的事?
和计算机专业的比有什么优势,什么劣势?
有女朋友吗? (并没有)
其他忘了
================================================================================================
总结:
我就我自己仅有的几次机器学习岗面试做一下总结:
1. 公司喜好
百度会先问你熟悉的东西,有项目和比赛都会先问,这些答得好,后面会容易很多。
(所以,好好准备简历,并且把写到简历里的部分都熟悉一下)
美团问的感觉比较死,操作系统/计算机网络/数据库等常见问题 都还是会涉及到
360因为是搜索部门,问了很多搜索相关的知识
2.不会的问题如何回答
很多帖子里都谈到过这一点,在机器学习岗面试中,我很认同的一种方式是尽量的向面试官输出你的知识,不会就先说相关的。
如果还不会,适当的找面试官要提示。
百度二面那个query找相似的系统设计题,我先后说了前缀树,kd树等解决方案,虽然不对,但面试至少知道我了解这些东西。
3.面对面试官的刁难怎么办?
如我在美团三面的时候,面试冷冷地一句你这项目一点也不牛逼,就把我弄傻了,因为其他面试官都不会这么直接。
如果你是大牛,你的项目肯定很牛,面试官肯定不会说这种话。如果你水平一般,不要有什么反抗的态度,你也是在找工作,如果你向往这家公司,不会因为一个面试官的态度不好,就改变你对公司的态度吧,回答的态度还是要温和一点,拿到offer才是王道,被拒了在网上到处骂是弱者的行为。
4.如何准备机器学习面试?
就我面过的公司来说,机器学习方面的问题完全是与你自己以及面试官自身的水平有关的,如果你很牛,面试官也很牛,你们可能会讨论到很高大上的算法上去,但一般来说,李航的那本书应该是够了。
关于大数据处理的问题要好好准备一下,我记得july好像有篇博客专门讲这个,有大概10种工具处理大数据问题,你可以挨个轮番用。
数据结构和算法是一定要好好准备的
笔试题,机器学习岗位,我知道BAT、美团、蘑菇街等很多有针对算法岗单独的题,但还是要编程,还是要考基础知识,所以都要好好准备才行,不要像我到处挂笔试。。
=================================================================================================
美团可能挂了,我准备签百度了,不过部门貌似很边缘,看来还是和自己的能力挂钩的。。。
其实我一直觉得能拿到offer挺幸运的,从8月份开始找工作到现在,我一共就面了3次
360内推,笔试很差,内推的师兄叫hr把我加到面试名单,我才有了面试机会,2轮技术面+1轮hr面在一个下午搞定,技术面面得不好,hr让回去等消息,然后就没有消息了。
百度,百度笔试做的很差,但好像笔试不怎么刷人,所以抓住机会,一直撑到三面
美团,每个参加美团笔试的人都说题简单,而且写代码还支持python,这个要赞!
当天下午4点吃了个面包,从5点开始,一直撑到晚上快8点,挺完3面。
其他公司都挂在笔试。。。。。。。。。
我讲这个,是想说,在找工作的过程中,一定要挺住,挂笔试挂面试不可怕,可怕的是你放弃自己,我在10月1号之前做了很多公司的笔试,次次都挂,但我都是洗个澡,换条内裤,第二天继续到教室自习。整个找工作过程中,我从来不刷朋友圈,别人到处吃喝玩乐跟我无关,不想受到别人的打扰。
今天在朋友圈发了个状态,写道 拿到offer是因为运气,心里高兴是因为付出。
感谢牛客网以及牛客的QQ群在我找工作的时候一直陪伴我,说实话,找不到工作的时候看到群里有一大群人也找不到,心里还是挺开心的,觉得自己也没那么差,嘿嘿,但我真
心
祝愿每一个人都能拿到自己心仪的offer。
O(∩_∩)O谢谢~
2015.10.23