不可错过的2019秋招CV岗心得!原来拿offer也是有套路的

10 月 8 日 极市平台

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~


来源:CSDN博客,遵循 CC 4.0 BY-SA 版权协议

作者:Lovewxy_不再回忆

链接:https://blog.csdn.net/weixin_37627840/article/details/101536344



前言


首先声明,楼主绝非技术大佬,但是作为刚刚结束秋招的“过来人”,深知求职的不易,尤其是在当下“互联网寒冬”的大环境下,找到一份自己满意的工作绝非易事。因此,在这里整理自己求职过程中的一些心得体会,希望能让学弟学妹们在求职的过程中少踩几个坑,早日拿到自己心仪公司的offer。


楼主是武大本科,北大硕士,在CV这个领域是半路出家,真真正正接触这个行业的时间,满打满算只有一年,其中包括深睿医疗4个月的实习经历以及华为2012实验室2个月的暑期实习经历,所接触的主要是cv相关的一些商业项目,项目周期相对较短,深度也是相对较浅,且无任何比赛经验、英文论文,因此楼主的简历背景在今年庞大的就业大军里最多只能算作中等水平。不过,通过自己的努力,还是拿到了包括科大讯飞、猿辅导、云从科技等在内的7个offer,虽然不比BAT大佬,但也基本符合预期。


言归正传,楼主的秋招从7月中旬开始,前后持续了2个半月, 投递简历60份左右,大约有35家公司给了面试机会,每个公司的面试通常包括2-4轮,保守估计,面试总场数在80场左右,因此算是有一定的面试经验。在这里楼主谈一下自己对于面试技巧以及公司选人标准的一点粗浅的理解,欢迎大家讨论!



面试关注点


这么多场的面试面下来,楼主以为,公司考察的点无非包括这么几个:


      1、项目经历


项目/实习/比赛经历通常是互联网公司尤其是算法岗最关注的点,现在早已经不是2年前靠手推SVM就可以进BAT的就业形势,当前互联网大环境不好,各大公司算法岗hc不足,甚至普遍出现了饱和的现象,因此,现在公司挑人不仅仅会要求你基础牢固,也会非常看重你的实践经验,经历匹配在简历初筛的这一步就会作为重要的筛选条件,更夸张的是,有的公司会在实际业务的层面上要求经历匹配。比如,我是做医疗影像的,曾经有一家公司以他们是做新媒体图像检索的拒过我简历;我是做目标检测的,有一家公司以他们主要在做语义分割为理由拒掉了我。所以说,积累相关的项目经验是重中之重。在这个基础上,公司非常看重项目的深度以及候选人思维的开阔程度,面试过程中,面试官可能会针对一两个细节不断追问,一方面确定项目是否由候选人自己完成,另一方面考察候选人对自己的项目理解程度如何。另外,面试官可能会问项目的一些可能的改进方向,来考察候选人的论文阅读量、实际解决问题的能力以及是否对这个问题有深层面的思考。


      2、coding


除了项目经历以外,代码能力是算法岗面试的另一个必考点。面试官通常会现场出1-3个代码题,让候选人在白纸上手写代码,俗称“手撕代码”。这一点非常重要,算法研发涉及到大量算法的实现以及工程化开发等工作,因此基本的代码能力是算法岗考察的重中之重。比如常见的动态规划、DFS、BFS、排序算法、双指针算法等,都是面试常考的点。楼主曾经遇到的一些题目包括K最大、堆排序、最长连续子序列、二叉树层次遍历、二叉树的非递归遍历、链表反转等。在这里还要纠正部分同学的一个误区,那就是认为只要代码实现出来了就万事大吉了,错!面试官会追问你算法的时间复杂度、空间复杂度、有没有优化的空间等问题,来重点考察候选人对于算法基础的理解,所以那些想着靠“暴力求解”和背答案的同学可能要老老实实补一下自己的算法基础了。


      3、深度学习、机器学习基础


部分公司喜欢问一些基础知识,比如深度学习里面的BN层、dropout层、解决过拟合的方法、L1和L2正则化的区别、ROI pooling和ROI Align的区别、经典的RCNN系列和Yolo系列等,再比如机器学习的SVM、LR、CRF、集成学习经典算法等,都是常问的知识点,楼主以为,这些都属于背诵题的范畴,只要肯花时间去学,用心理解用心记忆,这些都是没有问题的,切忌觉得这个工作里不用就不去看!楼主用的书是《百面计算机视觉》这本书,但是这本书可能涉及版权问题,所以这里不做过多解释······


      4、数学及智力题


有些公司喜欢用智力题来考察候选人的思维敏捷度,比如经典的海盗分钱币问题、抛硬币的概率计算问题、随机采样问题,处理这些问题主要是靠临场发挥,不过也需要一些预备知识比如概率论与数理统计、博弈论的基本思想等等,再就是通过多面试多刷题来积累相关的经验。


      5、计算机基础知识


这一项属于加分项,我知道对于很多非科班出身的同学来说,要把这个学会的成本很高,因为我就是其中之一。但是,在竞争异常恐怖的今天,有的时候加分项就是淘汰池与备胎池的区别,或者是备胎池和offer池的区别,因此,编译原理、操作系统、数据库、SQL语言等一些计算机基础知识,大家有时间的话还是要去学习的。

      6、实际场景题和科研进展的follow程度

许多公司喜欢把自己业务里遇到的场景拿出来跟候选人讨论,来考察候选人思路是否清晰、对算法的运用是否得当以及实际考虑问题是否全面、解决方案是否可行等等,这一部分没有窍门,只能靠多读论文多做项目来积累。楼主在面试中,还被问到过最新论文的问题,谈一谈自己对今年新发表的一些论文的看法,这个同样没有窍门,需要去追踪一些最新的科研进展,直接去读论文或者看技术大V的博客都可以。

      7、一些open的问题

这个通常是在主管面或者hr面里面,面试官会问关于职业规划、自身的优缺点、自己最得意的项目、自己喜欢做的方向、自己对于行业的理解与认识、是否能来实习等等,关于这些问题,建议同学们提前想好怎么回答,公司普遍喜欢对自己的规划清晰明确、肯吃苦、符合公司的文化、表述问题条理清晰有理有据的同学,大家可以根据公司的性质、岗位的要求等等这些,结合自身的实际情况事先想好一些可行的答案。



给学弟学妹们的几点建议


针对上面提出的面试重点关注的一些点,以及我求职的一些体会,我想给学弟学妹们几条建议,希望能带来一点帮助。

      1、明确方向,及早规划

求职过程中,楼主有一些同学不明确自己想做的岗位,把算法、开发、产品、运营等等各种岗位都投一下,私以为这样非常不利于自己的求职,因为现在的就业形势非常严峻,楼主全身心地准备其中一个都时常觉得力不从心,更何况同时试水多个职位呢。因此,建议学弟学妹们尽早地想好自己以后想做什么,可以多去看一些博客或者学校的一些就业推送,早点思考自己喜欢的职业和方向,明确了之后,就可以深入地去了解这个行业所需要的一些技术能力,然后根据自身的实际情况做好规划,循序渐进地提高自己。这样就不至于像无头苍蝇一样到处乱转,并且这个学习提高的过程也会给自己带来很多信心和成就感。


      2、提早准备,积累相关的经验


“纸上得来终觉浅,绝知此事要躬行”,在实战中提高是必不可少的一步。据我所知,研一的一年基本都是在上课,不会参与太多实验室的工作。因此,建议有条件的同学们提早出来实习,不要担心自己能力不足做不了(楼主找第一份实习的时候连归并排序都不会)!!!实习可以循序渐进,先找一些小规模的公司,然后逐步提升,但是一定要找技术氛围浓厚、能切实学到东西的公司,千万不要去做重复性工作(比如标标签、画图这种)。如果导师不允许实习,那么可以利用自己的空闲时间参加一些比赛(比如天池、Kaggle、AI challenger等),并且越早越好。

      3、夯实相关的基础知识

之前也有提过,算法岗的面试会涉及深度学习、机器学习的大量基础知识,大家可以选择一些网课和书籍来学习,在这里楼主推荐《机器学习》西瓜书、李航老师的《统计学习方法》、《百面机器学习》、李飞飞老师的CS231n课程,欢迎各位补充!基础的掌握务求深入细致,千万不要浮于表面只了解基本概念,要深入地思考一些技术细节。举个简单的例子,BN的原理大家应该都知道,但是如果我问你BN有几个可学习参数,BN的参数是什么维度的,BN有什么劣势,BN抑制过拟合的原理是什么,这些大家都能回答地上来吗?此外,建议大家在学习基础知识的过程中注意联系和总结,比如,还是以BN为例,BN存在一定的劣势,那么其他的什么归一化方式能弥补它的劣势呢,这些归一化方式相互之间有什么优缺点、又是适用于什么具体场景呢?而这些联系,通常也是面试官提问的思路线索。

      4、坚持刷题

coding写不出来面试必挂!这个规律目前屡试不爽,除非你是有顶会的大牛,否则coding一定要写出来,不然自己的面试分数会非常低!楼主常用的刷题平台是牛客网和leetcode,题目量非常大,如果大家时间不足,建议首先把剑指offer以及leetcode的前150题吃透,然后根据自己的情况,按照类别做一些强化训练。刷题的功夫在平时,切忌面试前拿个一两个星期随便刷个十几二十道题。刷题的过程中,注意总结题型,并且,一定要去找最优的解法!!!不要满足于把题目ac了就可以了,一定要去搜索相关的最优解法、思考时间复杂度、考虑常见的边界问题、总结常用的解题思路!!!

      5、提前想好项目怎么讲

这是面试的一个技巧,面试的时间有限,怎么才能在有限的时间内展现自己的优势所在、让面试官认可你呢。楼主以为讲项目的思路是关键所在。通常,面试官想听的是这个项目的需求、解决方案、创新之处、成果等,也就是说,这个项目是要做什么,你做了哪些工作,哪些是比较创新的,遇到了哪些技术难点,想了什么办法来解决,最后取得了什么效果。楼主在面试过程中,通常会按照背景+需求+分条陈述技术关键点+自己的工作+效果的思路来讲,这样起码能做到让面试官理解你在做什么。另外,这个过程中要注意突出自己的工作,还要想好怎么回答自己为什么要这么做,其他的方法尝试过没有,有没有对比过,为什么这个方法可以而其他的方法不行等等。现在的算法岗,调包侠的竞争力是比较差的,面试官想看到的是候选人独立思考、改进实验、解决问题的能力。

      6、心态一定要稳住

楼主从7月底开始找工作,一个月之后才拿到第一个offer,并且了解到朋友当中有至今拿不到满意offer的同学。在这里想告诉学弟学妹们一句,求职是场漫长而又艰苦的战斗,心态一定要稳住!!!最开始的多少连挂,或者多少次简历被拒,这都是正常的过程。千万不要纠结于自己为什么会挂,更不要去想别人拿了好offer,或者有为什么别人有offer我没有这样的想法。求职有的时候需要一点点运气,简历被拒可能不是因为你能力差,而是因为公司hc不足、或者人家想要做软件的你一个做算法的去报等等;面试通不过也可能不是因为你不行,而是因为恰好有比你更行的,或者就是别人面试发挥更好。楼主曾经有一次面试所有问题都回答上来,依旧没有通过,后来了解到,就是因为岗位的hc较少,别人更加优秀。因此,心态千万要稳住!!!所有人到最后都拿的到offer,千万不要挂了一两次面试就自暴自弃,从长远来看,准备面试的过程对于以后的工作乃至自己整个的人生都是有很重要的意义的。



结语


“一分耕耘,一分收获”,只要沉下心来准备,总是能学到很多东西的。楼主在这里祝所有的学弟学妹能够早日拿到自己心仪的offer!



-End-


推荐阅读:


添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流一起来让思想之光照的更远吧~


△长按添加极市小助手


△长按关注极市平台


觉得有用麻烦给个在看啦~  

登录查看更多
2+

相关内容

Top