2019 cv/dl岗提前批面经

最近总算稍微忙完手头之事,加之最近从不同渠道得知今年cv/dl岗竞争惨烈,感触颇多,深觉自己侥幸…故克服懒惰(毕竟再不写就要9月了),总结一下自己八月初 cv/dl岗的提前批面经吧,之前有不少小伙伴单独和我交流过,不过单独交流时总有遗漏。想来相关专业同学朋友不少,故面经总结如下,望能有所帮助,有误或疏漏之处,还望大佬们在文内拍砖指正!

因为自己的面试大多都集中在7月末和8月初的一两周,算法题还好,其他的因为记忆力比较差就只记得大概了,再不总结记录一下真的就要忘了。因为面试经历不多,样本量不足,有胡言乱语、以偏概全之处,请见谅!

三轮技术面的侧重:

1、一面一般会比较细致的对着简历上的内容问一遍,这是自己的主场,每一个细节都要熟悉,基本面上几次就如数家珍了,然后还会问一些专业知识和算法题;

2、二面可能会简单聊聊简历,然后会问一些专业知识以及比较开放性的问题,很多是他们现在或者以前工程中会遇到的问题,有的甚至他们自己都没解决,想听听求职者的方法,最后会写算法题;

3、三面一般是leader级别来面,我反而觉得这一面是最简单的,有的不会问算法题,可能大多数时间都在聊实际问题,看看你的知识面是否够广,思维是否活跃。如果前面面的足够好,可能这一面会夹杂一点hr会问的问题,谈人生谈理想,面试官还会趁机宣传一下自己部门,聊完还加个微信互相点几个赞什么的。


算法题:

1、链表排序

2、顺时针打印矩阵

3、求两个无序数组的交集

4、经典的青蛙跳台阶问题

5、判断B数组是否为A数组的旋转数组

6、按绝对值大小排列的数组的二分查找

7、找一个排序数组的旋转数组中的最小值

8、给定一个无序数组,找到该数组中位数

9、求有正有负的数组中和最大的连续子数组

10、求一个带权二叉树的叶子节点之间最短路径中最长的一条

11、二叉树的深度遍历和广度遍历,写完广度遍历追后:那按行打印二叉树呢?

12、有一排房子,每个房子里有不同数量的财产,规定小偷不能偷连续两家的财产,求小偷收获最多的偷法

13、股票的最大利润:假设把股票价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少

总结:

1、大多数题都可以在《剑指offer》上面找到相同或者类似的题,有时间的话最好可以看一遍(虽然我没来得及看完),cv岗的算法题相对不难,一般3面下来只会问2~3道;

2、在写之前先想好思路,思考时间复杂度,并和面试官确认思路是否正确再动笔,必要的时候画图或者写公式;

3、很多时候可以面试官并不要求编程语言,不过要时刻注意语言的书写格式,尽量避免低级错误,比如c++中变量没有先定义后使用;

4、代码鲁棒性:养成检查输入是否合法的习惯

5、函数、变量命名要合理有意义,命名规则的话驼峰法就好

6、链表、二叉树的题coding过程中不要访问空指针指向的内存,提前判断一下

7、大部分面试者在能用python的情况下会选择python,如果c++熟练,可以多用c++写

8、在熟练的情况下可以秀操作,考虑用更高级的方法去实现

9、养成每思考一种解法就计算时间复杂度的习惯

10、各类排序算法要熟练,尤其是快排和归并,有的题目虽然不直接考,但是会利用里面的思想。

11、如果有的题不会做,可以想想最朴素的方法时间复杂度是多少,那么可以想想最优方法可能会是什么时间复杂度,再反过来考虑为了达到这样的时间复杂度可以使用什么方法。

12、链表题,一个指针不够也许可以试试两个;二叉树题很多都是考递归思想;动态规划试着用递归思想去写公式,用循环思路去写代码部分以避免重复计算;必要时看看是不是需要引入队列和栈。

复习资料:剑指offer


专业知识的考核以深度学习为主,机器学习为辅,maybe少量图像处理(不同岗不一样,也跟每个人的简历情况有关)

深度学习知识:

1、dropout的原理说一下,dropout前项、反向、测试的细节清楚吗

2、bn的原理及细节

3、知道哪些激活函数

4、梯度下降法

4、max pooling 和 average pooling的反向传播细节

5、CNN的特点及优势

6、组卷积,深度可分离卷积的理解及参数计算

7、训练深度网络可能出现的问题

8、什么是梯度消失、如何解决梯度消失

9、什么是网络退化

10、知道哪些损失函数

11、平时使用什么初始化方法

12、常用的优化方法有哪些

13、如何解决过拟合问题

14、用过什么深度学习框架,简单对比一下。你用pytorch的时候数据读取是怎么做的?看过caffe源码吗?dropout在caffe里是怎么实现的

15、自己研究的主task,经典和前沿的东西都要了解,经典的可能会让讲讲ResNet、DenseNet等等基础网络(如果是做检测的那就是检测那些,等等),前沿的可能会和你讨论最新的CVPR、ECCV

16、最好不同task经典内容也要有所了解,比如分类、分割、检测、检索、人脸task等等,不然2、3轮面对面试官抛出来的实际问题思路会比较局限,比如有三个面试官都和我聊了检测的内容,还有一个和我聊了一些NLP和CV结合的task


机器学习知识:

各种经典算法:SVM,逻辑回归、决策树、朴素贝叶斯、PCA等等

各种常用指标:Accuracy、Precision、Recall、ROC、AUC等等

复习资料:统计学习方法,知乎BAT面试1000题专栏(前几天刚看到,感觉不错,就是太多了,要是100题我可能会考虑看一下…)


图像处理知识(不一定会有)

各种常用算法原理理解:大津阈值,形态学方法、直线检测、图像匹配、图像去噪等等


比较open的问题

这类问题不同公司不同部门都不太一样,而且会涉及到部门具体的业务,面试中遇到的这类问题很多,就不一一列举了。这个主要考察知识面的广度、脑子灵活程度和经验丰富程度。如果能想到很多种方法,尽情的说出来吧!


hr面:

1、先花2分钟简单介绍一下自己吧

2、遇到过的最困难的一件事情是什么?

这其实是个挺难回答的问题,首先回答的问题必须足够难,如果只是个一周就能解决的问题,那hr可能会想,你遇到过的最难的问题是个一周就能解决的问题?所以需要好好思考一下。hr希望听到你遇到问题是如何解决问题的。

3、你有没有一直坚持到现在的一些习惯?

4、你最让人印象深刻的一点是什么?一定要能举出例子,不然hr也会问有没有例子可以佐证

5、身边有没有让你特别佩服的人,为什么?

6、目前手里有什么offer? 如实说就好了

7、为什么选择我们公司?这个问题最好能顺便体现一下自己对公司的了解,虽然可能只是面试前刚查的。

8、期望薪资是多少?


Tips:

1、每次接到公司电话都要存起来,不然以后错过了电话都不知道是哪家公司的,血的教训

2、做个Excel把自己的笔试面试安排都记录下来,时常更新,时刻清楚自己求职动态

3、写面经给自己看,每次面试完把算法题和问到的知识点记录下来,不会的赶紧查资料弄懂(太懒没这么做,导致被不同的面试官问了同样知识点后欲哭无泪)

4、自己做的task相关知识要足够熟悉(经典的+前沿的),知识面要广,最好各种task都知道个大概,比如做识别的,最好也能了解分割、检测、检索等基本task

5、面试最好了解一下该公司这个部门的主要业务,如果这是个偏research的部门,有比较经典和新的paper,可以了解一下。

6、面试也是个双向考察的过程,面试官很可能就是未来一个组的同事或者leader,在面试过程中也可以对这个部门有个初步的感受,对于选择offer时有一定的参考价值。

7、面试时不卑不亢,面对结果心态平和,等待的过程是幸福又痛苦,享受又煎熬的,在此期间请继续积极准备。

8、需要承认求职是件很看运气的事,有时候就差那么一点点运气,有时候就是多亏了那么一点点运气。平时可以多扶老奶奶过马路。

9、没拿到offer不一定是水平不行,原因有很多,不要轻易怀疑自己的能力,也许就是名额特别少,也许就是技术栈不那么符合,也许面试官不是你的伯乐,也许正好今年这个岗大牛云集。

哇,可爱的你竟然真的看到文末了!那你一定也想知道拿到的offer是哪几家,这个可能不方便直说,不过我可以告诉你:一家搜索很牛批,一家热衷卖东西,一家劝人玩游戏,一家每天整视频,还有一家最神奇,全厂都在搞cv

想起新的内容会补的,欢迎拍砖,祝一切顺利,offer多多!

你可能感兴趣的:(2019 cv/dl岗提前批面经)