大家好,我是SDD,最近有一些低年级同学包括一些同校的师弟们因为今年的算法行情都对自己找算法岗不自信,开始放弃初衷转其他岗位了,下面从我的个人校招经历来谈谈自己的理解,希望能帮助到未来的算法工程师们。
本人硬件出身,本科电气硕士控制,从去年5月转行算法以来入坑差不多有一年半了,在今年的校招过程中除了腾讯三面倒在coding上,其他参加面试的主流互联网公司CV/NLP/推荐广告/机器学习等算法工程师岗位基本都收到offer了,大多为白菜,少数是sp,具体的面试问题牛客论坛很多大佬已经总结的很详细了,下面主要把自己的一些经验感悟说一下。
首先,现在各大互联网公司的算法岗需求相比开发确实比较少但是并没有饱和,而且比较缺人(缺合适的),只是很多找算法的同学可能在项目经历/coding/实习/top竞赛/论文/学校上有所欠缺,如果在其中有一两项比较突出我觉得找个主流公司的算法offer问题应该不大,至少从我身边认识的朋友而言是这样,准确定位自己,如果简历上没有算法类的项目经历或者没有实习,没有算法类top竞赛经历可能在就业上难度确实比较大,而且从今年我面试的经历来说,主流公司核心部门的算法对学校要求都比较高,基本没有非985硕士,而且大多是top高校硕士,当然非核心部门在学校上要求会松一些,但总体相比于开发在学历上要求更高。
其次,对于算法一定要把握好提前批内推,因为提前批内推大多是不用笔试的,比如百度,阿里巴巴,腾讯,今日头条(白金码),美团,京东,地平线等都是不需要笔试的,等到了秋招基本都要笔试,从我今年做的一些笔试来说,很少通过,可能是因为做算法笔试的人太多但是需求比较少的原因,所以coding能力不是很强的同学一定要把握好提前批,等到秋招可能一次面试机会都比较难。
此外在找工作的过程中信息资源是最重要的,多认识一些和自己找类似工作的朋友,相互交流,分享招聘信息与面试经验对拿到offer帮助会非常大,我的美团面试机会就是后来通过我的朋友推荐的部门leader和HR直接面试的,同时多关注牛客论坛,这里面会有很多一手招聘内推信息与最新面经,记得暑假的时候自己每天平均刷牛客的时间可能在2个小时以上。
再说一下各大互联网公司的提前批面试流程与考察特点:
(1)今日头条:总共三轮技术面,优秀者后期会加面,若远程面试则均通过牛客视频会议进行,头条的面试效率比较高每轮面试大概1小时左右,三轮技术面半天就可以结束,且相邻场次面试等待时间大概为5-10分钟,考察重点为coding能力以及算法相关经历,基本每轮面试都会考coding,我当初一共被问了六题,如果没有通过面试也会当场告诉结果。
(2)百度:总共三轮技术面,百度面试风格和其它所有公司的风格均不相同,重视面试者的工程能力和基础知识,会考察linux系统常用命令,以及c++语言特性与数据结构基础知识,前两轮面试,面试的一半时间以上都在考察在线coding的能力,一般每轮1到2个相关的coding题目,三面是经理面这个看运气了有的会考代码有的不会考,大多数情况不会考代码,通过聊天考察思维,沟通能力。
(3)阿里巴巴:阿里巴巴招聘是集团统一负责,一旦简历被某个部门锁定则无法再面其它部门,直到这个部门的面试流程结束,简历释放才可以面其它部门,透露一个细节,如果不喜欢当前面试的部门可以和leader商量让HR释放简历转投其它部门,或者当前面试流程被回绝了也是可以再面其它部门的,但是阿里的面试评价是一直存在的,前面的面试评价如果不好后面会很难。阿里每轮面试都有一个评级,研发/算法达到B+就算通过面试,有下一轮面试机会,正常算法一共会有5轮面试,评级为A,前三轮是组内技术面(三面是你未来的部门leader),四面为交叉面,5面为HR面,没有交叉面评级就没有A,即使前面告诉的结果是通过面试了也基本拿不到算法OFFER。至于面试特点,阿里的面试比较注重思维,沟通表达能力,项目经历情况,整个面试过程一般只会考一个coding题,也有可能不考,因此简历好的同学面阿里相对会比较轻松。
(4)腾讯:总共三轮技术面,二面是leader,三面是总监面,腾讯的校招评级分的比较多有A- ,A, A+,S,达到A-就达到录取标准,因此腾讯的薪资差距比较大。就我面试的经历而言,腾讯比较注重算法理论基础,对算法基础知识问的比较多,也相对比较细。然后就是coding了,腾讯的coding比较喜欢考察一些DP的问题,对于总监面,我的总监面,面了两个多小时,全程只和我交流他们现有推荐算法工程化过程中碰到的一个问题,考察我们的思维能力。
(5)美团:总共三轮技术面,美团的面试感觉还是挺不错的,每一轮面试都会出一个coding题,但是不会通过coding刷人,会综合考察我们的经历,思维情况,从面试中给我的感觉,美团的算法应用做的相对比较多,面试官们对算法的理解也比较深,因此聊的比较开心,虽然代码基本都写的比较差,但是最后还是给我offer了。
(6)华为:华为的面试比较佛系,一般都是现场面,2-3轮,不同于其它任何互联网公司,华为比较看重学校,学历,还有成绩,会让我们带上成绩单,每一轮面试开始前都会仔细看我们的每一科成绩,就我上次的面试经历来说,没有问任何深一点的东西,大多都是简单浅显的询问就结束了。
(7)地平线:总共三轮技术面,地平线的三轮面试官都很NICE,正常面试不管我们说错了还是说对了,面试官都不会告诉我们结果,但是地平线的每一轮面试官在我们回答不正确或者不完善的时候,他们都会紧接着告诉我们正确答案,由于当时面试的是CV感知算法岗,因此三轮技术面问的全部都是计算机视觉相关的深度学习方法,除了常规基础知识,算法特点,地平线的部分面试官还会考察我们的学术思维。当然地平线也少不了coding要求,一面二面没有考察,三面的时候考了我三个coding题目一题Leetcode,两题概率题,coding难度中等。
好了,现在可以说一下算法面试重点需要准备的细节了,我觉得算法面试重点关注我们的算法思维能力还有项目/比赛/实习经历以及coding能力与一些概率相关题目。对于coding重点刷一下剑指offer加50道左右leetcode easy题,我觉得绝大多数面试基本可以应付(自己因为提前没有接触过数据结构,加上今年暑假去了5个城市参加答辩与出差耽误了20多天时间,只刷了35题剑指offer与3题leetcode,因此在面试过程中还是经常在写代码的时候被虐,只能拿白菜),然后就是概率相关题目,这个也是最容易被忽视的,在8月之前我并没有关注过概率觉得面试应该不会问,但是后来多了发现这个是面试的一个重点考察方面,尤其喜欢考硬币,扑克牌,随机数发生器相关,百度有相关总结基本都覆盖到了,除了这些基本知识外,在找工作前一定要丰富自己的简历,比较重要的就是实习/top竞赛或者比较好的项目经历,这样才能让我们的简历从简历池里脱颖而出获得面试机会。很多实验室导师都是不同意学生实习的,我自己也是,没有实习经历,但是可以通过算法竞赛与算法类项目进行弥补。在7月开始的内推前,我参加了多个比赛,涉及cv/nlp/推荐广告/数据挖掘等方面,获得3个top名次,当然最重要的是在这些比赛中学习到的一些行业知识。除了比赛,自己也做了实验室一个算法相关的小项目,并发了一篇水文。
最后,强调一下,口头offer不等于offer,作为应届生在求职的过程中一定要多找几个offer在手上才能保证自己不至于太过被动。在8月初的时候我先后收到了百度与蚂蚁金服的口头offer,头条也成功面完了三面,而且蚂蚁金服的leader和我承诺肯定没有问题,已经把我的offer报上去了,然后我就没有再投其他公司了,觉得两个已经够了而且都是比较不错的,再投其他的影响其他人找工作不太好,就这样拖到了9月底,但是却被告知他们部门算法hc发不了了,只能给我发研发offer。这个时候我再去投京东的,发现提前批基本结束了。后面又紧接着投了华为,地平线cv感知算法,美团广告部推荐,快手社科推荐,开始了疯狂的面试,于是在9月又拿到了头条,华为,地平线,美团的offer,快手三面自己主动放弃了。过程中先后还收到了阿里巴巴集团hr打来的电话说给我发其他部门的offer,阿里的招聘和其他公司区别还是蛮大的是集团统一负责。所以只要面试评级通过,就会不断被分到其他有hc的部门,主要是大文娱,高德这些。
最后的最后,算法没有网上说的那么难,但也不是很简单,只要你的简历上有一些算法相关的东西,找准自己的定位,坚持下去就可以,相信自己,祝大家都能找到自己满意的工作。
附我的知乎地址:
https://www.zhihu.com/people/chen-dong-dong-36-29/activities
欢迎大家关注我,后续我会在知乎上分享更多的经验。
---------------------
作者:ML_SDD
来源:CSDN
原文:https://blog.csdn.net/ML_SDD/article/details/84986528
版权声明:本文为博主原创文章,转载请附上博文链接!