- 技术岗 / 算法岗面试流程是什么样的?
- 技术面都干什么?
- Coding 机试如何筹备?
- 技术面考查哪些常识,如何筹备?
- 我的项目八股如何筹备?
- 简历要留神什么?怎么做?
大家好,我是卷了又没卷、薛定谔的卷的大厂算法工程师「陈城南」。
本文会从以上 6 个问题,全方位、全过程的对技术岗 / 算法岗校招进行介绍 , 以我的「计算机视觉算法岗秋招」亲身经历作为根底 , 将面试教训分享给大家,对非视觉方向、非算法岗的同学我感觉也有很大的参考意义。
「术虽不同,道却雷同」。
前言
之前和最近都有不少学弟学妹征询我的工作上岸教训,因而我总结了一下与他们聊的要害内容,同时补充了一下,写下来这篇文章,供应大家学习与交换,有问题也欢送斧正。
先做下自我介绍,方面大家进行参考。感觉有参考价值的,能够持续看,没有参考意义的,就划过,因为本文的受众不是大佬,而是和我之前一样在秋招背后致力前行的普通人。
但还是须要揭示一下,我的教训,大家不要一味地模拟,须要就地取材、因人而异地依据本身状况进行选择性排汇。
状况介绍
算法岗(计算机视觉,CV),投的岗位也集中在 CV 相干的算法,多模态、2D 的 CV 都算(检测、宰割、表征学习等),3D 的主动驾驶等投了但不多,毕竟差异还是很大的,本人竞争力也不强。最初也拿了几个 Offer,最终留在了实习转正的公司做电商 CV 算法。
因为去年(2023 年)很多厂都是不开 Offer 的,即口试过了、HR 面了、面试也过了,然而不会发 Offer(无论是正式 Offer 还是口头 Offer),只有在开薪的时候才会通知你你有没有 Offer,这个薪资愿不愿意接,在此之前,都不会很明确的给你 Offer,只有确保你违心接的状况下,才会给你 Offer,不然 HC(Head Count)就节约了。
这些都是去年的经验(集体,非普世),不便大家比照往年的秋招状况进行自我决策。
面经分享
所以本教训贴的核心思想只有一个:我以我本人的视角,讲述一下我是如何筹备秋招的,大家依据本身状况借鉴教训,心愿大家都能顺利上岸~
面试流程总览
Q:面试的流程个别是怎么的?
不同公司有区别,但大同小异,技术岗的面试根本由(机试)+ 一面 + 二面 +(三面)+ 主管面 +(技术加面)+ HR 面组成,其中带()的是可选项。
- 机试 就是大家一起线上做题。
- 面试(一面、二面等技术面)个别为视频面试,无论是否有机试,都大概率有手撕代码环境来考查代码能力(即面对面出题进行 coding),其余工夫则为面对面交换考查算法能力,包含不限于我的项目教训、算法八股等。
- 主管面 通常也会考查技术,但有些时候主管面和技术面是叠加的。
- 技术加面 为更多的面试机会,通常在主管面之后,个别在主管面后的加面,都有更大的机会取得更高的面评(因为面评好才加面);
- HR 面 大多不考查技术,聊一些技术无关的货色,职业规划等等。
Q:技术面个别都干什么?筹备面试的优先级是什么?
依据我集体教训,面试内容划分为两类 Coding + 我的项目 (我的项目包含八股等等),权重 55 开甚至 6 - 4 开。首先,Coding 能力肯定很重要,肯定很重要,很多公司上来就是机试,代码能力不过关间接就 pass 了,基本没有前面的机会。而且到了技术面,也会有固定的手撕代码,如果代码没做进去,通过的概率会大大降低。这两个不太有先后顺序,有时候上来就是手撕代码,有时候聊完我的项目后才会手撕代码。 具体的内容前面聊。
对于 Coding 筹备
Q:手撕代码环节个别是怎么的?
个别手撕代码会安顿一道题,用在线编辑器或者本人本地编辑器(开共享)做,如果没做进去可能会提醒你,在提醒的前提下做进去也是 OK 的,如果还没做进去,可能会换一道,这个跟面试工夫还有面试官的习惯无关。如果没写进去,但思路根本对,写了个七七八八,也是齐全 OK 的。考查的题目数量也不固定,1 道偏多,也可能 2 道,3 道甚至更多。外围还是要考查代码能力 + 思考过程,毕竟面试官的目标就是找能干事的人跟他一起干活。
Q:不同公司的 Coding 难度如何?如何筹备 Coding?
我集体的代码能力我认为只有中等(略)偏上,相对没有 ACM 大佬的程度,我也做过开发岗的 Coding 题(帮同学或者本人做),所以对代码这方面绝对些发言权,我感觉我的筹备计划也更适宜普通人。
首先,对于大多数的算法岗,我感觉 Leetcode Meduim + Hot Hard 难度就足够了。而且,要做高频题。千万不要傻乎乎的在 Leetcode 上挨个做,要做性价比高的题。
大多数高频中等题能有思路,稳固做进去,其实代码根底就挺能够了。Hard 题的难度浮动其实比拟大,一些高频的 hard 题能做进去就行,这里给大家举荐一个我应用的高频题网站:https://codetop.cc/home,去年亲测,命中率还是很高的。
我集体做 Top200 左右(大略做了 2 - 3 遍甚至更多),其实只有第 1 遍比拟通过,前面都背过了.. 做起来会绝对容易些。 我也会把 Meduim Top100+ 和 Hard Top+ 做一做 ,这个和 Top200 是重叠的, 外围思路就是把 Top 的多做做,重复做,做出思路,做出手感。
做题这件事,越早越好,每天早上、早晨、有空时都做一做,没有害处。有能力的同学能够增大题量。也能够做做别的题,多看看知乎好贴,但这个网站真的很举荐,长期抱佛脚的最好形式。
对于我的项目 / 八股
Q:面试除了 Coding,我的项目工夫都聊些什么?
我的项目工夫,面试官的外围目标是理解你的能力如何,是否适配这个岗位,但面试官并不知道你会什么,惟一的话题就是你的简历。所以,简历肯定要做好。如何做简历,这个前面聊。
面试官肯定会以简历内容为支点,对你的能力进行理解 。所以简历上没用的货色就能够少写点,挑外围的内容写, 技术岗的特点就是禁止一些花里胡哨 。 我的项目经验包含实习经验、论文经验、我的项目经验 ,这些都算,次要是反映你都干过什么,通过这个面试官就晓得你跟他们的岗位是否匹配。至于你对我的项目的理解深度、广度如何,通过跟你对我的项目的交换就能弄清楚,所以 我的项目的细节必须要分明 。细节能力反映你到底是不是懂 / 亲自做了这个我的项目。细节包含不限于: 我的项目背景和次要内容是什么,你干了什么,遇到了那些问题,如何解决?当然,如果面试官对你的我的项目并不懂,他可能就对细节绝对没那么关注,毕竟你说错了他可能也不分明。但 细节肯定不能瞎说,要捕风捉影,改编不是乱编。
面试官还会以我的项目内容为支点,对你的根底能力(八股等)进行理解 。比方你的我的项目中用了 Transformer,用了 ResNet,面试官可能就会考查注意力机制、考查残差构造。用了 Adam 优化器,考查优化器的大略原理,以此类推。 这些常识其实曾经属于八股的领域,然而这些也跟你的我的项目非亲非故,所以这些内容对你来说属于重要的八股,须要无限学习。
Q:我的项目、八股等内容如何筹备?
本人做过的我的项目,搞清楚,搞熟这是最根本的,与我的项目相干的八股也是须要优先筹备的。
- 除了这些,更狭义的八股能够参考网上的一些帖子进行学习。比方我是做计算机视觉表征学习,那么指标检测、语义宰割这些 同为计算机视觉工作的八股也是须要看的。看这些八股时,因为精力起因,大家必定不会把细节都搞懂,就尽量 看一些 high-level 的常识 , 做到对其余工作有整体的认知就行。
-
- 比方检测就晓得经典的网络框架(one-stage, two-stage),别离有哪些网络(YOLO,FastCNN 系列),有何特点(为什么从 FastCNN 优化为 FasterCNN)等等,都是宏观的常识。
- 语义宰割根底的 U -net, encoder-decoder 框架等等,以及对应的网络,金字塔、全卷积等等,相似的知识点。
- 当然还有一些别的畛域,次要聚焦在利用场景大的工作就行,太偏了.. 性价比低
- 至于更多的我的项目细节,没看就没看,面试官问到了就恳切抵赖没搞过这个方向 ,不是特地理解细节。 但这些都有一个大前提,就是你对本人的方向比拟懂,然而其余方向都是跨畛域,所以理解无限。
当然,如果你是搞 NLP 的,或者搞开发的,也是类似的原理,在本人深挖的畛域重点学习,在相干的畛域也须要理解宏观的常识 :最初 举荐我看过的算法相干面试材料:
- https://github.com/zonechen1994/CV_Interview:这个帖子挺好的(强推),我过后次要看深度学习方向的(是我的方向),我集体感觉,反复率还是挺高的,也可能是运气问题,然而真的挺不错。
- 我也看过一点 百面深度学习 / 百面机器学习 这两部书 , 百面深度学习很多常识都跟下面这个帖子是重叠的,可能就是同样的,然而不重要,重要的是内容好就行。书籍资源:https://github.com/hbchen121/algorithm-interview-materials
- 计算机视觉算法 面试必备知识点(2022)_视觉算法面试_奶盖芒果的博客 -CSDN 博客
- 还有别的 … 大家本人搜寻
对于简历
Q:晓得了面试要问什么,所以当初简历应该怎么做?
技术岗,肯定杜绝花里胡哨,不必卡一页纸的限度,有什么就写什么,然而也不要太啰嗦太长,没用的、多余的区域就不必写了,应届生 2 页以内都正当,十分优良长点也行。
做简历有很多网站,大部分都是付费的,有些同学应用 Latex/Word 等等做,这个见仁见智,我集体喜爱用超级简历的,每人有一个简历的收费资格,对我来说根本够用了,白纸黑字,很简洁,毕竟技术岗面试官关怀你的技术,而不是你多彩的简历配色。
-
思考到做简历须要依据集体状况而定,这里我只说几个宏观的大实践纲领,基于这几个条例进行做根本就没问题:
- 简历次要内容应该有这几个根底项:集体介绍、所修课程、把握技能、我的项目 / 实习 / 论文 / 较量经验、集体评估;
- 简历上写的货色必须懂!必须比拟理解!因为简历是面试官跟你聊天的支点,这也是你已知的可能问题,所以必须提前准备好;
- 集体评估我刚开始也没有,然而看了一个敌人的简历后我发现这个还是有用的,能够形容集体性情敌对、性情敌对乐于交换、刻苦致力等等,以凸显本身劣势,毕竟要是技术比不过他人,在性情上差异化竞争也是正当的。
-
最难写的其实是我的项目经验这块 ,无论是我的项目、实习、论文和较量, 都是做了一件事 ,写简历时就要 讲清楚做了什么事 , 能够遵循以下的“经验三段论”准则:
- 整体背景:这个我的项目是干什么?
- 集体付出:我在这个我的项目里干了什么?(用了哪些技术,做了哪些优化)不必很长,很细,概述就行。
- 个人成长:我在这个我的项目里播种了什么,获得了什么成长,失去了什么
每段就 1 - 3 行就行,不必很细,粗略的说就行,给一个我本人的例子 ,集体付出和个人成长其实内容分的不是很清,大家写作时自行划分,次要还是三段式: 我的项目干什么?我干了什么?我播种了什么
对于实习
Q:如果在实习,如何均衡实习转正和提前批 / 秋招筹备?
实习转正如果有可能、岗位尚可的话,倡议大家保持实习 ,争取拿到转正机会,毕竟实习转正会绝对更容易些,而秋招的难度会大一些。然而, 在实习期间肯定不能松散筹备秋招,工作闲暇的时候能够 coding 一下,或者能够看看教训贴、面经、我的项目常识、八股等等,这些都是文档的模式,作为学习的话不容易被发现。
收尾
其实这篇文章还是有很多秋招问题没有讲到的,然而一篇文章又说不清,大家有问题的也欢送交换,全网同名「陈城南」,搜寻来交换就行。
精力有限,如有谬误欢送斧正。