同学们好,我是秋津。普通本科毕业三年,电子相关行业,报的【机器学习集训营 第七期】。
目前只能说是跨进CV的大门,离真正的CV算法工程师还有很长的路要走。
社招面试更看重的是项目经验,问的比较多的也是项目中的一些问题,对于一些基础知识的考察比较少,应该是默认都会的了,由于我只面试过一些中小厂,所以一些经验可能不适用于大厂面试和校招。
我的经验
中小厂面试一般1-2轮,公司更看重业务能力,所以面试更多的是根据简历中的项目和工作经历来提问,简历中有1-2个有含金量的相关项目经历即可,不需要写很多其他的内容,写到简历上的项目务必确保真的足够理解、熟悉,因为面试官一般会顺着你项目中用的技术来延伸提问。
面试常见问题
面试一般会问一些基础的深度学习的知识,自己面试中遇到比较多的问题是:
1、什么是过拟合,如何解决
2、1*1卷积的作用是什么
3、 数据不平衡的解决方法
4、什么是感受野。
除了这些,还被问到过传统的图像处理的知识,如:SIFT、图像的边缘处理等,传统图像处理的知识有时间的话可以多看下,时间不够的话了解一下几个最常用的就可以了。
面试的大部分时间都是根据项目和相关工作经历来提问,比如用到的backbone网络的知识(如网络的结构和ResNet能做到很深的原因)、训练中的调参问题(learning rate 、batch size 等)、使用的优化器、损失函数和评估指标以及训练过程的可视化。
对于数据的预处理或者是否做了图像增强以及为什么要这样做,样本中有没有噪声以及怎么剔除,分类问题中各个类别是否平衡等。
面试官最关心什么
除了这些基础知识,面试官更关注的是运用这些知识来解决问题的能力,比如会问:
“有没有自己设计过一些网络,最初的评估指标是多少,是如何优化提高的,中间遇到了哪些问题,这些问题的原因是什么,最终是怎么解决的,有没有更好的或者可替代的解决方案。”
最后,面试官可能会假设一个业务场景,给出一个实际遇到的问题,让你给出一个方案,有时找不到最好的解决方法没关系,可以先给出一个可行的方案,然后面试官一般会慢慢引导你不断的优化自己的方案。
自己有做过一个Kaggle的比赛,排名还算可以,最后把代码放在了Github上,其中一个面试官想要看一个可量化的项目结果,于是自己把代码给他看,好感度立马上升了不少,最后顺利拿到offer, 如果面试官能认可你的项目代码,面试基本就没啥大问题。
一些个人建议
一、多看论文,了解最新的行业进展
多读论文,不仅可以提高自己的专业水平,还能给面试官很大的好感。
除了一些经典的论文,其他的论文不一定要全部理解吃透,只需知道这篇论文主要用什么方法解决了什么问题,相比于之前的方法有了哪些提升,提升有多大,有哪些方法可以应用到实际的业务场景中。
二、认真的完成一个项目
可以打一下Kaggle或者其他的竞赛,其他的项目经历也可。
对于没有GPU资源的一些同学,七月在线的部分课程是有免费的GPU可以使用的,要充分利用好七月在线给到的资源。
面试中问到的一些知识都是比较深的,如果自己只是简单的完成一个项目是完全不够的,很容易被面试官问跪,这也是为什么简历上的项目自己一定要真的动手做过,并且理解的很透彻
三、提高编程水平,刷刷算法题
大家的工作内容主要就是写代码,所以编程水平的重要性不言而喻。中大厂的面试一般都有算法题,主要就是排序问题,比较难的就是动态规划的题目。
没事可以多刷刷OJ,尤其是对于非IT出身的转行CV的,多刷算法题提高自己的编程水平很有必要,OJ的话选择LeetCode或者七月在线的OJ都是不错的
以上就是我的一些CV面试分享,希望对大家有用,同时祝愿大家找到满意的工作,一起加油~