深度学习面试总结

百度面试经历

  1. 请自我介绍一下
  2. 看到你项目写到使用过 Faster rcnn,请问 Faster rcnn 的优势是什么,
    为什么在这个项目使用 Faster rcnn?
  3. 能介绍一下 Faster rcnn RPN 的作用和原理吗?
  4. ROI pooling 的主要作用是什么?知道 ROI align 吗? 它们两个的区别是什么?
  5. 说一下 Faster rcnn anchor 机制,分别说一下 RPN 阶段 两种 Loss 分别是什么?
  6. Faster rcnn 有什么不足的地方吗?如何改进?还使用过其它的框架吗?
  7. BN 的原理
  8. 能介绍一下你经常用的 optimizer 吗?
  9. 解释一下什么是凸优化
  10. 编程题:手推 SVM, 补全 CNN 部分 BP 的代码
  11. 编程题: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值,就是平时写的滑动窗口最大值。
  12. 编程题: Leetcode 315 原题,线段树,好像也是一个算法竞赛题。
  13. 开放性题目:如何进行数据预处理,如何进行数据归一化等等,最后还抛出一个他们业务中正在做的项目中遇到的问题。
    总结:百度面试,技术面试总共 3 轮,记得的题目就是上面这些了。感觉面试的范围还是很全面的, 对编码能力和解决问题的能力格外看重。

商汤面试经历

  1. 还是介绍自己… …
  2. 看到你做过目标检测的项目,能说明一下你在项目中主要做了什么吗?
  3. 能解释一下梯度消失或者梯度爆炸的原因,以及如何解决吗?
  4. 请问你在 Faster rcnn 中使用的哪个基础神经网络模型,VGG 还是 ResNet? 能介绍一下常用的神经网络模型吗?
  5. 看到你使用过 LSTM,请问 LSTM 主要解决什么问题,它的三个门分别是什么,有什么作用?
  6. 能从数学层面分析一下梯度消失或者梯度爆炸的原因吗?
  7. 说一下 dropout 可以解决什么问题,为什么有效?
  8. 请介绍一下你常用的 Loss 函数, cross entropy 的原理是什么?
  9. 你知道的凸函数求极值的方法有哪些?我们在机器学习中经常使用梯度下降,为什么不使用牛顿法?
  10. 如何将高维的变量映射到低维?
  11. 过拟合的原因及解决办法
  12. 平时使用什么编程语言? 请介绍一下 python 中闭包的作用?
  13. c++ 中,类成员变量可否同时声明为虚函数和静态函数
  14. 编程题:找出数组中两数之和为指定值的所有整数对,时间复杂度为 O(n)
  15. 编程题: 找出数组前 K 的数
  16. 开放性题目:一个 5 层的教学楼,每层有若干个教室和大于 2 个的楼梯,请建立一个数学模型计算出火灾发生时所有人员撤出的时间,并列出你考虑的主要因素

总结:商汤的面试,非常注重基础,喜欢能说出自己想法的候选人,博主在面试中多次和面试官 argue,比如在答第 10 题时,博主犹豫了一段时间,面试官提示:
你听说过 PCA 降维吗, 这个问题可以通过 PCA 解决。我解释说,PCA 并不能完全解决您的这个问题,因为 PCA 只能解除线性相关,无法解决高阶相关性,
可以考虑 Kernel PCA。另外,整体感觉商汤的面试官幽默又不失严谨,博主常年在国外读书,
有时不知如何将一些专业术语翻译成中文,因此会再三和面试官确认问题,所以有了如下的对话:
面试官:你能解释一下 cross entropy 吗?
我:cross 什么?请问您说的是英文名字吗?
面试官:是,我是说的英文,哈哈哈哈
我:不好意思,我是担心我中文不好,真不是有意冒犯… …
面试官: 没事,是我英语太不好,哈哈哈哈,哈哈哈
然后是面试官长达半分钟的大笑,而我一脸懵逼 : )

其它公司的面试

  1. 能解释一下 xgboost 的原理和实现过程吗?
  2. 解释 L0 L1 L2 正则化
  3. 各种激活函数的优缺点
  4. Bagging 和 Boosting 的区别
  5. Max Pooling 和 Average Pooling 的区别,使用场景分别是什么?
  6. 1*1 卷积核的作用
  7. Loss 不收敛的原因和解决方法

上面的问题,博主都没有给出详细的答案,因为实在觉得这些问题都比较基础~~暂时想到这些问题,也许以后会再补充。
面试下来,感觉遇到的大部分面试官都非常专业,在面试最后都会详细地回答我问到的问题,也验证了一位已经工作过的朋友的话,其实,面试官比你更希望你能赢~
大家加油

Momenta实习生第一次面试经历
1、说说static的特性和作用?
2、说说共有继承和私有继承分别有什么区别和使用场景?
3、说说extern的作用和为什么能够实现这个功能?
4、介绍一下自己debug的大概流程、并说说好的变成
5、问了问有没有做过大的开源项目,为了提高debug的效率自己有没有好的方式方法。
还有一些问题不记得了,反正问的很全面,很多都忘了,回答地像一坨翔,得知我做嵌入式编程比较多一些之后,就开始问嵌入式方面的知识:

1、了不了解inux的底层原理?不是很熟悉
2、说一说ABI和API。之前ABI是什么都不知道。。。。。
3、问了问电赛的四轴控制原理
4、问了存储器,rom、ram、flash的区别
然后最后问了问意向的部门什么的。。。。

你可能感兴趣的:(深度学习,码上生活)