社招转行CV面试经验分享:面试当场秀代码


本人普通本科毕业三年,电子相关行业,报的机器学习集训营第七期。目前只能说是跨进CV的大门,离真正的CV算法工程师还有很长的路要走。社招面试更看重的是项目经验,问的比较多的也是项目中的一些问题,对于一些基础知识的考察比较少,应该是默认都会的了,由于只面试过一些中小厂,所以一些经验可能不适用于大厂面试和校招。

中小厂面试一般1-2轮,公司更看重业务能力,所以面试更多的是根据简历中的项目和工作经历来提问,简历中有几个有含金量的相关项目经历即可,不需要写很多其他的内容,写到简历上的项目务必确保真的理解和熟悉,因为面试官一般会顺着你项目中用的技术来延伸提问。公司的产品最终都是要落地的,而工程落地一般是C++实现的,所以面CV岗有C++经验绝对是个加分项,自己之前一个面试就是由于C++不过关而直接挂掉的。

现在的CV算法更多的是用深度学习来做的,但一般公司对图像的前期处理还是会用OpenCV来做,所以一般也会问到传统的图像问题,OpenCV掌握一些常用的API即可,有时间的可以深入学习。

面试一般会问一些基础的深度学习的知识,自己面试中遇到比较多的问题是:
1)什么是过拟合,如何解决
2.)1*1卷积的作用是什么
3. 数据不平衡的解决方法
4. 什么是感受野。
除了这些,还被问到过传统的图像处理的知识,比如SIFT,图像的边缘处理等,传统图像处理的知识有时间的话可以多看下,时间不够的话了解一下几个最常用的就可以了。

面试的大部分时间都是根据项目和相关工作经历来提问,比如用到的backbone网络的知识(如网络的结构和ResNet能做到很深的原因)、训练中的调参问题(learning rate 、batch size 等)、使用的优化器、损失函数和评估指标以及训练过程的可视化,
对于数据的预处理或者是否做了图像增强以及为什么要这样做,样本中有没有噪声以及怎么剔除,分类问题中各个类别是否平衡等。

除了这些基础知识,面试官更关注的是运用这些知识来解决问题的能力,比如会问有没有自己设计过一些网络,最初的评估指标是多少,是如何优化提高的,中间遇到了哪些问题,这些问题的原因是什么,最终是怎么解决的,有没有更好的或者可替代的解决方案。

最后,面试官可能会假设一个业务场景,给出一个实际遇到的问题,让你给出一个方案,有时找不到最好的解决方法没关系,可以先给出一个可行的方案,然后面试官一般会慢慢引导你不断的优化自己的方案。

自己有做过一个Kaggle的比赛,排名还算可以,最后把代码放在了Github上,其中一个面试官想要看一个可量化的项目结果,于是自己把代码给他看,好感度立马上升了不少,最后顺利拿到offer, 如果面试官能认可你的项目代码,面试基本就没啥大问题。

最后的一些个人建议:
1. 多看论文,了解最新的行业进展
多读论文,不仅可以提高自己的专业水平,还能给面试官很大的好感。除了一些经典的论文,其他的论文不一定要全部理解吃透,只需知道这篇论文主要用什么方法解决了什么问题,相比于之前的方法有了哪些提升,提升有多大,有哪些方法可以应用到实际的业务场景中

  1. 认真的完成一个项目
    可以打一下Kaggle或者其他的竞赛,其他的项目经历也可,对于没有GPU资源的一些同学,七月的部分课程是有免费的GPU可以使用的,要充分利用好七月给到的资源,面试中问到的一些知识都是比较深的,如果自己只是简单的完成一个项目是完全不够的,很容易被面试官问跪,这也是为什么简历上的项目自己一定要真的动手做过,并且理解的很透彻

  2. 提高编程水平,没事刷刷算法题
    大家的工作内容主要就是写代码,所以编程水平的重要性不言而喻,中大厂的面试一般都有算法题,主要就是排序问题,比较难的就是动态规划的题目。没事可以多刷刷OJ,尤其是对于非IT出身的转行CV的,多刷算法题提高自己的编程水平很有必要,OJ的话选择LeetCode或者七月的OJ都是不错的


以上就是我的一些CV面试分享,希望对大家有用,同时祝愿大家找到满意的工作,一起加油~
已邀请:

要回复问题请先登录注册

收藏七月在线,一起向大牛进阶

ctrl+D或command+D可以快速收藏哦~