赞
踩
大家好,我是卷了又没卷、薛定谔的卷的大厂算法工程师「陈城南」。
本文会从以上6个问题,全方位、全过程的对技术岗/算法岗校招进行介绍,以我的「计算机视觉算法岗秋招」亲身经历作为基础,将面试经验分享给大家,对非视觉方向、非算法岗的同学我觉得也有很大的参考意义。
「术虽不同,道却相同」。
之前和最近都有不少学弟学妹咨询我的工作上岸经验,因此我总结了一下与他们聊的关键内容,同时补充了一下,写下来这篇文章,供给大家学习与交流,有问题也欢迎指正。
先做下自我介绍,方面大家进行参考。觉得有参考价值的,可以继续看,没有参考意义的,就划过,因为本文的受众不是大佬,而是和我之前一样在秋招面前努力前行的普通人。
但还是需要提醒一下,我的经验,大家不要一味地模仿,需要因地制宜、因人而异地根据自身情况进行选择性吸收。
算法岗(计算机视觉,CV),投的岗位也集中在CV相关的算法,多模态、2D的CV都算(检测、分割、表征学习等),3D的自动驾驶等投了但不多,毕竟差别还是很大的,自己竞争力也不强。最后也拿了几个Offer,最终留在了实习转正的公司做电商CV算法。
由于去年(2023年)很多厂都是不开Offer的,即笔试过了、HR面了、面试也过了,但是不会发Offer(无论是正式Offer还是口头Offer),只有在开薪的时候才会告诉你你有没有Offer,这个薪资愿不愿意接,在此之前,都不会很明确的给你Offer,只有确保你愿意接的情况下,才会给你Offer,不然HC(Head Count)就浪费了。
这些都是去年的经历(个人,非普世),方便大家对比今年的秋招情况进行自我决策。
所以本经验贴的核心思想只有一个:我以我自己的视角,讲述一下我是如何准备秋招的,大家根据自身情况借鉴经验,希望大家都能顺利上岸~
不同公司有区别,但大同小异,技术岗的面试基本由 (机试)+ 一面 + 二面 +(三面)+ 主管面 +(技术加面) + HR 面组成,其中带()的是可选项。
根据我个人经验,面试内容划分为两类 Coding + 项目(项目包括八股等等),权重55开甚至6-4开。首先,Coding能力一定很重要,一定很重要,很多公司上来就是机试,代码能力不过关直接就pass了,根本没有后面的机会。而且到了技术面,也会有固定的手撕代码,如果代码没做出来,通过的概率会大大降低。这两个不太有先后顺序,有时候上来就是手撕代码,有时候聊完项目后才会手撕代码。具体的内容后面聊。
一般手撕代码会安排一道题,用在线编辑器或者自己本地编辑器(开共享)做,如果没做出来可能会提示你,在提示的前提下做出来也是OK的,如果还没做出来,可能会换一道,这个跟面试时间还有面试官的习惯有关。如果没写出来,但思路基本对,写了个七七八八,也是完全OK的。考察的题目数量也不固定,1道偏多,也可能2道,3道甚至更多。核心还是要考察代码能力+思考过程,毕竟面试官的目的就是找能干事的人跟他一起干活。
我个人的代码能力我认为只有中等(略)偏上,绝对没有ACM大佬的水平,我也做过开发岗的Coding题(帮同学或者自己做),所以对代码这方面相对些发言权,我觉得我的准备方案也更适合普通人。
首先,对于大多数的算法岗,我觉得Leetcode Meduim + Hot Hard 难度就足够了。而且,要做高频题。千万不要傻乎乎的在Leetcode上挨个做,要做性价比高的题。
大多数高频中等题能有思路,稳定做出来,其实代码基础就挺可以了。Hard题的难度浮动其实比较大,一些高频的hard题能做出来就行,这里给大家推荐一个我使用的高频题网站:https://codetop.cc/home,去年亲测,命中率还是很高的。
我个人做Top200左右(大概做了2-3遍甚至更多) ,其实只有第1遍比较通过,后面都背过了…做起来会相对容易些。我也会把 Meduim Top100+ 和 Hard Top+ 做一做,这个和Top200是重叠的,核心思路就是把 Top 的多做做,反复做,做出思路,做出手感。
做题这件事,越早越好,每天早上、晚上、有空时都做一做,没有坏处。有能力的同学可以增大题量。 也可以做做别的题,多看看知乎好贴,但这个网站真的很推荐,临时抱佛脚的最好方式。
项目时间,面试官的核心目的是了解你的能力如何,是否适配这个岗位,但面试官并不知道你会什么,唯一的话题就是你的简历。所以,简历一定要做好。如何做简历,这个后面聊。
面试官一定会以简历内容为支点,对你的能力进行了解。所以简历上没用的东西就可以少写点,挑核心的内容写,技术岗的特点就是禁止一些花里胡哨。项目经历包括实习经历、论文经历、项目经历,这些都算,主要是反映你都干过什么,通过这个面试官就知道你跟他们的岗位是否匹配。至于你对项目的了解深度、广度如何,通过跟你对项目的交流就能弄清楚,所以项目的细节必须要清楚。细节才能反映你到底是不是懂/亲自做了这个项目。细节包括不限于:项目背景和主要内容是什么,你干了什么,遇到了那些问题,如何解决?当然,如果面试官对你的项目并不懂,他可能就对细节相对没那么关注,毕竟你说错了他可能也不清楚。但细节一定不能瞎说,要实事求是,改编不是乱编。
面试官还会以项目内容为支点,对你的基础能力(八股等)进行了解。比如你的项目中用了Transformer,用了ResNet,面试官可能就会考察注意力机制、考察残差结构。用了Adam优化器,考察优化器的大概原理,以此类推。这些知识其实已经属于八股的范畴,但是这些也跟你的项目息息相关,所以这些内容对你来说属于重要的八股,需要有限学习。
自己做过的项目,搞清楚,搞熟这是最基本的,与项目相关的八股也是需要优先准备的。
当然,如果你是搞NLP的,或者搞开发的,也是相似的原理,在自己深挖的领域重点学习,在相关的领域也需要了解宏观的知识:最后推荐我看过的算法相关面试资料:
技术岗,一定杜绝花里胡哨,不用卡一页纸的限制,有什么就写什么,但是也不要太啰嗦太长,没用的、多余的区域就不用写了,应届生2页以内都合理,非常优秀长点也行。
做简历有很多网站,大部分都是付费的,有些同学使用Latex/Word等等做,这个见仁见智,我个人喜欢用超级简历的,每人有一个简历的免费资格,对我来说基本够用了,白纸黑字,很简洁,毕竟技术岗面试官关心你的技术,而不是你多彩的简历配色。
考虑到做简历需要根据个人情况而定,这里我只说几个宏观的大理论纲领,基于这几个条例进行做基本就没问题:
最难写的其实是项目经历这块,无论是项目、实习、论文和比赛,都是做了一件事,写简历时就要讲清楚做了什么事,可以遵循以下的“经历三段论”原则:
每段就1-3行就行,不用很细,粗略的说就行,给一个我自己的例子,个人付出和个人成长其实内容分的不是很清,大家写作时自行划分,主要还是三段式:项目干什么?我干了什么?我收获了什么
实习转正如果有可能、岗位尚可的话,建议大家坚持实习,争取拿到转正机会,毕竟实习转正会相对更容易些,而秋招的难度会大一些。但是,在实习期间一定不能松懈准备秋招,工作空闲的时候可以coding一下,或者可以看看经验贴、面经、项目知识、八股等等,这些都是文档的形式,作为学习的话不容易被发现。
其实这篇文章还是有很多秋招问题没有讲到的,但是一篇文章又说不清,大家有问题的也欢迎交流,全网同名「陈城南」,搜索来交流就行。
精力有限,如有错误欢迎指正。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。