【回馈牛客】非科班算法的求职之路

  灰常感谢牛客网!!

  多亏这段时间牛客网的陪伴,一方面看了很多同学的面经为自己的面试攒了经验,另一方面也通过很多帖子了解到了行业和岗位现状,也在受挫时看到好多同学还在坚持而受到了激励!现在自己的秋招基本已经结束,才有机会静下来把自己一路走来的面试经历整理整理,回馈给牛客网还在奋战的大家~

  本人非科班EE硕士,相对于有深厚CS基础和较强代码能力的同学,自己真的是“渣硕”,真的真的不是揶揄。
  面过的公司有:深信服,腾讯,美团,银联,oppo,京东。
 ↓以下是面经

  深信服(笔试+电面)- 机器学习算法工程师

  深信服的笔试题所有技术岗都一样,试卷全是考的C++。本人平时多用python,C++只是了解,因此胡乱做了一通。没想到竟有电面机会。
  然而,电话面试时接起来面试官第一句话就问我:  “你还记的那天考试的第一道编程题吗?” 彼时已经离笔试过去了约2两个多星期,真的不记得了。于是就请面试官重述了一遍题目,然后在电话里重做了一遍orz. 
  紧接着继续问:
  1.给定两个字符串,如何判断a是b的子串?
  2.有一个长度为100w的数组,有没有可能从中取出连续的1000个数字,相加等于10000.
  3.如何使用一个数据结构来缓存远端发回的图片内容,可以保证不重复发送?
  4.解释一下多道程序?
  5.介绍一下你个人最感兴趣的一个项目。
  6.你有没有什么突出的优势?
  .....非常怀疑我自己面的是不是机器学习算法岗TAT

 美团(两个部门)- 算法提前批

部门A:2:00PM到达美团点评总部,开启一个下午三个小时的面试体验。
第一轮:技术面
项目问题:详细地聊项目。非常详细= =
算法问题:
1.具体讲述一下逻辑回归的思想,手写一下逻辑回归的损失函数,为什么用最大似然求参数?
2.逻辑回归是不是线性模型?
3.具体讲述一下GBDT的思想,GBDT对损失函数求负梯度的时候,是对哪个变量求导?为什么我们要用GBDT?
4.经典问题:GBDT和XGB的区别是什么?
5.讲一讲过拟合有哪些方法?继续追问神经网络中有什么特殊的防止过拟合的方法?
6.dropout机制的原理是什么?
代码问题:
1.抛一枚硬币,正面朝上的概率为p,问掷硬币可以得到连续N次正面朝上的次数的期望。
2.求一个数组的连续子序列的和最大的值。
第二轮:技术面(压力面)
项目:又开始聊项目,这次聊得更详细,但是面试官一直质疑我项目的意义....搞得俺非常崩溃,后来感觉是压力面。
算法:
1.比较一下RF和XGB,XGB的损失函数是什么,给我写出来。
2.XGB怎么调参?一般要调哪些参数?怎么设置?为什么这么设置?
3.XGB的节点分裂是怎么做特征采样的?
4.特征工程怎么做的?
5.怎么做的数据预处理?详细说一下。
6.FM模型的前因后果说一下?
代码:
判断一个链表里是否有环以及找出环的入口。
第三轮:HR面
1.又来聊项目了(没想到HR姐姐也问项目,真的不想再说项目了...)
2.聊完说你为什么去这家公司实习啊?怎么考虑的....
3.你在实验室的课题是什么?
4.你现在投了哪些公司啊?如果都要你,你去哪儿啊?
5.你打算留北京了?
6.你期望的薪资是多少啊?

部门B:3:50-7:20PM,三轮技术面。
参加算法提前批的时候现场和面试官聊完,面试官让旁边的HR继续面了我,所以这次去三轮都是技术面。orz
第一轮
一上来聊项目,从头到尾讲你做了什么事。面试官间或问一些关于项目的数据处理的问题,问的问题不是特别深。
这一轮面试官的特点是,要你讲细节。每当你说到一个点,他都会让你更具体地描述一下。比如你的模型中参数为什么要这么设置,具体有哪些超参数,得到了什么样的结果。比如最后深度学习模型跑了有多久,怎么样进行地分布式设置。对每一个项目大概都像这样说了一轮。
然后问了一些常规的机器学习问题:比如特征工程怎么做,R平方和MSE的区别。
然后是编程的问题,这个面试官对我太好了,让我写出快排逐步改进中的所有实现方式 :)

第二轮
一上来让我给他介绍研究生的课题。 然后我就开始说,但是他说他没理解,一脸惆怅。于是我又只能继续说,他还是表示不理解。面试官说:"你对你的课题掌握得不太好啊。"此时我就有些紧张了............................
然后就又开始聊项目,聊项目的过程中让我画了CNN的架构,有多少卷积层,多少通道等等,怎么计算感受野。然后质疑网络中的第二部分为什么要这么搭建,只是看论文就这么决定了?“我不是很懂你为什么这么做诶”,面试官反复说这句话QAQ。以及面试官认为我这个项目的实际应用场景有问题....
接着写代码:旋转数组的最小值。
接着是机器学习的问题:
1.讲一讲最大似然和最大后验概率建模的区别?写一下似然函数的一般式。
2.最大后验概率建模中的先验分布是指什么的先验分布?
3.逻辑回归模型如果用最大后验概率建模是什么样子的?
4.分类问题的指标有哪些?各自的应用场景是什么?
面试官随之给出了一个具体的场景要求计算F1分数。

第三轮
1.KKT条件在凸优化问题中怎么体现的?推导一下吧。
2.在美团点外卖的时候,我们会告诉用户一个外卖的预估时间。你如何设计一个模型来估计出这个时间?假设你能想象到的数据我们都能提供。
3.(承接第2个问题)如果你提出了一个模型,另一个同事又提出了一个模型,那我们怎么通过用户来评价你们这两个模型?
4.我们来聊聊,怎么设计模型才能够增强用户的体验?
5.知道大数定律吗?说一说....
6.知道切比雪夫定理吗?说一说...
编程:编个数独吧。

腾讯(电话面) - 机器学习算法

1.讲项目(根据项目提问)
2.决策树模型如何用在实际场景中?为什么用决策树?
3.数据的预处理和特征工程的pipeline你一般怎么考虑?

历时40分钟,面试官人很温柔,也给了我通过。然鹅接下来被复试的面试官鸽了两次,每次等待的时间>2小时,最后HR姐姐说联系面试官另外安排时间,然后就没有然后了,简历就一直灰掉了...还是没缘分。

银联 - 人工智能岗位
群面:感觉只要中规中矩提出自己的看法就可以过。和非技术岗群面的难度完全不一样,可能就是走个形式吧...
技术交叉面:
两位面试官,问的问题比较基础,也没有手撕代码。
1. 深度学习中防止过拟合的方法?
2. 你觉得你的项目最大的亮点是什么?
3. 激活函数有哪些?对比一下?
4.其余的问题都是一些聊天性质的,比如你的特长啊,独生子女?去上海OK吗?我们银联给户口哦~~期望薪资多少?

oppo - 机器学习算法

一轮技术面:
1. 堆和栈在内存管理的时候如何被使用?区别是什么?
2. 推导一下GBDT;公式写出GBDT是怎么拟合一棵cart树的?
3. 写一下基尼指数的公式?为什么要用基尼指数?
4. 对比一下XGB和lightGBM在节点分裂时候的区别
5. 两道编程题:一道二叉树的非递归后序遍历;一道象棋走马,给定棋盘大小,从棋盘左下角开始走,N步之后在棋盘上的位置。
6. 具体地聊项目(为什么选择这个模型,这个模型是怎么实现的..)

二轮leader面:
1. 具体聊项目(也是关于如何实现,在实现过程中遇到的问题,如何改进)
2. 深度学习中你通常怎么调参?
3. 深度学习中有哪些自适应的优化算法?你用过哪些?
4. 最近有上过什么课或者读过什么论文吗?讲一讲...
5. 其余都是非技术的问题,比如你的职业规划啊愿景啊....

三轮HR面:和HR承诺了内容保密。

京东 - 算法工程师

最坑的一次面试体验,因为面试官的方向和我应聘岗位完全不对口鸭,对方应该是做传统通信电子算法的工程师吧...还是把面试的内容记录下来,希望能有帮助。QAQ

1. 傅里叶变换的公式解释一下?(哈?哦....)
2. 解释一下什么叫做矩阵的正定?
3. 矩阵的四个空间是什么?它们之间的关系是什么?

接着是看了简历中的项目问的一些问题(但是真的,完全不在点子上啊哭):
面试官: 啊?深度学习的问题是非凸优化啊?那你们怎么解的?不可能啊..深度学习不是凸优化问题吗?
面试官:那你说怎么定义一个凸问题?
面试官:alhpa-go用的是神经网络吗?为什么就make sense呢?解释一下?
面试官:李飞飞那个图像集是用***嘛的?
ε=(´ο`*)))唉...


以上就是本人在提前批+秋招过程中的一些面试总结啦,希望这些面经能够稍微帮到大家一点点。
找工作不容易,算法今年更显艰难,之后的工作抉择也很艰难(地域,家人,平台...)。不过人生没有十全十美的事,全心全意奋斗过就不后悔啦!
希望大家都能去到适合自己的地方~


#秋招##面经##美团##OPPO##深信服##京东#
全部评论
感谢大佬分享~
点赞 回复
分享
发布于 2018-09-21 16:17
感谢大佬分享,如今是研二,明年找工作,EE专业,之前半年一直在学习算法想要转行,但是看今年的形势算法好像竞争很激烈,有点犹豫,能不能给点建议是否要接着学习算法,还是考虑学习开发之类得呢?
点赞 回复
分享
发布于 2018-09-22 07:51
博乐游戏
校招火热招聘中
官网直投
感谢大佬分享,能否请教一下非本专业的项目是哪里做的呢。
点赞 回复
分享
发布于 2018-09-22 16:16
大佬拿到offer了吗?
点赞 回复
分享
发布于 2018-09-25 22:32
大佬你好...请问如果实验室没项目的....可以通过比赛来代替项目吗
点赞 回复
分享
发布于 2018-10-28 16:55

相关推荐

3 84 评论
分享
牛客网
牛客企业服务