26秋招总结——有些弯路本可以避免
Published:
作为一名决定回国找工作的美硕留子,秋招于我而言注定是一场充满焦虑的孤军奋战。网上相关的经验帖早已多如牛毛,但经过五十多场面试后仍不免感慨“绝知此事要躬行”。回望这段经历,如果有些事情可以早些知道,很多弯路或许可以避免,很多焦虑或许本不必存在。基于我在半年多的时间里摸索出来的规则与经验,希望能在这里写一个针对秋招的全面指南,为打破信息差做一点微小的贡献。
由于本人背景所限,以下内容主要适用互联网行业算法方向的校招岗位,目标公司主要是国内科技大厂。鉴于不同领域之间的差异以及岗位需求的快速迭代,有些具体的经验或许会很快不再适用,每个人的经历和看法也不会完全一致,这些内容只代表我的主观看法,愿每个人都保持开放包容的心态。
声明:以下所有内容和本人曾就读的学校以及就职的公司无关,完全基于个人经验而作。本帖所有内容均完成于校招正式入职之前。
目录
1. 秋招通用经验总结:参与互联网企业校招,从头到尾都需要做什么
本部分主要记录了我经历过的校招流程,从获取招聘信息、把握时间线到投简历、做测评和面试等。虽然通过各种官网公开信息我们都大致了解这些流程,但每一步具体在做什么以及该如何合理准备,则会让人无所适从。实际上这些事情并不复杂,并且存在很多潜规则和技巧,善于把握和利用它们可以让我们明白每个阶段该做什么,让秋招过程更加顺利。
1.1 秋招的招聘信息来源:该怎么获取和自己对口的岗位招聘信息?
秋招过程中获取招聘信息的主要途径如下:
各大高校的就业指导公众号:进入秋招季后,这些公众号每天都会大量发布当天新开的岗位推送,时效性很强,而且质量不错,如“清华就业”、“北大就业”、“浙大就业”等,是我获取信息的最主要来源,强烈推荐。由于网申过程相当费时间,因此我看到和我比较匹配的机会后一般会先收藏,后续有空时再按照顺序逐一投递。
校内微信群/学长学姐推荐:在校期间的年级大群、专业群里偶尔也会有人发布招聘信息,已工作的学长学姐有时也会在pyq等地方发布人贩贴。这种机会质量极高,可以直接联系到发帖的校友进行点对点的内推,发帖人本人很可能就是招聘部门里的成员,可以请其帮忙直接将简历递交给hr和业务部门,跳过泡池子的过程。相比于网上泛滥的内推码,这种真正的“内部推荐”是很宝贵的。这类机会不可特地去求,能否碰上主要看运气和人脉。因此,如果有这种途径的话建议持续关注,并勇敢地reach out抓住机会,但不能指望把它作为主要信息来源。
网上的各种校招内推群:在xhs等平台上可以看到很多,一般是花几毛钱买点资料后可以加入他们的内推群,里边有整理好的在线表格持续更新岗位信息,管理员也会定期发布新开的岗位。由于其受众范围更广,因此收录的岗位范围更加庞大,和自己相关的岗位信息密度会低一些,质量也参差不齐,可以作为辅助参考。“内推码”在校招中的作用现在几近于无,只有在少数公司可能影响team match定向到的部门,但总体来说填不填都无所谓,不太会影响最终面试结果。
牛客网、boss直聘等招聘软件:应该算是国内校招和社招获取招聘信息的主要途径之一,上面有海量的岗位,涉及大量专业领域。我自己没有使用过,不予置评。
知乎、xhs等社交平台:近两年很多招聘者也会在这些平台上面发布招聘信息,其中不乏质量很高的岗位,如果有对口的可以联系试试,或许能捡漏。但显然这也不能作为主要的信息来源,只能作为一种辅助渠道。
综上,我的秋招信息获取策略为:以各大高校就业指导公众号为主要信息来源,持续获取大量的新开岗位信息。同时,持续关注各种学校微信群和学长学姐发布的招聘信息,争取获得意向部门内部员工的推荐机会,并同时也关注xhs等平台作为辅助信息来源。
1.2 秋招的时间线:“金九银十”的说法是否准确?
以26届秋招(26年夏季毕业)的情况来看,(前一年,也即25年)6月中下旬时少数头部大厂和明星独角兽会开放提前批/人才计划的网申入口,7、8月份则会出现更多的提前批/人才计划的招聘信息,这段时间是这种它们的主场。提前批/人才计划的开放窗口一般会到9月份,在此之前除非招满了一般不会很快关闭。大批的普通校招岗位会在8月中下旬开放,到9、10月达到巅峰,11、12月则会逐步收缩,直到进入补录和收尾阶段。HR谈薪阶段主要在12月中下旬,某些较晚的也可能会拖到来年(也即26年)1月。因此,建议从6、7月就开始关注并尝试投递一些岗位,到8、9月时则应开始高强度投递。
网上常有“金九银十”的说法,也即9、10月是秋招最核心的时段。从开放岗位的密度来看这种说法没错,但结合我个人的亲身体会以及网上很多帖子的描述,这也是竞争最激烈的时段,体现为整天挂简历、没人约面试等,相当令人焦虑。但事实上我们发现,之前的7、8月和之后的11、12月反而是真正能高频拿到面试的时段,前者是因为提前批门槛较高导致投递的人较少,所以更容易约面,后者则可能是因为前期定的要求太高导致通过面试的人很少,或有些大佬早早拿到offer后又拒掉,使得公司发现hc招不满于是不得不放低门槛捞人。因此,“金九银十”期间约不到面试也不必过于焦虑,等到10月底、11月时很可能发现约面突然多了起来。
“秋招”这种制度在某种意义上算是一种历史糟粕,尤其是在互联网这种快速发展的行业。提前将近一年来决定一年后要做什么,这件事相当不合理:一年之后可能方向不再受重视了,组织架构调整了,当初招的人已不符合当前的需求,而谁又能预测未来呢?虽然肉眼可见的未来里这种机制大概率仍然会持续存在,甚至每年秋招开始的时间还在不断提前,但我看到很多新的独角兽公司(如“AI六小龙”中的某几家)已不再遵循这套陋习,他们更倾向于随用随招,贴近社招的节奏:这周面试的候选人下周就来入职或至少开始全薪实习,而不是等到遥远的未来。因此,如果致力于去这些新型公司的话,应注意其招聘的时效性。
1.3 秋招的岗位类别:人才计划和提前批是什么,普通背景的我应该怎么投?
现在各大公司的校招官网上都有一大堆不同的项目,如“顶尖人才计划”、“XXstar”、“提前批”等,令人眼花撩乱。但实际上可以归为如下3类:
人才计划:招聘目标主要是名校硕博等背景超强的群体,其上限极高,入职后的职级和薪资都会远超普通校招,典型的如华为天才少年、字节筋斗云等(所有在普通校园招聘和提前批以外的、带一堆修饰词的项目基本都可归结于此)。显然,这种岗位属于神仙打架,其简历筛选门槛和面试难度都高于普通校招,但好处在于一旦简历筛选通过即可跳过笔试、机考等直接进面试,省去前边一堆琐碎的流程,可以快速拿到面试机会。
提前批:和人才计划类似,相比于普通校招开放时间会早一两个月,门槛也会比普通校招高一些,但不像人才计划那么困难,定级和薪资也不会和普通校招存在太大差异。其通常也会包含免笔试、免机考等优惠条件,一旦简历通过就会直接约面,并且普通背景的同学也有相当的概率能通过。人才计划/提前批在很多公司中是独立项目,不受校招投递数量限制,因此它们非常适合前期用来刷面试经验。
校园招聘:也即不带任何修饰词的普通校招项目,绝大多数岗位均属于这类。通常流程比较繁琐,在拿到面试前要经历很多流程。同一个公司的校招岗位投递数量通常有限制,且即使一次投了多个,每个时刻处于流程中的投递岗位一般也只能有一个,挂了后才能开启下一个。
总结来看,鉴于普通校招岗位的前置流程过于繁琐,想要拿到一个面试很麻烦,因此可以适度地在7、8月投递一些提前批甚至人才计划岗位,它们一般不会占据后续的校招投递次数限制,且流程简单,很适合大量参与并获得面试经验。当然,这种策略可能有污染面评的风险,影响后续在该公司其他岗位的面试评价,因此建议至少做了基本的准备后再去参与(例如刷过一定数量的leetcode),不要毫无准备就随便乱面,尽可能认真对待,只不过不必有一定要通过面试的心里压力罢了。还需要注意的是,有个别公司的提前批项目会和后续校招项目冲突(例如提前批一直卡在流程中,导致后续投了校招岗泡池子没人捞),因此投递时也请仔细阅读相关说明,避免因提前批导致占用后续的校招机会。
对于绝大多数普通背景的同学而言,我们在秋招过程中会通过海投的方式来尽量增大拿到面试和offer的概率,投递数量少则几十多则数百甚至上千,此时很难通过头脑来记忆并跟踪每个投递了的岗位。我当时维护了一个在线表格来记录每个岗位的投递日期、投递状态、校招系统链接、各轮面试复盘等,实测能让管理这些信息方便不少。
1.4 秋招的投递与面试流程:网申、测评、机考、面试…每一步到底在做什么?
随着每年卷秋招的人越来越多,各大公司的校招筛人流程也在变得越来越繁琐。在26届秋招中,一个普通校招岗位的申请与面试流程可能包括如下步骤:
1)信息获取与网申:通过公众号等渠道获得岗位开放的信息后,通过公司招聘官网投递对应岗位,也就是所谓的“投简历”。官网投简历是个挺麻烦的事情,除去个人的身份学历等基本信息外,通常还需要在网页端手动填写诸多关于个人科研和实习经历的信息,比如依次写出每段科研的信息、依次列出每篇论文等。尽管系统里通常也会让上传一份pdf版本的简历,但仍免不了手动在那些框框中把简历中已有的内容再重新抄一遍,导致平均每投一个公司的岗位都得花费数十分钟。因此,建议将常用的文字(如每段科研经历的大段文字描述、个人评价描述等)保存在一个地方,每次网申时都可以直接复制粘贴,再结合公司特点进行微调,这样能节省很多时间。另外,面试过程中一般面试官似乎看的还是pdf版的简历,网页上填写的那些或许只是用于机筛或hr筛等,因此网页端内容即使填的不那么细致也问题不大(确保学校、实习公司这些硬性信息别错),而pdf版的简历内容则值得更认真地打磨。
2)测评与AI面试:网申后,大部分公司会很快发出测评链接,一般会包括智力测试和性格测试这两项(均为选择题),有些公司可能还有AI面试。这一步通常都是系统自动发出,并且要求在几天之内自由选择时间做完,属于hr简历筛选的前置步骤,其结果也是hr筛简历的参考因素之一。只要投了简历就得花时间做,并且可能做完后过几天被告知简历筛选未通过不约面,因此这一项给秋招投递带来了巨大的时间精力浪费(而提前批一般就可以免去这个麻烦,虽然也可能面试全部通过后让补一下,但如果面评好的话这就只是补个流程,不太会影响offer结果)。
智力测试:类似考公的行测,一般会包括阅读理解、应用数学题、图形推理等,考的东西本身不会超过初中难度,不需要任何专业知识,但一般题量很大,时间比较紧张,其通常是每类题型有一个总的时间限制,因此要注重答题速度,不要因为前面追求完美导致后边答不完。这种测试的环境要求一般比较宽松,只要别和他人交谈即可,一般可以用计算器(具体请参考每个公司的要求)。虽然图形推理等问题如果没刷过的话确实很难做的特别好,但总体来看只要智力正常且时间把控没问题,这部分的总分大家应该都差不多,不会特别影响hr筛选的结果(相当于“通过性考试”而不是考公那种“选拔性考试”)。因此,不必花费过多时间刷这个,如果想提前了解一下的话可以看看这类测试的官方题库“北森”,在xhs上也可以花几毛钱买到题库。简单看看知道怎么回事就好。
性格测试:测评中最抽象的部分,主要是针对个人性格、领导力等维度的测评,题量巨大且都有时间限制(通常会有数十到一百题),本意是希望候选人“凭直觉作答”而不是刻意编造,但显然我们也不可能真就随便答。典型的问题如“你认为下面哪个描述最符合你”、“你对于未来的态度最符合哪一项”等。其折磨之处在于,大部分题目的各个选项都不存在明显的优劣之分,也即可能“下面哪个描述最符合你”的几个选项都是“好词”,比如“保守稳重”、“乐观积极”、“有领导力”等,但它又非要让你选出“最符合的”或“最不符合的”,迫使你必须要分个高下,因此不能抱着“反正我都选好词就是了”的心态来答题,这样到后边可能会乱套,忘记之前具体答的是什么。而性格测试结果相比于智力测试会在hr筛选中占据更大比重(见过有人因为这个被挂的),因此这部分确实需要认真对待。事实上,性格测试的成败主要包括两点:一是前后作答要一致,这一点是系统判定你是“凭直觉作答”还是“刻意编造”的主要依据,比如前边一些题你选了最符合自己的描述是“保守稳重”,在后边遇到类似表述如“我做事情力求不出问题”时也要尽量选上,不要在存在这种明显类似的表述时选择其他差异很大选项如“相比于保守我认为创新探索是做事的第一准则”,一个人的性格不可能面面俱到的完美,关键在于不要“精神分裂”;二是答案要尽可能符合该公司的价值观,如上所述很多题目的选项都是“好词”,但不同公司的风格是存在很多差异的,如果系统判定你的性格和公司做事的准则不匹配也会有很大概率挂掉,例如某厂强调艰苦奋斗服从集体,这时候你选很多诸如“领导力”、“突破规则”这样的选项就不太好,而这种答案在其他一些强调创新和活力的大厂则是不错的。每次做某个公司的性格测试前,可以在xhs上具体搜一下其他人对于这家公司性格测试的经验分享,相比于直接盲做有很大帮助。
AI面试:是大模型火爆后新出现的一种筛选方式,在26届秋招时开始有少数公司让做这个,相信未来会越来越多。其形式为和AI虚拟人面试官进行对话互动,基本上也属于综合素质测评,不会涉及较深的专业知识。一般形式为AI先抛砖引玉让你讲述一些自己之前的科研、实习、课外活动等经历,然后再就你的描述进一步深入提几个问题,比如“在这个活动中你们几个人具体是怎么分工的”、“你印象最深的困难是什么”,有时针对科研经历也可能简单问一些和技术有关的问题,但这些问题通常比较浅层,即使涉及到专业相关的问题也浅尝辄止,和真正的专业面试区别还是很大的。因此这种面试只需提前熟悉一下自己过往的经历即可,无需特别地准备。有些注重英语能力的岗位AI面可能也会涉及用英语介绍自己或介绍项目,但通常也就说两三分钟那样,难度不大,如果对于英语能力不自信的话可以简单准备一下以备不时之需。
3)笔试和机考:很多公司对于技术岗也会要求技术笔试和机考,它通常也属于简历筛选的前置阶段,有些公司可以在一定时间内自由选择时段完成,也有公司要求必须参与每周固定几个时间点场次,成绩在后续会作为hr和面试官的参考数据。这一步我比较失败,基本上只要做了笔试机考的都挂了,到最后也没找到什么好的速通方法。笔试通常就是八股文考试,例如编程语言特性、网络通信协议、机器学习基础知识等,其涉及面通常无法预测,很可能远超你面试的岗位或科研方向涉及的范围,例如投的是大模型算法工程师,笔试也可能会考C++八股,因此我没有什么好的办法可以准备,感觉要么平时基础知识就很扎实,要么就得花费很多精力大面积复习。机考则是使用类似ACM竞赛的平台进行在线代码编程测试,一般为2h做3~4道题,过多少测试数据点就得多少分。其题目通常都是公司新出的情境题,比leetcode复杂很多,很难提前准备或刷到原题。我也试过刷同一公司的往年机考题,但感觉收效甚微,没什么规律可循。
4)技术面试:上述流程全部走完并通过hr筛后,简历会被送到业务部门进一步筛选,如果业务部门觉得匹配的话就会让hr联系候选人约面(提前批和人才计划可以直接到这一步)。国内hr绝大多数都会通过直接打电话来联系,高峰时段为下午2~6点,通常不会使用邮件或短信等方式沟通,因此务必确保秋招期间手机畅通,遇到陌生电话不要随意当诈骗电话挂掉,看到陌生未接来电(尤其是连着拨了好几次的)也尽量及时回拨。这对于秋招期间在国外的同学非常不友好,由于时差原因那几个月我只能每天整晚都开着手机铃声,经常在半夜接到约面电话。为了避免关机期间错过来电,我还开通了一个未接来电提醒服务,这样即使关机了在下次开机时也能收到未接来电的信息,防止错过机会。技术面试一般最少三轮,最多可达五六轮,越往后面试官的级别越高。具体有关面试的内容详见下文相关部分。
5)hr面:技术面全部通过后,很多公司会进一步安排一轮hr面,其有可能在最后一轮技术面后很快发出,也可能过好几周后才有,主要考察个人综合素质以及了解未来工作倾向等。hr面通常氛围相对轻松,虽然也可能让你简单介绍自己的项目经历,但重点不在于具体技术细节,而在于其对你个人成长的影响、和这个岗位的适配等软性因素。该过程中也会涉及到对于你未来工作倾向的调研,比如家庭情况、期望的base地点、期望几年后的成长路径、期望薪资等等。由于此时你已经走完了技术面,相当于业务部门已经基本认可了你的能力,hr面则是进一步评估如果你入职了的话到底是否能适配公司环境,因此完全可以在合理范围内表达个人的真实倾向,而不必像测评那样顶着被筛掉的压力刻意逢迎。其中,期望薪资是一个相对敏感的话题,它在一定程度上可以衡量你对于自己价值的评估、对于市场情况的了解、对于这份职位的认真程度等,因此建议在hr面之前大致调研一下同类岗位等薪资范围(例如在offershow上查询往年情况),问及相关问题时可以说“我的第一份工作更看重平台和成长,薪资并不是我唯一考虑的因素,但我相信一个合理的薪资也是激励我未来努力的动力之一。我的期望薪资大概在XX范围内,相信公司也能根据我的面试表现给出最合理的待遇”,这样既不显得太过于注重金钱,也暗示了你对于行情是有过调研的,也不是能随便被忽悠的。注意谈论薪资预期时最好给出一个具体的数字范围,不要只说“无所谓”、“不在意”这种话,这会让人觉得你啥也不懂,并且没有积极了解行情,我最早通过技术面的一个岗位就因为未做充分调研在hr面被挂了,因此虽然它不是专业知识考察,但也值得重视和准备。
6)谈薪:这是校招流程的最后一步,除了少数特殊的人才计划外,通常大部分公司都会集中在一个时段进行,如12月中下旬。因此如果早早就走完了技术面和hr面,之后很长时间没动静,系统里也没说挂了,那大概率就是在等最后开奖。谈offer是一个挺复杂的博弈过程,关于谈薪技巧、多个offer的周旋策略等在xhs上有海量的帖子讲,而且我的谈薪也说不上成功,这里就不再多说了。
在公司校招官网上,投递岗位后通常会有一个进度条显示当前投递状态,如“笔试中”、“简历初筛中”、“面试中”等。遗憾的是,绝大部分公司只会在候选人成功通过某个阶段并进入下一阶段时主动联系,如果在某一步挂了的话是没人通知的,需要自己登陆系统并发现是否被挂了。因此每次点开这些系统时的心情无异于开盲盒,并不是一件令人好受的事情,但及时跟进自己每个岗位的状态又是很必要的,这样才能及时剔除已经结束的流程,并规划接下来的新投递与面试安排等。
2. 算法岗面试速通:面试到底是怎么一回事
技术面是算法岗的专业面试环节,通常少则3轮,多则5~6轮,其直接决定了业务部门对于候选人的评价,是校招中最重要的环节。面试本质上是公司希望在1h左右的时间里快速评估你的背景是否适合该岗位,因此面试中的每个细节都可能决定成败,每次面试都值得琢磨和复盘。
2.1 校招要求的背后逻辑:什么因素决定了是否能通过面试?
虽然每家公司在官方推送中都会强调如“追求极致”等期望品质,但这些描述很虚无飘渺,难以把握。那么公司在校招时具体看重什么呢?针对除人才计划外的绝大多数普通岗位,我认为公司的校招要求本质上可归结于如下几方面,它们的重要性也有所差别:
方向对口:这一点是我认为绝大多数技术面最看重的方面,尤其是偏业务和工程的岗位。虽然我们总能看到新闻报道中各种大佬被千万年薪挖走做新方向,但作为普通背景的校招生,公司招我们和招那些大佬的逻辑是不同的:招大佬招的是他们的个人能力,招我们则招的是我们的对口经验。虽然不否认正常公司对于校招生是有一些潜力方面的培养和期待的,但由于现在大环境太卷,国内同学毕业时大多好几段实习/科研,因此公司对于校招生的经验要求也越来越高,以我看到过的某岗位的非常搞笑的招聘要求为例:需要26年毕业且无正式工作经历的校招生,同时要求在相关领域具有不少于3年的经验。这就导致无论多么奇怪的方向,总能找到一堆人的简历上有相关垂直经历和论文,总有一堆背景对口的人抢这个岗位。因此,对于绝大多数非顶尖人才计划的校招岗位,公司对于校招生的期待实际上已经变成了来了以后能快速上手干活,而不是经过培养后能逐渐开始干活。具体到我个人的经历上,我会发现面试官对和岗位关系不是很大的论文(即使是顶会)几乎毫无兴趣,反而会拉着某段虽然没什么产出但很对口的实习经历刨根问底。因此,我认为投递岗位的最高优先级是和自己过往经历对口,在面试中能和面试官就具体技术问题谈笑风生。
科研实习产出:产出固然是校招生过往经历最好的佐证,但其必须结合“对口”这一点才能发挥威力。论文数量虽然在国内硕博毕业要求里是硬性要求,并且hr筛简历时这也是相当重要的考虑因素,但技术面时感觉大部分面试官并不会具体关注顶会数量、实习段数等定量指标,他们更在意你是否有和岗位对口的经验。手握好几篇和岗位关系不大的顶会文章虽然有助于顺利通过简历筛选,但在面试时的作用可能不如一段很对口的实习经历。因此,面试前建议优先准备最对口的那些经历的内容,其他和该岗位不太相关的经历就不怎么需要提,甚至可以在简历中删去。
学历背景:不同学历的区别主要作用于hr筛简历阶段,相当于敲门砖。但只要能进入到技术面中,说明你已经符合了该岗位的招聘门槛,在后续面试中无论清北华五还是普通双一流,一般都不会有明显的优待,即使清北毕业如果面试表现不佳照样会被挂,不会因为学历高就在专业性上更加宽容。在秋招这个阶段学历已无法改变,简历筛选结果也并非人力所能控制,我们能做的只有当自己学历占优时仍保持谨慎认真,当学历吃亏时仍有凭专业能力通过面试的信心。
性格与情商:这一点虽然有些虚,但也是面试成败的作用因素之一。现在大学里的神人很多,其中不乏成绩相当不错的,而公司作为盈利机构要的是收益,收益则主要来源于稳定的团队协作而非个别人的能力,因此公司在面试中也会关注候选人的精神状态,判定此人在职场中是否能正常参与团队工作。面试中难免遇到卡壳、分歧等情况,此时不同的处理态度就可能决定成败:应以温和的态度提出自己的观点并探讨,不卑不亢,而不是自以为是地一直反驳和争论(虽然事实上有时候你确实是对的,面试官错了),这个过程其实就模拟了未来职场合作中可能发生的情况。另外,面试并不是单向的考试,而应是一个双向交流的过程。相比于完全被动的被问问题,如果能适时地主动针对刚刚讨论的话题进行一些拓展和询问(比如“我了解到咱们前段时间推出的成果和我们刚才讨论的技术有些类似,比较好奇它们在技术细节上有什么不同”),这也体现了候选人对于领域的积累和学习热情,也是这个人发展潜力的一种表现。
总的来看,方向对口是绝大多数校招岗位最关心的点,实习经历和科研产出均需要确保对口才能发挥其应有的威力。另外,面试时表现出来的性格与态度也是公司选人考虑的因素。
2.2 面试前的准备:简历中的项目该怎么准备
网上关于修改简历的经验贴和付费服务已浩如烟海,因此这里我不打算具体说什么简历模板,我自己的简历其实也没有找专人改过,只是请一些师兄师姐帮忙提过建议。这里仅记录一些项目经历描述的要点。
每段实习/科研经历的描述的理想结构为:一个标题+3~4点描述。标题的描述中应包含该项目最核心、该岗位面试官最可能感兴趣的技术要点,例如“基于XX技术在XX场景下对于XX问题的优化”,使之能一眼看到重点。每一点的描述最好控制在2~4行,且最好能对应一段带有可量化结果的具体子经历,如“针对实习部门XX场景下因XX因素导致XX算法效果不佳的问题,负责调研并通过XX技术实现算法XX方面的优化,最终获得X%的平均精度提升,目前优化代码已合并到主分支并部署到实际业务中”,其中的要点是解决什么场景的什么问题+核心技术栈+你自己做了什么+可量化收益,它们在简历中值得被加粗或高亮表示。避免只提及“参与调研”、“协助测试”等模糊且无结果的字眼,这样会让人觉得你做的工作没什么实际价值(虽然事实上可能确实没什么价值lol),任何描述最终都要引向一个结果,无论是提升了业务指标还是发表了论文等。另外,项目描述也不是越长越好,在涵盖了上述几个关键点后应力求句子精炼,否则会让人眼花缭乱抓不住重点。
项目介绍在面试中占据了大部分时间,秋招期间你大概率会重复无数遍相同的介绍内容。因此,提前准备如何讲好每段经历是必要的。一段经历应至少准备短故事和长故事两种表述:前者用于开始时自我介绍,需要几句话说清该项目的提出原因、核心技术、结果收益,类似简历里的表述;后者用于面试官对该项目感兴趣并让你进一步详细介绍时,相对来说可以更详细些,从问题背景到具体的几个技术要点,从遇到的瓶颈到最终收益,花几分钟讲完一个完整的故事。
2.3 面试前的准备:leetcode速成
几乎所有和计算机相关的岗位面试都绕不过leetcode这一固定环节,做好了并不一定能确保通过面试,但做不好则大概率会被打上“coding能力不强”的标签而被挂掉。尽管它们已被历届校招生深恶痛绝,新闻也在报道说硅谷的某些初创和大厂已不再在面试中采用这些,但国内供大于求的就业形势注定了它们在肉眼可见的未来依然会大量存在于面试中。和高考的性质类似,leetcode本身在实际工作中几乎没有用处,但由于候选人过多,因此它可以作为筛选人的一种方式:能在面试中写出来的人要么是天赋异禀的大佬,要么是态度端正愿意花时间吭哧吭哧刷题的人,招进来大概率是不亏的。因此,只要就业形势如此严峻一天,那leetcode等就将继续存在一天,即使有少部分开明的公司选择了其他面试形式,大部分公司也依然会保留这种筛选方式。明确了leetcode的应试属性,我选择不再追求像学数据结构课那样试图深入理解算法设计,而是拿应试策略来准备它。
从我个人的经历来看,leetcode如果没有提前刷到过原题或类似方法的题,几乎不太可能在面试现场使用最优解法做出来,即使是easy难度的题目也大多需要某种特定技巧才能满足时间空间要求,第一次写几乎只能想到暴力解法。本硕在读期间由于毕业找工的压力还距离较远,再加上我个人比较抵触这种考试性质的事情,因此直到秋招开始前我都没有系统刷过leetcode,这也就导致我以前几乎在每次实习面试中都会被leetcode卡住。我从5月下决心系统地开刷,初期积累大概花费了一个多月的时间,后边几个月也参考面试情况逐步完善。我的刷题策略是:一开始先找一个按题型分类的题单,每个题型都只刷几道easy或medium,不会就直接看答案并理解背诵,这个过程的目的是快速见全几乎所有可能遇到的题型,未来看到新题即使不会做也能大概知道它可以用哪种方法解。见全题型后,我进一步集中刷完了hot100,它们确实是面试中高频遇到的题目,题型覆盖很全,很多时候甚至能遇到原题。由于这里边存在相当数量的medium和hard,试图在短期内完全理解其思路并做到举一反三是不现实的,有些解法比较复杂的题目我会直接背诵题解代码,这样真遇到了可以直接默写。leetcode的题库现在已经膨胀的相当大,因此没有办法保证面试中一定能遇到刷过的题,我们能做的只是尽可能提升命中率,对于面试中遇到的新题我下来后也会特意查一下其解法并进行积累。
刷题的目的是记住解题思路和代码,如果只刷不总结的话,除非天赋异禀否则就是“假努力”,在面试中即使遇到原题大概率也会忘记或卡壳。因此,我将自己刷过的每道题的题解和思路按题型全都总结到了这份leetcode刷题笔记中,并在秋招期间时常翻看温习,力争只要面试遇到了都可以熟练写出。经过一个秋招的积累,这份笔记已经涵盖了面试最高频的题目以及几乎所有常见题型,全部熟悉后应付不是特别难的面试基本够用。在刷题过程中,我发现leetcode上给出的题解大多不适合用于准备应试,其中官方题解很多写的晦涩难懂,用户题解则经常使用非常规的炫技解法,而事实上最适合应试的解法应清晰、简洁易懂、使用最标准套路(尽管它可能不是速度最极致的解法,但在面试中写出来已可以满足考察要求)。因此,我记录的解法基本都来自于deepseek,我引导它给出最标准的解法并让代码尽可能简洁清晰,事实证明效果很不错,大多比leetcode上那些题解好理解的多。
另外,面试中还可能涉及代码手撕(如手写attention的实现)和八股文考察(如问LayerNorm和RMSNorm的区别),这些东西没有固定范围的题库,很难提前准备充分。我的策略是通过早期多投提前批项目获得大量面试机会,并在实战中积累经验——每当遇到答不上来的八股或不会的手撕,下来后都会请deepseek帮忙给出解答并记录背诵,同时也可以发散一下把这道八股涉及的其他相关知识也过一遍。面试十几场之后,我发现类似岗位的面试官问的东西有很大重合,后期面试问的很多问题在之前的面试中都遇到过。
ps. 知乎等平台上对于leetcode是否有实际意义的讨论早已持续多年,常有大佬称leetcode涉及的算法思想是真正的“计算机思维”,以此来论证面试中考这些的合理性。虽然并不否认其背后的算法设计确实精妙,如果我拥有无限的时间精力的话也很乐意学学。但事实是真正需要在工作中用到如此底层算法的岗位少之又少,且除非是天赋极佳之人,想要真正学透需要花费大量的时间和精力。对于我们这些既无天赋又无特殊兴趣的普通校招同学,与其把有限的时间精力花在试图透彻理解这些计算机思维上,不如去看些更实用的东西,比如理解业界系统架构或读些前沿论文。
2.4 面试的具体流程:从一面到三面具体都聊些什么
一个职位通常需要多轮专业面试,一般情况下为3轮,多的也有5~6轮的,且随着就业竞争的加剧面试轮数大概率会越来越多。一轮面试通常花费40~60min,流程一般是先花几分钟进行简要自我介绍,然后面试官根据自我介绍和简历挑选一些他感兴趣的经历让你详细介绍,在这个过程中其可能不时打断并追问技术细节或具体结果等。项目介绍占据了面试的大部分时间,之后面试官可能会花些时间问点八股,最后剩下15~20min则用来写leetcode题。最后几分钟是反问环节,此时可以向面试官问些你感兴趣的问题。
面试官的职级一般会和面试轮次成正相关,面试官身份的差异也会导致面试侧重点的不同。以下根据个人经验总结的3轮面试的特点,当然不同轮次之间的差异也并不绝对,例如有时一面二面问的都差不多:
一面:通常由组里的普通工程师作为面试官,他们是正在一线写代码的技术人员,因此面试重点通常是具体技术本身,考察的是候选人的基本专业能力以及对自己项目经历的理解程度,面试流程也相对比较标准化。在项目介绍中,面试官可能经常打断并追问技术细节,因此一面之前要确保对于简历上的项目细节烂熟于心,以“时间过去太久记不清了”为理由搪塞终归不太好。一面最后几乎肯定会考leetcode或八股,在写题过程中,切忌一声不吭直接开写或一直卡着不说话,如果发现题目自己明确会做的话也应简单思考后先和面试官口头陈述思路,面试官认可后再具体开始写,如果发现题目不太会的话则在思考一小段后及时开口和面试官交流自己现在的想法,目前卡在哪里过不去,并请面试官给予一点提示(如“我想到了一种暴力解法,但感觉不是最优,您能否稍微提示一下该往哪个方向想”、“我认为这道题应该使用动态规划做,但我对于状态转移公式有点想不清,您能否提示下”),这样可以让面试官看到你并不是完全不会并且也在努力思考,只是在中间有些地方卡住了。和面试官的交流通常很有助于找到最优思路,即使无法在到时间之前写出完整解答也可以写出部分代码,从而提升通过率。这里还有一个技巧是如果对于leetcode不太自信的话可以有意地多聊一会项目,这样最后留给做题的时间就不多了,此时即使写不完也可以归咎于时间所限。
二面:面试官通常是带几个人的小leader,他们可能是你入职后的+1或+2。由于他们从业时间更长,对于行业的理解比一线工程师更深刻,且通常肩负业务指标压力,因此相比于一面对于技术实现细节的刨根问底,他们有时更关心你项目的实际收益和业务价值,例如“你的方法是否部署到了生产环境中”、“这个东西最终能达到的吞吐量是多少”。因此应提前确认好自己所有项目经历的具体收益,必要时可查阅当时的文档、论文来确定具体数值。另外,面试官还可能针对当前热点进行一定的发散,如“你是否关注过最近新出的XX技术,你对它怎么理解”,因此平时也应适度follow本领域的最新技术,尤其是和自己方向关系较大的,比如我秋招期间就重点关注了deepseek、kimi、qwen等主流模型的推理加速技术。最后的反问环节可以多聊聊,询问一些关于该职位工作内容的问题,也可以聊一些关于公司的话题,比如“很好奇咱们前段时间提出的XX技术是否实际部署在了业务中,线上收益到底多么大”,总之需要体现出你对于公司和职位提前做了调研,是经过充分准备后带着问题来参加的面试,而不是只是被动的当一名被试者。
三面:面试官通常是级别较高的领导。由于正式职位招聘的hc有严格限制,因此每个offer都必须经过高级领导确认后才能下发,最后一轮面试通常也是领导亲自把关。在这个阶段,面试官通常不再关心具体的技术实现细节,最多是问问大致的技术栈和收益数据等。三面在很多时候都不太遵循一般都面试流程,因领导个人性格不同可能会非常发散,比如他可能花不少时间和你聊对于行业现状的理解、对于某项明星技术的看法、对于未来的思考等,如果健谈且准备充分的话这轮面试反而会比前两轮压力更小。最后的提问环节应重点把握,问题可以聚焦于该公司之前发布的成果、产品等,也可以问问对方对于行业的一些高层次的认知看法。三面面试官是我们校招生能接触到的非常高级别的业界人员,和他们交流的机会本身就很难得,因此和他们聊绝不仅仅是给对方为了留下好印象,也能很大程度上提升我们自己的认知。
总结来看,面试准备的重点不仅在于项目经历和八股等基础内容,还应包括和相关的热点技术和新闻等,体现出候选人对于新技术的关注。面试是一个双向了解的过程,候选人还应提前对公司和岗位做一定的调研,带着问题来参与面试,在面试过程中和反问环节主动互动。
3、秋招期间的心态修炼:做信息的掌控者,拒绝被渲染焦虑的信息裹挟
秋招期间,知乎和xhs等平台上都会非常热闹,尤其是你搜索或点击了几次有关内容后,它就会天天推荐一大堆类似的东西,让人不知不觉地陷入信息茧房中。我对于刷这些东西的心情比较矛盾:一方面确实能从中获取如面经、薪资等很多有用的情报,但另一方面也无法避免地看到很多引人焦虑的内容,这就导致每天忍不住刷半天后搞的自己很焦虑,但又觉得一点不看会错失信息,于是继续刷刷刷……而直到秋招结束后跳出这一切,才发觉自己无形中被平台算法硬控了这么久,平添了很多不必要的焦虑。而事实上如果我们能从一开始就清醒地意识到这些信息的实质,则或许可以更好地利用有用的信息,同时尽量避免陷入不必要的焦虑。
由于平台的推流机制天然倾向于容易引发讨论和对立的内容,因此那些裹挟情绪、渲染焦虑的帖子经常被高优先级推送,其中既有悲观的,如“机考全部ac还是被挂简历”、“XX厂因招到更好的人而毁意向”、“9月是不是已经没什么开放的岗位了”等,也有凡尔赛渲染焦虑的,如“8月XX厂已拿offer,秋招结束”、“今年薪资Xk是不是已经垫底了”、“今年X职级是不是点击就送”等。这类帖子乍一看容易让人觉得很真实,仿佛和自己很近——悲观类帖子让人觉得大环境已经差到无可救药,凡尔赛类帖子又让人对比之下觉得自己混的太差了。但事实上我们看到的只是真实世界的一个非常有偏的子集,这些帖子大量出现在我们面前是由多方面导致的必然性:
- 1)平台为了吸引流量而高优先级推送这类帖子,它们更容易引发争论,并容易吸引人不停地刷同质化的内容,因此就算有好的帖子你一般也刷不到,刷到的都是这种看了难受的;
- 2)很多帖子背后是卖课的或中介辅导机构等,目的就是让你看了后放大焦虑,觉得自己哪哪都不行,从而更有可能付费寻求指导;
- 3)很多人会倾向于在不顺利时发布负面情绪的帖子,而在其他平常或顺利的时候则不会特意发帖,假设实际有80个人顺利而20个人不顺利,那么我们看到的可能是5篇正面帖子和15篇负面帖子,这也就导致网上关于秋招的帖子大部分是不那么让人愉快的。也有少部分人纯粹出于炫耀或者引流,故意用夸张的字眼发布博人眼球的凡尔赛内容,而这些信息的真实性属实存疑——有个笑话讽刺说“某平台上晒出来的某大厂offer总数超过了其今年实际发出的数量”,且就算其中的某些是真实的大佬分享也只是少数情况,不能代表大形势。
抛开这种帖子被刻意生产和传播的事实,即使它们所述内容都是真实的,它们带来的焦虑也早已远远超过有用的信息,对我们也属于负资源。我判定一篇帖子是否有用的依据在于,假设它说的都是事实,那么它说的这些是否会对我接下来的行动提供什么实际的指导?还是看完后只收获了一肚子负面情绪,接下来该怎么做还是怎么做?会因为看到一条帖子说XX厂毁意向就立刻停止投递这家公司吗,会因为看到有人说8月轻松拿到offer今年就直接摆烂放弃吗?当信息带来的焦虑超出它所能贡献的帮助时,尽管很多时候确实不自觉地想点开,但我会尽量有意识地避免点击,这种负反馈长期来看也会促使平台算法减少对于类似内容的推送,对于维护一个稳定健康的心态也是有所帮助的。
相反地,平台上同时也存在很多有价值的帖子,它们会给我们带来实际收获,对于这类帖子当然应来者不拒。例如,很多热心同学会客观分享某个具体部门的面试经验、机考题目、谈薪情况等,这些信息可以直接指导我们接下来的准备内容、面试策略、谈薪区间等,是我们了解当前真实情况的绝佳渠道。遇到某个具体问题时,我们也可以平台上搜索得到新鲜的经验。这些优质帖通常不在题目和正文中夹杂过多个人情绪,就事论事,直击一个具体情境的解决方案。
总结来看,互联网平台上的信息质量参差不齐,若任由其裹挟很容易放大不良情绪,而若能善于利用则可以让校招事半功倍。可以适度刷刷来了解当前的形势,辅助自己接下来的行动和判断,但不建议长期漫无目的地乱刷,尤其避免连续点开那种刺激情绪的帖子。当确实面临困境需要帮助时再去具体搜索,让平台回归工具属性,而不是反过来成为信息的主导者。
