2019实习、秋招总结

2020/02/21 Job

本文是总结我2019年实习、秋招的经历。

前言

在行文之前,不得不说一句,求职是一件十分漫长的拉锯战,就如很多同学现在一样,这过程中我时时刻刻都能感受到焦虑、沮丧、欣喜,但一切尘埃落定之际,也就一切拨云见日了。从各方面来看我都是比较幸运的,实习申请到了腾讯微信,秋招也收获了阿里A+、微信SSP、美团北斗计划、网易游戏、快手、百度大搜、京东等质量不错的offer。但我想通过分享我的经历和总结,企图来归结出一些运气之外的准备和经验,以供大家思考和借鉴。本文官方的知乎链接


我秋招这一路 (约3k字)

我是参加的2019届秋招,但是2018年的秋冬之交便有所关注了。偶尔上知乎吃几口焦虑以外,前期也花了一小部分时间在社区(主要还是 牛客网 )里看他人的总结。在这个过程中,我其实并不关心一些面试技巧,只是根据2018届每个人的经历以及各公司发的内推、招聘帖子去索引几个时间节点,如什么时候开始准备实习申请,实习期定在什么时间合适,什么时候开始校招提前批,什么时候开始正式批,什么时候对比offer谈薪资等。有了这些信息,我就大致制定了自己接下去的方针,也就是怎么在不影响自己的学业、科研的前提下去准备求职这个必经之路。

​ 我最早的尝试是参加了一个Google中国举办的Google ML Winter Camp,因为了解到在里面表现比较优异的话可以有实习的机会。在这里说一句,即使当时我身在香港,非PHD想跨域去申请北美的Google Intern也是非常不容易的。因此得知这个消息后,我便不假思索地报名了。现在回过头来看,这本是我至今为止最接近Google的一次,但由于自己准备上的不足,终究错失了机会。为何说是最接近的一次?因为在这次Camp里,我对Google的招聘流程有了更清晰的认识,同时我所在的项目组也获得了结题时的Most Technical Project。为什么说是因为准备不足错失机会?因为当时的我并没有开始刷一些经典题,导致电面的时候被一道非常经典的概率编程题挂了。


Google ML Winter Camp 结题后收到的证书、奖品和各种纪念品

​ 不过这次Google的经验对我来说是一笔不小的收获,除却认识了比较好的同学们以外,这次被拒意味着我的秋招一开始就吃了一口失败,使得我抛却了对自己以往经历的盲目自信,并下定决心把求职当做一场不小的战役一般好好地去准备。

​ 实习投的公司并不多,因为考虑到自己在香港还有一部分学业和科研压力,地点上除了深圳以外就没有其他选择了。但自己还是好好准备了一番。在二月春节结束(也是当时KDD结束投稿)之后,我立马就开始温习机器学习/深度学习的相关知识,就像在考试周一样整理了一些A4纸,这些A4纸甚至一直用到了我的秋招结束,同时我知道此时再慢悠悠地刷Leetcode已经来不及了,就把很多人推荐的《剑指Offer》花了两三天时间刷了一遍。剩下的便是一边找实习机会,一边看面经吃着“没准会考到呢”的桃子。

​ 早在腾讯实习招聘开始之前,我就已经联系上部门的散招,因此在二月底便面完了两轮技术面+一轮总监面,剩下的就是漫长的等待HR面了。而与此同时,百度的深圳团队来我学校进行了宣讲会,我在此会期间认识了百度深圳NLP和Paddlepaddle的负责人,递交了简历,并通过了面试。我甚至一度有想去创业公司锻炼一下的想法,鬼使神差地联系了@香侬科技的@李纪为师兄,通过了几轮技术面试,相谈甚欢,在交谈过程中我觉得他们团队是一个很激情向上的团队,只是后面由于我自身学校的因素没能去体验一番。

​ 最终还是去了微信。这一段实习经历的体验也非常好,团队里的人都非常厉害也非常Nice,Leader和Mentor对我都非常耐心,再加上刚搬至滨海体验感非常好的办公环境、餐品丰富且早晚餐免费的食堂以及各种福利和配套设施,让我经历了一段非常难忘的时光。在五月份的时候组里新来了一个来自清华的实习生H同学,在几次交流之后,我们成为了很好的朋友,并且在实习期结束之后一直保有联系,信息互通有无,成败互相道贺安慰,让我整个实习和求职过程不再感到是孤军奋战了。然而,虽说实习期间工作上普遍都比较顺利,但是秋招就如同卡在喉咙里的一根刺,在你工作忙活停歇之余,突然感受到难咽的痛意。


左图摄于深圳某麦当劳,右图摄于腾讯滨海大厦

​ 在经历过找实习期间的因“准备不足”而难受之后,我决定从结束申请实习后便开始规划起秋招的准备了,只是我当时只是粗粗将其归结为“刷题不够”而导致的准备不足,而没有深刻地总结“刷题”怎么是不够,怎么是够。因此我在每天实习结束之后,都会照例地做一些LeetCode上的题,很多题往往要耗费我1-3小时的时间。回顾来看,那段时间的刷题是极其低效的,尽管每次做题都是先自己思考、尝试,通过之后再去分析讨论区中所给的方法,看上去自己收获了很多。这个低效的最根本原因是人的遗忘特性,直到六月中下旬,我才发现很多刷过的Leetcode题自己甚至已经忘了以前做过,直到到提交之时才发现有一些记录。这个发现让我惊出一身冷汗,而此时也字节跳动提前批内推也紧锣密鼓地开始了,社区里、甚至朋友圈都能看到各种内推链接。

​ 此时我在腾讯已经实习有三个月,而自从我去北美开完会回来染上当地的风寒之后,一直咳嗽就没有好,在六月之时几乎每隔几分钟就会深咳几次,看过不知道多少次医生、吃过不少种药、喝过不知道到多少杯的热水,却一直没有好的迹象。最终我做出了一个让人难以置信的决定,即向Leader提出离职申请,回去养病。当时下了这个决定的我,抱着“放弃微信转正机会”的心态,打算回去一边养病一边重新开始准备秋招。不过Leader人非常好,在肯定了我之前三个月的工作之后,提出让我先离职养病,到时八月底回来再答辩的说法。于是我便回去了。

​ 尽管身体仍然没见好转,没有实习工作之后,我每天倒是有大量时间可以用来刷题、整理知识点、关注各类求职信息了。不得不说,七、八月份是我整个求职期效率最高的时间,不仅将之前刷的题分门别类地整理了一番,还整理了大量面经中的非编程类的题目(比如智力题、概率题)等,同时修改并投递了大量的简历,安排了大量的面试。


求职期某一周的Google Calendar

​ 尽管这些准备在我求职期间的帮助很大,但是依然经历了一些挫折。而这挫折与找实习如出一辙,我秋招的首战便败北。上文说过,字节跳动在六月中下旬便开始筹划着收提前批的简历并进行面试了,我也将简历投了过去。但是面试的话,却是被安排在了七月中,此时我暗自窃喜,因为早听闻字节对算法题要求高,安排得越迟意味着我准备的时间越长。一面的时候,果不其然,在问完了我的项目之后,便在线开始码题了。面试官给了一道我做过的题,狂喜之下我迅速给出了一个 $O(N)$ 的算法并试图写代码,不料面试官却问了我是否有其他解法,并模糊地给了我一个思路,我当下就懵了,因为当时在我的理解中$O(N)$已经是最好的解法了。在他的引导下,我左磨右泡写了一些代码,并给了一个错误的复杂度分析。在面试结束后复盘之时,我惊讶地发现这个算法并没有$O(N)$ 算法来得优,于是联系到面试官,面试官很和气地回复类似”看你这么快给出思路,我猜想你做过这道题,因此要用不常规的解法来考察你“的意思。当时沮丧至极,后来反思的时候发现面试官是很好地给我上了一课,即做题不能形而上学,而应该挖掘题深处的本质,并掌握题与题之间的共性,而得出一些普适的方法论,从这个方面上,我还有很大的进步空间。字节最后还是给了我二面、三面,但是不幸地在三面问起“红黑树”的时候再次被卡住,最终收到了秋招期间第一封也是唯一一封拒信。

​ 在字节求职惨遭滑铁卢之后,我也没有因此失去信心,反而由于后面几家公司面试表现越来越佳,我的心态反而是放开了。我对自己的简历逐渐越来越熟悉,能够迅速说出抓住听者兴趣的几个点;对做过的、考过的题也能融汇贯通了,甚至有些公司之间都能问到原题或者overlap的题目。在有了几个offer保证心态之后,八月中开始我由于学业上的忙碌,开始没那么有时间全职地投入招聘活动中去,因此此期间连一个简历都没有投过。而几个好的offer,如阿里、美团等均是战线拉得很长,经历了很多轮的面试才陆陆续续有了消息。到了九月底十月初,基本的意向书都已经收到,便没有再接面试,十月到十一月期间与各厂的HR交流薪资待遇,也是煞费了一番心思。最终十一月份,在已有的Offer中进行挑选,我的秋招便结束了。

经验总结

1. 如何规划

首先要了解招聘的几个时间节点,时间节点如何去寻找?常见的方法就是看各个社区的前辈的经验贴甚至是吐槽贴,会让你对招聘每个时间节点都有个认识。为了方便大家参考,我罗列了2019年我招聘时期的几个时间节点。

时期 时间范围 说明
春招实习部门散招期 3月前 部门散招指的是很多公司部门为了提前锁定候选人,以非官方的渠道接受候选人简历,甚至提前面试。好处是可以跟部门人直接沟通,面试失败也不会录入系统
春招实习提前批 2~3月 这是公司的正规渠道统招,要录入系统,提前批会占据大量的优质HC
春招实习正式批 3~5月 在提前批都面试结束之后会开通正式批通道,有些提前批申请失败的同学有复活的机会
暑期实习期 4~9月 也就是申请了春招实习之后,实习的时间,一般公司的时间都集中在6~8月份,部分可以浮动
实习答辩期 8月 除了绿色通道的同学以外,大部分同学都要通过实习考核,也就是转正答辩,才能收到意向书
秋招提前批 6~8月 很多企业很早开始就来抢夺应届生资源了,因此很多优质的HC也是在秋招提前批就已经给出,但要注意的是,很多大佬会在提前批时期就收割很多家公司offer,竞争非常激烈
秋招正式批 8、9月开始 正式批大部分要采取笔试、面试等非常繁琐的流程,且池子很大,持续时间较长,各个公司有自己的安排
意向书期间 7~10月 一般来讲,提前批甚至有一些正式批的意向书都是在这个时间区间发的,如果到了十一月份还没收到意向书,可能需要注意一下了
谈薪资 9~11月 很多公司政策不同,有的公司比较会拖,有的公司又开始得很早,因此要特别注意offer权衡和过期时间

2. 如何获得信息

我获取信息主要有以下几个渠道:

  • 熟人推荐 (这是最靠谱的)、朋友圈
  • 牛客网、浙大CC98、北大未名BBS
  • 各个求职交流QQ群、微信群等
  • 各个公司的招聘公众号等
  • OfferShow(了解市场薪资)

还有几个注意点

  • 注意分辨和抵制贩卖焦虑的信息,会影响自己心态
  • 注意观察各个公司的口碑动向,不要等到毁意向书发生在自己头上了才如梦初醒
  • 注意和各个同学交流求职进展

3. 如何完善并投递简历

简历写作技巧在网上一搜一大堆,但我觉得写简历最重要的是以下几点:

  • 简历排版很重要

尽量把最出彩的部分放在前面,比如有些同学硕士期间发了七八篇顶会,那第一页直接学历介绍后,写publication list就可以了;又比如很多同学有很多项目经历,选择一种顺序(如时间、参与度)等,简单扼要地罗列在简历中。要注意简历除了把把自己写得多厉害,还要把自己写得比起别人有什么亮点。

  • 项目描述排版也很重要

据我的经验来看,大部分面试官只会在面试前花1~2min的时间审阅你的简历,因此如果简历排版不好,让人抓不到重点的话,之后面试的问题就会非常分散难以捉摸。反之,如果排版好,让人一看就知道你的各个项目是在干什么,是什么level的,就会让面试官一下子了解他是否对你有兴趣,问项目的时候该问哪个。

常见的排版技巧就是 粗体 标题,一句话总结,量化说明的你的成果。

比如:


新闻推荐系统下的内容表征的优化

借助于大规模的预训练语言模型对新闻内容表征的进行了优化。用xxx方法在xxx上提升了xxx个点,部署到了xxx平台上,并投稿了一篇xxx会议的文章。


最后想说的是,其实简历真的很重要,直接影响着面试官问你的问题和态度,写得好的话,能够引导他问你已经准备过的的问题,甚至听说会影响后续出的编程题会不会选择刁难你。

(小心机:如果知乎文章点赞量到1k的话我上传自己的简历供大家参考啦)

4. 刷题和总结

这个环节往往是旷日持久的,但是就像我自己经历过的那样,如果没有策略地去刷题而不做总结,最后跟没刷过还是提升不显著的。在这里我主要讲一个自己的总结方法,就是分门别类,总结出固定的方法论。在亲身实践中,我有两套刷题的方案,第一套方案是时间不那么紧迫,比如面试还早,我会选择将每道题都按照方法名称进行归类,如下图左一所示,这样我们就可以应对很多题目的变形了,因此方法总结来总结去最后都会归为你总结出来的那些方法。


​ 另外编程算法题以外的题可以粗粗地归类在一个文件里,比如概率题文件里出现了很多高频的公司会考的概率题,如上图中间所示。

​ 最后就是突击的时候,如果在每隔一段时期,对面经有过扫荡的同学,可以在每道你刷过的题里标注时哪些公司考过的,这样一来就能发现很多题是高频会碰到的题,突击的时候可以多多关照一下。

5. 面试和复盘

面试技巧我在这里不作赘述,因为从我个人经历而言,网上的面试技巧学习之后几乎没有用上过,我的理解是,每个人在多面试几次之后,会找到适合自己的面试风格,在每次面试之后及时复盘可以减少之后犯错的概率。因此我认为面试后的复盘比技巧来得关键,那复盘的时候到底该总结什么呢?我的习惯的话会做出如下总结,仅供参考:

  1. 首先记录面试时间、地点、目标公司和流程(比如是一面还是二面还是HR面)
  2. 然后流水账一般记录整个面试过程中面试官问的问题和自己所做的回答
  3. 在流水账中回忆面试官对所问项目的几种情况:
    • 面试官不问或者一笔带过,可以反思自己写简历的时候是否没有写得简要且吸引人,也可以反思这个项目与所投部门的关系是不是不大
    • 面试官让你介绍一下,却不问你问题,可以反思自己是不是介绍的时候语言没有吸引到对方
    • 面试官深问,问到个中细节,对方对你的回答是否有积极回应,如果没有积极回应深圳批判,就要考虑自己对项目的理解是不是没有阐释好
    • 面试官通过这个项目延伸出了那些与项目本身无关的问题,可以反思自己的项目在工业界应用如何,将这些思路反过来为自己所用,下次面试就可以用上了。

我发现在面试过程中与他人交流思想并为自己所用是一种很好的提升自己的手段,有时候他人不经意间提出的想法能够加深自己对项目的认识,甚至可以给自己的项目起到画龙点睛的作用。

6. 谈薪小结

(危)这一小节我本来写好了大串文字,但担心侵害了别人的利益,因此最后概括于四个字:”不卑不亢”,即正视自己的价值并期望得到合理的回报,但不过分迷信自身在公司眼中的不可替代性。价值就是自己手头上以及潜在有多少个offer,质量如何;不可替代性即竞争者是否很多,自己是否能够完全脱颖而出。

7. 如何保持好的心态

其实在第一部分介绍自己的秋招经历的时候,我花了很大的篇幅讲了我的几次失败,以及自己心态上出现的一些问题。因为我知道,在求职这条路上,心态实在是太重要太重要了。特别是不要因为一时的失败而沮丧,不要因为竞争压力甚至天灾影响而焦虑不堪,最后舍本逐末。要始终保持好自己的节奏,不是任何事情都是天塌下来了的,一切事物只要你持续地去争取,最后终有柳暗花明的时候。但也要正视自己内心的焦虑,在求职过程中,我也遇到了很多同学,大家一样都是有一定的焦虑,但是据我观察,最终每个同学都拿到了自己满意的offer。


本篇文章我刻意弱化了职位、方向、个人背景等相关信息,意在找出一个通用的方式使得除却我申请岗位、方向和背景以外的同学也能有所借鉴。最后祝愿每个人都能收获自己想要的offer。

最后的最后,图片封面是学校心理辅导室外面的一面涂鸦墙,分享出来与大家共勉:)

本文包含个人隐私,谢绝转载。

Search

    Table of Contents