2016年,是一个很重要的年份,不但是自己的本命年,还是自己要踏出校园、走向工作的一年。从今年过完年回到学校,记得大概是2月底,这期间经历刷题、找实习、校招,直到前两天把三方交上,今天公司盖完章拿到回执信,工作也算终于确定了下来。在这过程中,经历过失落、兴奋、伤心等等,中间的喜悲,也只有自己最清楚了,趁着这几天晚上有点时间,回想一下过去几个月的心理路程写一篇校招的小记,也算是对这几个月的酸甜苦辣做一下总结。

莎士比亚:不要因为一次失败,就放弃你原来决心想达到的目标。

慌慌张张找实习

记得当时二月底回到实验室,刚来没几天,网易的实习招聘就开始了,当时还没到三月,丫的网易直接把实习的战线拉到了二月底。当时感觉真是日了狗了,啥都没准备,所以也就没有内推网易。然后就开始慌慌张张地准备找实习了(提醒:找实习就是找工作,一定要认真对待),先是写简历,把自己在实验室做的那些项目总结一下,重点是把项目给整理一下,根据面试的经验,对于简历中的项目一般会问以下这几个问题(这几个问题有的难度大有的小,看个人人品了,不过最后都准备一下):

  1. 项目的目的是什么?要解决什么问题?
  2. 为了解决这个问题或完成这个项目,设计方案是什么?以及为什么要使用这个设计方案?
  3. 项目中遇到了哪些难点,如何解决?
  4. 你再回头看这个设计方案,有什么哪些地方可以再优化?
  5. 如果现在让你重新设计方案来解决这个问题,你会怎么设计?(这种问题一般是之前的设计方案有漏洞或者有可以改进的地方时,面试官才会问到)。

整理完自己的项目之后,就开始看一些计算机的基础知识,因为自己是做大数据方向,所以当时也就选定了 Java 开发工程师或者是大数据开发工程师的职位,其他的职位就不再考虑了。在准备 Java 基础的时候,主要就是看一下一些常见的 Java 面试题,这个网上有很多,个人的经验,觉得面的最多的就是:容器(hash 很重要)、多线程、并发等了,这个还是比较容易准备的,但当时由于自己准备的太晚,而且很多大公司的实习生开始得也比较早,所以当时就感觉时间很紧张。

如果想投开发岗的话,算法是必须要准备的,《剑指 Offer》这本书是肯定要刷一遍的,记得当时自己花了四五天时间急急忙忙把这本书看完,但只是看了算法过程,并没有手写代码,后来在面试中也就吃了亏,手写算法还是要好好准备的,准备一些常见的算法即可。对于 Java 开发,除了算法,JVM 的一些内容也要重点掌握,这个就是看《深入理解 Java 虚拟机》这本书了。反正对于我,记得当时刚开始面试时,遇到这种问题基本上都是一脸懵逼,不过面的多了,就知道往哪方面准备了。记得当时先投了阿里云那边,是室友的一个同学内推的,室友的这个同学先对我进行了预面试,问得也是 Java 和大数据方面的基础知识,面试完就感觉自己前几天准备的东西白准备了,都没怎么记住,当时瞬间感觉自己要完了、感觉要完全找不到实习了。

即使当时预面试的结果不是很理想,但是也得投简历,要不然连面试的机会都没了,所以就先投了阿里云。然后紧接着第二天中午就收到了面试电话,聊的内容当时感觉还是很深的,但从现在的角度看,其实也就那样(校招的时候很多公司问得会更深)。这是人生中第一次正式工作面试,中间聊得还挺不错的,面试官对我还比较满意,还让我推荐实验室的同学。我当时也是很幸喜,谁知道好景不长,第二天傍晚就收到了阿里的二面电话,先问了一个问题:介绍一下 Hadoop 生态圈的技术,当时就开始从 MapReudce、hdfs、HBase 开始讲起了,讲了有足足五分钟,电话那边连个音都没有(当时都怀疑那边是不是还有人在听),当时面的时候还是很紧张的,在介绍 hdfs 的时候,面试官突然问到:secondNameNode 的作用是什么?然后就回答错了,之后面试官又开始问了 spark、linux、flink 等相关的问题,自己全程是不会来结束讨论的,然后就没有然后了,这个面试只持续了15分钟就结束了,到了第二天,官网上状态就显示自己的面试结果是已回绝。第一次应聘就这样结束了,当时分析失败的原因认为主要是个人基础准备不足,还有一个是缺乏面试经验,一方面是自己准备的确实不好,另一方面是面试的时候没有把面试官领到自己熟悉的领域上来,而且前面在讨论 hadoop 的时候,并没有与面试官进行一些互动,总之,面的第一家公司就这样挂了。

自己当初找工作时候的目标,其实很明确,就是想去阿里的中间件做 Java 开发工程师。可惜天公不作美,阿里是我面试的第一家公司,也是第一个拒掉我的公司。经历这次面试之后,自己又把相关的基础准备了一下,接着又面了XX街、XX之家,这两家都属于比较小的公司,当时想的是积累一下面试经验,XX之家实在是太耿直了,面了一面就给了 offer,面试官人还挺好,说实话自己到现在还挺愧疚的,去那边面试了,人家给了 offer,结果自己又没去,感觉这样确实不太好。

其实当时自己想的也很清楚,也就准备重点投一下这6家公司:BAT、某滴、某米、某团,其他的投的话只是积累一下面试经验。当然,虽然想得很好,但现实却很骨感,T 家从头到尾都没给面试机会,感觉老是投不对岗,实习的时候投的后台,发现大都是招 C++,听人说大数据应该投基础研究,然后校招投的基础研究,笔试的时候发现题目全特么都是机器学习相关的,当时心中真是一万只草泥马奔腾而过啊,注定无缘。对于 B 家,实习的时候师兄帮忙内推的,面的是一个比较对口的部门,不过因为准备的不充分、基础也回答得不好,虽然一面面了一个半小时,结果还是挂了,不过面试官真的很 nice,面完的时候还对我的面试情况做了一下总结,说我哪地方不好,哪地方还可以,唉,最终还是挂了,校招内推的时候也没敢投,因为这次面我的这个面试官是百度负责 Kafka 技术的小组 leader,当时感觉如果校招再投简历的话简历还是会到他那里,所以就没敢再投。虽然后面百度正式校招的时候也参加了笔试,自我感觉做得还可以,不过最后还是没有面试的机会,也是无缘了。关于 A 家,因为之前实习的时候没过,后来校招的时候也找了内推,但是今年 A 家基本上没怎么校招,今年的校招基本上都是实习生转正,还有一些是内推。因为自己一直想去 A 家的中间件团队,校招的时候就找到了黑桃夹克师兄帮忙内推,师兄很热心,但是今年 A 家的 hc 实在太少,记得当时简历投了一个月都没人理,最后直接变成了校招,让参加笔试,真心感觉 A 家今年没怎么招人,当然这跟具体部门、职位有关。

慢慢的就过了五一,当时实验室好多人的实习基本上已经确定了,大家基本上都拿到了一个比较好的 offer,那段时间自己心里还是能明显感觉到找实习的压力,记得那期间还失眠了一段时间。既然没找到心仪的实习 offer,只能对面试经验再做总结,自己不会的再好好准备。随后,某米和美团的实习也开始了,然后就让师兄师姐帮忙内推,关于某米的面试经历印象还是很深刻的,去面某米之前,其实还是挺想去某米的,自己对某米的商业模式是一直比较看好,但是面试结果真的是大跌眼镜了。当时的一面面试官感觉是一个刚毕业一两年的工程师,随便问了一些大数据和 java 相关的基础知识,然后就开始写算法了,写了一道算法和一个 mr,然后就进入到二面,二面面试官让我设计一个系统,用一个朋友圈来举例,全程聊了将近一个半小时,感觉最后的结果是面试官不理解我说的,而我也没完全理解面试官说的问题,总之,中间聊的时候我都想直接甩袖子走人。面完某米,记得当时我都开始怀疑自己是不是理解能力有问题,不过也深刻地明白了一个道理:一定要跟面试官确定好问题,如果你默认是这样,很有可能就中了面试官的套。

面完某米之后,没过几天就收到了美团的面试通知,然后就去美团面试,面美团之前想的是面面再说,反正最后也不一定去,当时约的是两点,我去的比较早,一点半就到了,然后到了一个会议室开始面试,记得当时跟一面面试官聊了一个半小时,关于 Kafka 相关的聊了近 40 min,聊的还比较深,然后又聊了很多基础知识,还写了两道算法。当时面完一面之后,当时感觉自己拿这个 offer 应该还是很稳的,因为自己在实验室做的跟这边做的完全对口。过了一会就开始了二面,刚好跟二面面试官是老乡,二面面试官是做实时的,聊了很多 storm 相关的,因为美团要求前二面必须手写算法,所以又做了一道算法,基本上就结束了,大概也聊了六七十分钟。最后又跟三面面试官聊了半个小时,三面聊了一点点技术,其他的基本上就是聊聊兴趣、聊聊人生什么的。当时从下午两点开始面,面完基本上快六点了,当时面完的感觉是美团这边招人还是挺严格的,纯技术面一口气面了三面。不过美团真的很给力,面完的第二天就给了 offer,因为我当时7月份才能实习,面试官也愿意等我到七月份入职,当时考虑一周之后,就把 offer 签了,决定去美团这边实习,当然最主要的原因是跟我的之前做的很对口,还有就是感觉那边面试还是挺严格的,所以觉得技术应该也不会差到哪去。

实习篇

到了七月之后,准时到公司报到,去的时候第一周就领到了全新的 Mac pro,之前没用过 mac,各种不顺手,不过用了一周之后,就觉得 Mac 用着真特么爽。去了之后,才知道,当时我的一面面试官,就是之后带我的 Mentor,他已经工作五年了,之前在阿里工作过4年,技术还是很不错的,当时觉得自己还是很幸运的,能有这位师兄带我,之前二面面试官是我们小组的 leader,三面面试官是我们大部门的 leader,被称为百度的 Metrcis 之父,还真没想到这边居然还卧虎藏龙。所以,在刚开始那段时间对自己的工作特别满意,自己在这边确实也能学到东西,被 Mator 逼着看 Kafka 的源码(感谢)。

这里,顺便说一下关于大公司与小公司的选择问题吧。下面纯属个人想法,关于这个选择,如果由能力能去清华的计算机,那不用考虑去就行了,毕竟那里牛人更多、氛围也更好,但是如果去不了清华的计算机,而只能去清华的XX(就是就业很不好的那种小众专业),那完全可以选择去北航的计算机或北邮的计算机。也就是说,如果有能力拿到 BAT 的核心部门的 offer,那就去;但如果只能拿到边缘部门的 offer,那完全可以选择其他公司(某滴、某米、某团)的核心部门。毕竟选择一家公司,不能只看公司的名气、薪酬,还要看当你哪天离开这家公司的时候,你自己成长了多少,个人感觉,这个才是最重要的,在大公司当螺丝钉,也只有在大公司这个环境下你才有价值,一旦离开这个大环境,你能选择的就很少了,所以,应该把个人能力的提升放在一个比较重要的位置。这里,对于应届生,我是比较推荐这六家公司(国外的公司暂不讨论),一些较小或者偏初期的创业公司,对于应届生来说,还是要谨慎一些好。还有就是哪些处在风口的企业,也要慎重,哪些公司估值泡沫很大,而且明显让人感觉的是:哇塞,今年这家公司开的好高,但是明年开高公司又变成了另外一家,所以还是要慎重,在找工作的时候,一定要有一个清晰的目标。

急急忙忙校招

在美团实习了两个月之后,这时候就已经到了九月份,帝都的互联网校招基本上也开始了,记得当时在论坛随便找了一个师兄内推了 X 狐,然后就通知周末去面试,去之前心里是一点都没普,毕竟算法好久没看了,很多东西长时间不看是会忘的,算法就是这样,当时就随便准备了一下就去面试了,结果很出乎意料,在面试之前,看了一些关于 Java 并发、多线程的内容,当时还做了一下总结,写了一篇博客——Java 并发学习(一),没想到的是面试官问了很多这方面的内容,虽然二面的时候有一些关于 OOM 调试的问题答的不怎么好,但没过几天 X 狐还是给发了 offer,当时可以说我拿到第一个校招,虽然最后没怎么去,还是很感觉 X 狐能给我这次机会的。

面完 X 狐之后又陆陆续续投一批简历,参加了一批笔试,前面已经说了 BAT 的经历,除了 BAT 之外,其他能投的公司并没有多少,之后参加了某滴的内推笔试,笔试挂,某滴今年招了很多的社招的人,B 家听说有很多人跳到了某滴,阿里正明也去滴滴了,某滴今年真是大热,不过由于发展过快,外面也爆出了很多关于某滴内部管理混乱的问题,最近 zf 又出了一系列政策,导致某滴的日子其实也不好过,今年也能明确感受到某滴校招力度较小,总之,没拿到某滴的面试机会。接着又投了某米,参加了某米的笔试,感觉笔试题做的还是不错的,后来通知去面试,面了某米的互娱事业部,一面聊的还挺好,二面问了一些很基础、平且一般接触不到的问题,比如:Java 泛型的设计有什么不好的地方?问的问题有种说不出来的感觉,当时感觉某米应该是可以过的,结果很尴尬,没有收到 offer。之后由于实习拿过XX街的 offer,所以直接参加了XX街的终面,大神华黎亲自面的(不知道华黎是谁,可以看看这本书《大型网站系统与Java中间件实践》,华黎可是当年阿里中间件核心人物之一),后来顺利拿到了 offer,不过因为其他的一些个人原因,没有选择去,很是抱歉。十月底又顺便水了一把华为的面试,也算是见到了华为的壮观面试场景,三点半的面试,等到了6点才面,一面20min 就结束了,而且面试官跟我做的完全不对口,甚至连 CentOS 都没听说过,接着又等到了七点半开始二面,二面还是一对二同时面(一个面试官同时面两个人),面试问的问题基本上就是 hr 问得那些,后来虽然也收到 offer,但总感觉心里没谱,所以就没去,毕竟华为的声名在外啊,对华为的感觉就是,重点看学校、看学习成绩,按学校级别给工资,基本上一看是好学校差不多的话都会要,进去之后估计是再统一培训,有些人比较喜欢这种,我是不太喜欢这种文化,这也是没选择华为的原因之一。

接着说一下,对今年校招的感觉吧,今年的校招的工资整体要比全年高一个档次,但就业其实并没有去年好,只不过是前面那批人把校招工资拉开了一个档次,当然主要的原因还是今年互联网被华为搅得天翻地覆,谁让华为有钱,而且一招招几千甚至上万人。虽然去年也有一些公司工资开得很高,但招的人太少,影响不了互联网大局。华为就不一样了,招人多,还只招好学校的,还就完全不一样了。在之前,华为都是捡漏的,今年不但薪资高,而且校招还特别早,身边真的有很多人选择了华为放弃了 BAT。听说,当初有人拿到 BAT 其中某家的 offer,因为批发价太低,想谈一下工资,结果人家不给谈,他拿到华为 offer 之后直接就放弃了这家,再后来,这家公司开始给之前放弃 offer 的人打电话,表示工资可以谈,而且还开始补招,真是呵里个呵啊(前面的”他”实际上代表的是他们,泛指很多人)。从今年的情况来看华为的影响力还是相当大的,带动了整个互联网的薪酬水平。如果单纯讨论互联网公司,个人感觉今年首先 A 家招人很少,除了实习生转正和内推,基本上没有校招;B 家招人挺多,可能因为这家公司人员流动性比较大,每年招的人都挺多;T 家不太清楚,感觉跟那边不太对口;美团今年招人还是挺多的,比往年招的力度都要大,公司对于技术还是很重视的;某滴招人也不多,可能是社招人太多还有公司业务发展受限的原因;某米,感觉招人也不少吧,记得某米去年只招了100+人,今年发出的 offer 肯定是比这个高的。互联网公司整体校招力度跟去年比可能稍微差一些,不过由于华为今年突然发力,对于好的学校而言,整体的就业形式并不去年差。

最后

这里,推荐一篇文章,黑桃夹克师兄当时找工作的时候写的:找工作小记——善待挫折,在拿到美团 offer 之前,我也经历一段很不自信、很沮丧的时段,这篇文章在这段时间给我了很大的鼓励,很感谢师兄分享自己的经历。毕竟像师兄这种能到阿里中间件 offer 的牛人,在找工作的时候也并不是一帆风顺的。

最后,说一下个人的感想,我因为一开始就决定了选择走技术这条路,所以基本上也就没有考虑其他行业、其他职位,这个要看个人的选择和职业规划,技术这条路有它的好处,其坏处也很明显,很容易达到职业瓶颈,这个暂时不是我考虑的问题,实际上做技术的人大都在后来慢慢转到管理、产品、运营,甚至去创业去了,能一直在技术上坚持走下去的人并不多,这也说明了技术这条路充满着艰险,并不如想象中的那么好走,这个完全就看个人后期的职业发展了。

在前行的道路上,我们也应该时常停下来多思考思考,想一下自己想要的是什么、想要的生活是什么样的等,下面一句圣经:何西阿书 4章6节中一句话作为结束,也希望所有面临校招的童鞋们都拿到适合自己的 offer。

我的民因无知识而灭亡。你弃掉知识,我也必弃掉你,使你不再给我作祭司。你既忘了你 神的律法,我也必忘记你的儿女。