0、写在今天

最近跳槽了,在原来那家独角兽公司待了一年多,觉得发展受限就开始找工作了。

面试了一圈下来感觉社招比当时校招简单太多了,面了10来家,拿了5个offer,全是耳熟能详的大厂,薪资相对校招时已经涨了60%(晋升+跳槽)。

因为我只工作了一年,所以我的社招跟校招区别不是很大,流程也都还是差不多,这篇博客也还是蛮有参考意义的。

项目跟工作经历的占比会更重一些,代码题也还是必不可少,基本流程跟校招大差不差

一、写在前面

2020届毕业生,参加了今年秋招,写一篇博客作为总结以及对有缘人的帮助吧。没拿到BATTMD等大厂的算法OFFER,但也拿了4个中等规模公司的OFFER,包括两个独角兽公司,两个上市公司,自己勉强满意吧。

今年算法岗确实是神仙打架。面试期间遇到了很多双985的大佬都没拿到满意的OFFER。BAT核心岗好像都是顶会起步了,稍微差点的岗位对实习经验,代码能力也是要求贼高。入算法坑还是要谨慎。

主要针对算法岗,部分内容开发岗适用,部分不适用。

二、个人基本条件

211硕,深度学习研究方向,一篇二区论文,两段独角兽公司实习经验。

主要投递方向:计算机视觉算法岗,深度学习算法岗,广告推荐算法岗

三、时间线及必备知识 3.1 学历+大厂实习经历+论文+工程能力

学历(双985)+大厂(独角兽及以上)+论文(顶会)+强悍的工程能力 = BAT核心算法岗

工程能力包括两点:优秀的代码能力和丰富的项目经验

想去BAT基本4条得占三条,去独角兽公司基本得占两条,看自己情况来补强自己。

3.2 两个关键节点

1.春招实习开始时间节点(正月初十就会开始,甚至有些公司在春节前就会开始)

2.秋招正式工作开始时间节点(2021年应该是7月开始大范围秋招,少部分公司5月底就会开始)

3.3 时间线

1.春招开始前必须达到毕业要求,至少有一篇论文再投了(可能有些学校没有论文要求,这部分就可以忽视),然后该复习的都复习了,该刷的题都刷了。

2.春招开始后投简历,网申,找内推(内推现在是每个人都必须有,推荐下个牛客,找内推,找面经,找对象都可以在牛客);

3.顺利的话最好3月份就能出去实习,最晚4月底。到了5月还没出去的话我就建议别实习了,继续在实验室看基础知识,自己打打比赛或者抄网上的开源的项目;

4.实习期间除了正常完成工作外还得复习理论知识,丰富简历,准备秋招;

5.最好还是建议实习好好表现,去一家独角兽公司或者更大的公司实习然后争取转正,秋招实在太累,一般实习两个月左右就可以问领导表现怎么样,能不能转正,不能转就可以考虑做满三个月辞职专心复习,精力充沛的话继续边实习边复习也是可以的。

6.秋招是个心理跟生理的持久战,做好心理准备。我在被实习公司跟第一个意向书公司双重毁约之后,找到下一个OFFER之前经常睡都睡不着,压力太大。

3.4 必备知识

1.加分项:熟练使用spark, scala. 这是一个很大的加分项,非必备但如果熟练使用是很大的加分项,但如果只是半桶水还是别写到简历上。

2.编程语言:C++/JAVA会一样最佳,python必会。

3.刷题:剑指OFFER最少两遍,刷完剑指那面试期间的手撸代码基本没啥问题,但要想过笔试的话,还是得刷leetcode,笔试难度一般都是leetcode 中等难度及以上,今年大公司基本都是困难级别的了。

推荐几个网址:

牛客剑指OFFER专栏:

剑指OFFER解题详解:

leetcode:

4.机器学习理论:推荐包括cs229。常用算法都要会,最好是公式都要会推导。

5.深度学习理论:推荐吴恩达网易公开课。常用模型算法要会,BN 正则化这些也要熟悉。(理论建议多刷各种博客,我自己也整理了一些,有空后续会补充一些相关博客)

6.项目经验:建议准备两到三个项目,包括自己小论文项目,实验室内部项目和一个比赛(前百分之15,否则还是别写了)。

7.计算机理论知识:数据结构(所有技术岗都得会),计算机网络,计算机组成原理,操作系统。(在项目经验和实习经验较少的情况下计算机理论知识会问的很深)

三、简历撰写 3.1 简历两个原则

1:尽量简洁,尽量保证在一页之内,最多最多两页。公司HR一般一份简历就看2秒,写的太多只会适得其反。同时算法作为技术岗,主要看的还是项目经验实习经历跟岗位的匹配度,其他像什么奖学金,学生会活动,学生干部,这些乱七八糟的东西一概不要写,国奖省奖可以考虑提一下。

2:一定要真实,一定要真实,一定要真实。真实的意思不是指简历上所有的东西都是你亲手亲劳的,但你一定要熟悉,所有细节都要熟悉。包括项目经历比赛经历都可以是别人的,但一定要熟悉所有细节,被人问的回答不上来基本就炸了。

3.2 简历4个部分

个人信息,专业技能,科研成果,项目及实习经历。

1.个人信息:个人信息一定要包括姓名,学历,联系方式(邮箱和手机),求职意向。其他什么户籍啊,户口所在地啊,年龄啊这些乱七八糟的别写了。放照片的话最好放正式一点的,不放照片也可以,不放照片的话在个人信息里面加上性别。

2.专业技能:主要提一下每个技能都是4个级别,精通-掌握-熟悉-了解,按真实情况填写,了解的内容就别写了,写了精通的也必须得十分精通。

3.科研成果:按真实情况填写。

4.项目经历:建议写三个项目,前面也提了怎么选,每个项目在写的时候主要写三个部分,项目介绍,项目成果,个人负责工作。

四、面试流程和经验 4.1 面试形式

主要包括电话面试,视频面试,现场面试。不考虑其他因素前提下我觉得面试难度为视频>电话>现场。主要原因是因为其他内容一样的情况下,手写代码的难易程度不同,一般情况下远程面试出的题都会比较难,很多都是原创题,就是怕你会作弊,但电话面试只需要说出思路即可,所以简单一点,视频面试的话一般就要写出完整代码且需要自己设计测试用例,而现场面试一般因为在面试官眼皮底下做不了弊题目会简单一些,且可以让面试官提示一下,一般都是剑指或者leetcode原题,原创题比较少。

4.2 面试流程

以一个40分钟的面试为例:自我介绍–项目经历和实习经历–算法和计算机基础知识–手写代码–向面试官提问

1.自我介绍:一般是讲自己与面试岗位相关的内容,比如研究方向一致,有具体实习经验等,还有讲自己的优势比如性格优势,技术优势,不要讲什么学生会干部,校园活动这些与岗位毫无关系的内容。一般时间控制在三分钟之内。

2.项目经历和实习经历:一般如果项目经历丰富或者面试官对你的项目很感兴趣的话这一部分会占据整个面试的大部分时间,我自己秋招时最少15分钟,最多半小时,甚至有些面试自我介绍跟项目介绍后面试就结束了。这一部分需要对自己简历上写的项目十分清楚。一般面试官会先让你简单介绍一下项目,你需要交代项目背景,目的,用到的技术以及取得的成果,后续面试官会针对你项目中的创新点,项目中用的技术进行深入提问,一般都会由浅到深,由窄到广。这一部分常常也会随着问你的项目而把你其中涉及到的技术和理论知识问一遍。项目是重中之重,一般如果你的项目经历不够丰富或者项目太简单,或者跟部门工作完全不搭嘎,基本这轮面试就没了。

3.算法和计算机基础知识:这一部分时间跟前一部分相关,项目问的多,这部分时间就少,项目问的少,这部分就会问的多。主要还是优先深度,然后才是广度,不要给人留下你啥都会一点但啥都不深入,这样一点用没有。这一部分就是得好好看书跟看博客了。

4.手写代码:一般手写代码是1-2道题,头条比较变态,4论面试每轮3道题,其他公司我在面的时候一轮最多2道题。每道题一般都是先讲思路,然后代码实现,然后分析时间和空间复杂度,最后给出优化方案,一般能到第三步就算及格了,给出优化方案就是加分项。

5.向面试官提问:不要问什么面试表现怎么样,能不能通过,面试官是不会直接说的,毫无意义。这部分可以好好构思下,有时候问的好了是可以加分的。


本文由转载于互联网,如有侵权请联系删除!