正文
一晃又是冬天,终于快回国了,剑桥这里也应景的散散漫漫地飘起了雪花。刚过去的2018年对于我来说是格外不寻常的一年,这一年我开始不再只是为了A+的期末成绩而抱着山一样的资料找寻可能考到的知识点,而是从各种现实的问题中开始认真审视AI的价值,它的未来,它目前的困境,和于我来说,它是不是真的适合我。临近硕士毕业,除了每天在实验室一呆十几个小时的实验,我也开始接触国内的工作机会,毕竟,我的博士申请还没任何音讯,尽力去做的事情,就不要再费尽心力去考虑它的结果吧。
受到CVer群主的启发,我觉得把我近半年来的面试经验作为我在CSDN上的第一篇文章再合适不过 :)
先介绍一下背景,博主本科曼彻斯特大学数学专业,硕士剑桥大学应用统计学专业人工智能方向。最近半年申请了国内百度、商汤、Face++和其它几个公司的AI,计算机视觉相关的工作岗位,目前已经收到百度、商汤和其它几个公司的offer,大都base北京,还有其它的几个职位都还在面试中。请原谅博主从本科起就不在国内,对于国内的公司非常陌生,有些公司的名字就不写了。
百度面试经历
-
请自我介绍一下
-
看到你项目写到使用过Faster rcnn,请问Faster rcnn的优势是什么,为什么在这个项目使用Faster rcnn
-
能介绍一下 Faster rcnn RPN的作用和原理吗?
-
ROI pooling 的主要作用是什么?知道 ROI align吗? 它们两个的区别是什么?
-
说一下Faster rcnn anchor机制,分别说一下 RPN阶段 两种Loss分别是什么?
-
Faster rcnn有什么不足的地方吗?如何改进?还使用过其它的框架吗?
-
BN的原理
-
能介绍一下你经常用的optimizer吗?
-
解释一下什么是凸优化
-
编程题,手推SVM, 补全CNN部分BP的代码
-
编程题: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值,就是平时写的滑动窗口最大值
-
编程题: Leetcode 315原题,线段树,好像也是一个算法竞赛题。
- 开放性题目:如何进行数据预处理,如何进行数据归一化等等,最后还抛出一个他们业务中正在做的项目中遇到的问题。
总结:百度面试,技术面试总共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 不收敛的原因和解决方法
上面的问题,博主都没有给出详细的答案,因为实在觉得这些问题都比较基础~~暂时想到这些问题,也许以后会再补充。
面试下来,感觉遇到的大部分面试官都非常专业,在面试最后都会详细地回答我问道的问题,也验证了一位已经工作过的朋友的话,其实,面试官比你更希望你能赢~
大家加油!
---End---
另外,你如果想提前了解国内各大公司的面试经验和如何内推的话,欢迎加入AI算法岗求职大本营(知识星球)。
PS:本文作者已经成为星球的嘉宾
2019AI算法岗求职群(知识星球)
本星球主要面向今年(2020届)找工作的人群(研一/研二/大三等),目前已有超过200+同学加入。星球旨在分享AI算法岗的秋招准备攻略(含刷题)、面试经验和内推机会(含提前批)等。