滴滴新锐计划算法工程师—一面二面三面记录

滴滴来学校开宣讲会,现场收简历现场面试

一面

1. 自我介绍

2. 问项目的技术细节,算法怎么实现,跟业界比怎么样

3. 讲讲论文里的东西

4. 问了些性格相关的,看表达能力,觉得自己怎么样等 还有一些细节忘了

5. 写两个算法题

  • 给定一个数组,长度已知为N(中等),求中位数,要求时间复杂度尽可能小

    • 快排+丢弃长度小于N/2的部分
  • 给定数组,要求以最小的时间复杂度求得最大最小值

    • 维护一个小数组,只存放两个数,预定义为min和max,后将剩余N-2个数和它们依次比较,大于max的覆盖max,小于min的覆盖min,其余情形的不更新数组。时间复杂度o(n)。

二面

(非常像机器学习老师在问学生细节问题,说的不对的直接打断说你这个不对,再想想;面试官面不改色心不跳,一看就是技术大牛,问哭了)

1. 问CNN的细节特点,哪些特点使得CNN这么好用

2. 哪些场景用CNN可以,抽象一下这些场景的特征

  • 可以降采样但仍能保持主要信息;局部连接可以保证获取局部信息;权值共享保证高效

3. DNN和CNN相比有哪些区别

4. 用过RNN么?画一下RNN的图

  1. 你在深度学习过程中遇到过哪些问题?如果出现过拟合你怎么办?dropout是什么?它有什么用?你会怎么用它?当全连接跟dropout连着用需要注意什么?你之前过拟合怎么解决的?如果本身training loss就很大你怎么办?如果数据不变,怎么调整网络结构解决这个问题?(batch normalization)

  2. 梯度消失知道么?为什么会出现梯度消失?dnn和rnn中的梯度消失原理一样么?dnn中是哪个部分导致梯度消失?(激活层如sigmoid)rnn中怎么解决梯度消失问题?(lstm的结构相对普通RNN多了加和,为避免梯度消散提供了可能。线性自连接的memory是关键。)

7. 机器学习算***多少?lr和svm最大的不同是什么?svm有哪几个比较大的特点?(hingle loss; kernel)核函数是干嘛的?(低维映射到高维;简化计算)lr可以用核么?可以怎么用?l1和l2正则项是啥?lr加l1还是l2好?加哪个可以用核(加l2正则项,和svm类似,加l2正则项可以用核方便处理)

8. 讲一下你论文里是怎么用CNN的

三面 40min

虽然被二面面试官各种吊打,我还是要非常感谢他的,因为找到了自己很多的不足,又好好思考准备了下来迎接今天的技术面

面试官一上来说,我们来看看算法吧:

1. 知道LR么?讲一下

2. LR可以用来处理非线性问题么?怎么做?可以像SVM那样么?为什么?

我引入了正则化,把问题转向了正则化

3. 讲一下L2正则化,为什么L2正则化可以防止过拟合?L1是啥?深度学习里面怎么防止过拟合?(data aug;dropout;multi-task learning)

4. 知道树么?解释下随机森林和gbdt的区别。

5. 你觉得为什么gbdt的boosting体现在哪里。解释下随机森林节点的分裂策略,以及它和gbdt做分类有什么区别?哪个效果更好些?为什么?哪个更容易过拟合?为什么?

6. 讲讲机器学习中常用的损失函数有哪些?交叉熵有什么好处?(凸优化问题)

下面转向深度学习

7. 讲一下CNN吧,有哪些重要的特点?CNN可以处理哪些场景?

8. 为什么CNN要用权值共享?(每个卷积核相当于一个特征提取器,它的任务是匹配局部图像中的特征,权值共享后,匹配的特征方式都是一样的,提取若干特征后就知道学习的是啥了)

9. CNN里面哪些层?讲一下卷积。卷积的形式是啥样?给定一个输入,算输出的feature map大小。卷积有啥用?池化有啥用?有哪些池化方式?池化除了降采样还有啥用?(就不知道了)还有哪些层你用过?讲讲dropout。dropout内部是怎么实现只让部分信号通过并不更新其余部分对于输入的权值的?讲讲BN(BatchNormalization)为什么好?全连接有什么用处?

10. 知道RNN么?讲讲RNN大致的实现思路

11. 知道梯度消失么?为什么会出现梯度消失?RNN里的梯度消失一般怎么处理?细讲下lstm的结构,这样设计为什么好?(门关闭,当前信息不需要,只有历史依赖;门打开,历史和当前加权平均)你觉得梯度消失靠引入一些新的激活层可以完全解决么?为什么?

转向日常

12.平时coding多不多?用什么语言?Linux熟不熟?说说常用的命令。

13.期待的实习地点和可以实习的时间(他并没有说通过他这个面试,只说等后面通知,后面也不会有面试了,大约一周后出结果)

#滴滴##算法工程师#
全部评论
楼主最后去哪了?同新锐offer。。
点赞 回复 分享
发布于 2017-05-13 10:32
你们算法三面好快啊……我们研发的好像是五一之后三面
点赞 回复 分享
发布于 2017-04-25 22:00
好厉害的面试官
点赞 回复 分享
发布于 2017-04-25 22:16
三面是HR面?
点赞 回复 分享
发布于 2017-04-25 22:31
厉害,应该能过啊
点赞 回复 分享
发布于 2017-04-26 10:36
新锐第三面已经挂了,面试官说我机器学习算法基础不够扎实,问了随机森林的损失函数,和lr的优缺点对比,kmeans 算法的优缺点。。。。
点赞 回复 分享
发布于 2017-04-26 10:37
赞楼主!
点赞 回复 分享
发布于 2017-04-26 11:16
许神!!!!!
点赞 回复 分享
发布于 2017-04-26 15:30
算法不是只有两轮加hr么,我刚刚面完,,说只有两面,让等通知,,不过我这是视频面试
点赞 回复 分享
发布于 2017-04-26 15:56
三面是连续的吗
点赞 回复 分享
发布于 2017-04-26 17:09
之前视频面试完就没后文了 囧
点赞 回复 分享
发布于 2017-04-26 22:10
请问逻辑回归那个你答的核技巧吗?要是LR用了核还是LR么?跟感知机还有区别么……
点赞 回复 分享
发布于 2017-04-29 11:53
求问说不定有一面之缘的大神。。。现在有消息了么。。。
点赞 回复 分享
发布于 2017-05-04 13:56
为什么LR加L2正则化方便用核处理呢?加L1呢?这里核处理是自己定义一个映射函数让非线性低维输入空间显式地映射到高维的线性特征空间?直接用SVM中的核技巧隐式映射可以吗?
点赞 回复 分享
发布于 2017-05-07 15:41
楼主收到offer了吗?什么时候收到的啊?
点赞 回复 分享
发布于 2017-05-08 16:13
刚拿到新锐offer,楼主问的好多啊
点赞 回复 分享
发布于 2017-05-19 21:26
楼主强势了,机器学习深度学习都了如指掌。。。。
点赞 回复 分享
发布于 2018-03-14 10:07

相关推荐

点赞 评论 收藏
分享
11-27 17:35
已编辑
蚌埠坦克学院 C++
深信服 后台开发 n×12
点赞 评论 收藏
分享
评论
点赞
158
分享
牛客网
牛客企业服务