找工作散记

Dream

上周五去准东家签了约,算是给自己不算漫长的找工作经历画上了句号。下周开始磨毕业论文了,如果论文顺利的话,明年3月份我就算是正式结束我近20年的学生生涯,从此告别寒暑假期,踏上掐着指头拼年假的道路了。

这篇博文,就当记录一下我不算丰富的找工作的经历吧。

虽然经历不多,但是由于我是一个感情丰富的人+话痨,所以不丰富的面试经历,恁是被我写成了长篇大论(要是能放论文里头就好了)。本文呢,主要描述了我找实习、做实习、找正式工作的心路历程,其中详细描写了我跟亚马逊、Google,微软,雅虎,百度,阿里等企业的情感纠葛。没有耐心和闲工夫的,看看标题,感受一下就好。

所以,长文慎入

本人背景

北邮土著,更准确地可以说是北邮计算机土著。

研二暑期实习之前还有过一段百度的QA实习经历,没有参加过ACM,因此算法基础不是很好。没入过党,没得过国奖,也没有做过牛逼项目,总之就是没啥亮点,简历扔过去也就给人一个标准码农后备军的感觉。

暑期实习

如果把只看开头和结局,我的找工作经历其实很简单:从我投出第一份简历,我整个找工作经历就算是结束了。

亚马逊:开始和结束

研三开学没多久,实验室同学们就开始在群里头分享历年的面经了,我还在想要不要写简历,然后就看到同届的人开始发面经了…于是整个人都不好了,开始焦虑,找模板,写简历,改简历,写英文简历,改简历。

弄了一周多,终于形成了一份中英文简历,这个时候就得找一家公司投了。正好这时候群里头分享亚马逊的面经比较多,于是糊里糊涂找学长内推投了亚马逊,当时对亚马逊的认识也就是前几个挺牛的同学都面得不太好,公司应该不差。

投完简历,又开始焦虑了,我这都还没有正式准备,怎么就要面试了。我简历写的是Java,但是 Java程序员面试宝典 啥的我也没看过啊,于是找同学借来一本,刚看了一节就觉得任重而道远,遂放弃。然后去读书馆借了本类似 Java面试必会117 题的垃圾书,开始一条条地吞,这时候想的已经不是拿offer了,而是不给母校丢脸。

电面很快就到来,电面的是一个HR MM,专门负责校招的,角色似乎更加像是technical recruiter,总之就是确认了一下简历中间的一些细节,然后就英文简单介绍一下做过的项目,似乎如果英文没有问题不会筛人。

然后就是onsite了,亚马逊实习的onsite分两轮(似乎中国这边校招也是),一般情况都是一轮manager,一轮偏technical一些,但是都会问一些技术问题。偏technical的会有coding的环节,是在纸上写题,我当时很装逼地使用了Python,还好组里头(后来才知道)面试我的人都不太会Python,我算是写清了思路,侥幸通过了。

感觉亚马逊相比其他的公司,除了考察基本的技术能力,可能更加重视综合能力、整体素质一些。感觉面试官的决定性很大,很多时候面挂了也不是因为技术不过官,可能就是面试官感觉哪儿不合适。

我面试完感觉并不好,因为面试官问的关于Java语言的一些细节题我都没答上或者答好,不过跟Manager那轮倒是感觉聊得比较开心。

最后,onsite完,没过一周HR就发了offer,收到offer的时候还在公交车上,其实已经抑制不住喜悦的心情了,因为也算是实验室里头第一个拿到实习offer的吧。

其实我直到拿到offer才去认真研究了一下亚马逊的待遇、发展,调研下来感觉不错,算是超出了我的期望,感觉也算是自己RP爆发了吧。

另外,亚马逊是我拿到的第一个实习offer,也是我最后校招签约的准东家,具体情况,后头再表。

微软:五次郎

直到最后校招秋令营收到微软拒信,熟悉我的同学终于给了我一个光荣的称号:微软五次郎。

面微软的实习的时候,走的是标准的实习校招:笔试,面试,被拒。

投微软之前我想得最多的问题便是,如果拿了offer,我是去微软呢,还是去亚马逊呢,微软在中国大一些,出名一些,但是微软用Windows啊…亚马逊其实挺不错,但是毕竟没有微软那么有名~

后来知道,我想得太多了。

微软的笔试大概是我参加的第一场笔试(本人在拿到亚马逊offer以后,斗志瞬间不足,也没有投很多家了),全都是选择题,错了还扣分,总之我答题非常保守,除了语法基础题以外其他题目也都还好。最后顺利过关,不过微软那道x = x++的题还真是让人忍不住在回忆的时候都继续吐槽。

然后就是onsite了,微软在中国主要两个部门:MOD(简单理解就是Office)与STC(简单理解就是Bing),由于历来鄙视微软Office系列软件垄断市场,加上对客户端开发一窍不通(后来证明我对MOD的理解太狭隘了,秋令营部分表),我投的主要是STC的职位,面试也分到了STC。

我在微软的面试经历可谓是奇葩,一面的时候总是拿不到面试官的笑点,最后一个简单的复杂度计算我居然以数学不好为理由放弃计算了;二面面试官相当友好,我却问人家是不是外国人——我以为是日本人,后来人家告诉我是广东人,我表示都是《爱情公寓》里头那个假日本人害的。

总之,因为我的表现和发挥都到了奇葩的水准,加上之前拿到offer的懈怠(我买了一年多的《编程之美》几乎还是新的),再等了N久之后,被拒了。

同时,同组(25个人左右)大概有10来个同学拿到了微软的实习offer,算是狠狠地打击了我一把,可惜我还是没有崛起。

阿里巴巴:同学,你基础不好

回忆起来阿里的实习招聘,我印象最深的大概就是第一轮电面面试官告诉我的“同学,你基础不太好”了。

阿里的实习面试我总共经历了两轮电面+一轮现场面,可是我感觉这两次似乎是割裂的,当然这个割裂感跟后来阿里校招给我的割裂感相比,那是小巫见大巫了。

阿里前两轮电面是阿里云的某个组进行的,阿里的电面,在我所经历的面试中,大概是覆盖面最宽的了。从操作系统到计算机网络,从概率论到数据结构,从设计模式到文件系统,什么都问…

这里头我记得比较清楚的是,微软onsite那道我放弃的复杂度计算题,阿里这一次也遇到了,我装作思考,回答出来以后,面试官跟我说算错了。我很惊讶,以为面试官在诓我,于是又说了一遍计算过程,面试官说:同学你等会儿好好想想吧。这大概是我对阿里印象最深刻的另外一点了。

然后电面完了以后,被吐槽基础不好的我也知道自己希望不大,但是居然后来还是等来了onsite,结果发现我被安排到下午5点多,接近饭点,似乎除了我,没有几个同学在面试了。然后我对着面试官说了很多,面试官可能是饿了,也没有问啥问题。

面完我还感觉良好,因为我说了很多。可是最后大家都开始收到offer的时候,我再也没有等到阿里的消息了。

雅虎:World Hello

雅虎的简历,是我在焦虑期从论坛上看到招聘贴投出去的。结果不知道过了多久,突然接到onsite的通知,雅虎今年大概没有怎么招实习生,总之身边投简历的,也就我莫名其妙参加了面试。

雅虎的实习我面了两轮,两轮都是问问题+coding,面试过程中规中矩,不过第一轮很好的暴露了我做题太少的问题,一个类似链表逆置的问题我居然被自己卡住了;第二轮的面试官似乎不知道什么是反向代理,我也不知道人家是真糊涂还是假糊涂,于是我耐着性子解释了一遍,大概是暴露了我说话太罗嗦的缺点。

面雅虎的时候我做了一道把”Hello World”变成”World Hello”的问题,这个问题在我之后的面试中又有好几次遇到。现在想起来,如果再写下去,我大概会像孔乙己一样,抓着个人就说:“你知道‘Hello World’转化成’World Hello’的5种写法吗?”。

雅虎在面完若干时间以后,也收到了拒信,但是雅虎的拒信是我收到的第一个写了我名字的拒信,不是群发,我表示很欣慰。

豆瓣:长见识了

豆瓣是我跟同学聊天时知道在招实习生的,于是找同学投了简历,结果我是投的开发,因为之前有过百度的QA(亦或是SDET)经历,所以硬是被人拖到了测试组面试。

豆瓣的实习生招聘,先是通过邮件在线进行笔试:SDE的都是开发题,QA则是选择、填空、问答题。

笔试过了以后就是onsite了,豆瓣的总部在一块工地后头,不能严格地说偏僻。进去以后,发现有一堆人都是用的27”的iMac,十分口水,前台MM不是我想象中的小清新,不过也算漂亮,里头的环境,倒是我面试过所有公司中最文艺的了,loft,挺舒适的。

面试过程就不表了,面试官经验丰富,一下子就看出来我已经不适合做测试了。在我一个充分准备的大牛同学去豆瓣面完测试开发以后,我也顺利收到了拒信,尼玛还是群发的。

找实习总结

实习工作找到最后,因为一开始就拿到了offer,虽然我每次面试后面的企业都认真地考虑过如果给我offer,我要不要接受,但是最后他们大概都看出来我诚意不足,都没有浪费他们宝贵的offer,于是我最后也只拿了亚马逊的实习offer,开开心心地去亚马逊实习了~

实习

接下来说说我在亚马逊的实习吧,开始之前先帮准东家打个广告:史上性价比最高的实习,非我A家莫属。

SDE Bootcamp

开始在亚马逊的实习之前,听几个先去实习的同学说里头配置开发环境很繁琐,说是头一周都在配环境,听到这个让我不禁有些担忧…

但是后来的经历完全打消了我的疑虑,亚马逊内部有一系列名为”SDE Bootcamp”的Wiki,这套Wiki事无巨细地介绍了开发环境的部署与使用,亚马逊内部甚至有一个EnvNinja的小组会针对自己的开发环境发布一些专门的调优脚本、小工具。

亚马逊有一套自己完整的开发工具生态链,这一套生态链要么是使用开源工具打造,要么与之前熟悉的开源工具很类似,功能之强大不用说。如果之前已经习惯了Linux系统,并且对DevOps概念有些许了解的话,学习上手实际上是一个非常愉快的过程。

干活

熟悉亚马逊的开发工具+熟悉组内业务逻辑大概花了两周,然后开始陆续干些散活了。

整个实习期间大概做了两个比较有连续性的活,一个是把一个现有业务逻辑整合进入别的组的一个新平台;另外一个是完善一个定时任务调度系统。

其实两个任务难度都不大,第一个任务整体上更有挑战性,因为要跟西雅图那边一个团队不断沟通,不过这个任务进行到一半因为一些问题搁置了;于是为了转正,我使出了吃奶的力气,花了些心思,总算是把没啥挑战的第二个项目做出了点可以拿出来讲的感觉了。

最后再补充一下,我实习的部门属于OPS-Tech,就我理解而言,这个部门负责的是用户购物时感受不到的那部分系统的开发,像物流预测、仓储规划等等功能。这些功能一搬都在亚马逊全球各个国家通用的,所以业务是面向全球的。

转正

为什么说A家的实习性价比高呢?就亚马逊中国而言,每年校招不了多少人,而且校招比较倾向于实习生转正。

更重要的是,实习生转正,流程上只要做一次Presentation就行,不像别的很多企业还要经过很多轮的面试。如果实习期间表现还好,确实有产出,通过率还是比较高的。

读过 Cracking the Code Interview 这本书的同志都应该知道,亚马逊招人必须要过一关——Bar Raiser。具体到实习生转正流程,这个Bar Raiser就出现在你的Presentation上。

至于我的转正,其实是波澜不惊,我比较早做完了转正的PPT,就等着Presentation。记得临Presentation那几天,先是收到了微软的等待信(后来成了Thank You Letter),然后转正完又收到Google的onsite通知,那段时间整个人的心态就跟做过山车差不多,转正前一天几乎失眠了。

不过还好,我的Presentation表现还可以,HR和Bar Raiser反馈都不错,加上Manager和Mentor都是Nice的人。做完Presentation大概半个小时,就收到了Manager的口头offer,心里头一块石头也算是落了地。

找工作

微软:五次郎诞生

对,又是微软,我又一次,厚颜无耻的,参加了微软的“探星秋令营”

微软的秋令营是我在亚马逊实习期间参加的,前后花了三天,是在微软参加活动,接受宣传,组织面试。

秋令营之前有一个笔试,难度要强于实习校招,我后面两道编程题也答得跟翔一样。不过后来不知道为啥,还是给通过了,可能是由于湿兄的给力内推吧(湿兄我对不起你)。

秋令营花了三天,第一天是接受宣传,做游戏,相互熟悉,还有一个设计产品并且推销产品的环节,也是在这个环节,可能是我三天秋令营表现最好的一次了——我们组的产品得了一个最优奖;第二天就是一些过来人经验分享,包括面试官的分享,下午则是一个AI编程挑战赛,我很失落地在第二轮就被淘汰了;第三天是重头戏,进行了两轮的onsite面试。

其实整个面试我感觉还是可以的,第一面感觉跟面试聊得还可以,题目也做了;第二面其实是一个挺简单的题目,但是我花了太长时间讨论,实现的时候又拘泥细节,没能很快coding出来,后来还延长了面试时间,改进方案也只能跟面试官口头聊聊了。

微软整个面试下来,我居然觉得自己比上次更有希望了,但是直到后来收到微软的等待信,然后又是收到Thank You Letter,接着又被邀请去面试销售岗,我的微软面试总算是第五次划上了句号。

从大二开始,我用了近5年时间,得出了我不适合微软这个结论,请叫我微软五次郎。

Google:追梦赤子心

开始找工作之前,我给自己定下的目标是:拿一个还行的offer,参加Google的面试。因为大概也知道自己不够努力,达不到Google的bar,所以只求能够面试一回,感受一下码农圣地的氛围。

投简历

投简历依然是找内推,开始找了一个准直系师兄,结果人家没有内推名额了,后来找了个远房师兄,总算是把简历推过去了。

然后就是等通知,大概9月中旬收到HR通知,恭喜我被内推,通过了简历筛选,让我注册参加9月下旬的在线笔试——我于是查了一下,%&这个在线笔试根本没有门槛的好吧…心想还不如寄个Thank You Letter自己报名参加得了;接着又发现第一次在线笔试正好跟我的亚马逊转正冲突,没有办法,只能国庆准备一下,参加第二轮在线笔试得了。

这里帖一下Google的校招流程,你们感受一下,我当时希望有多渺茫:

Written Test → Phone Interview (1-2 sessions) → Onsite Interview (4-5 sessions) → Collect reference information and other supporting documents (transcripts) → Hiring Committee Review → Offer Review → Offer Delivery

准备面试

出乎意料的是,等我完成亚马逊这边的转正,没过两天,又收到了Google HR的通知,说是决定直接跟我onsite。记得当时接完电话,我努力控制才没跳起来…

填完一堆表以后,我的前两轮onsite被约在了10月8日,也就是国庆假期结束以后。于是从亚马逊请完长假,整个国庆假期就被我用来准备Google的面试了,这次备战的目的——不给母校丢脸。

因为已经来不及从基本功开始巩固了,我选择了最粗暴额方式:刷题。而且刷不了学院派的XOJ或者实力派的TopCoder,只能刷最投机的leetcode。

这里推荐我收藏的两个leetcode答案:https://github.com/AnnieKim/LeetCode,和https://github.com/anson627/leetcode

其实leetcode也不能干刷,得不断地优化、总结、讨论才能达到最好的效果。可惜我只有10天,没有办法,只能硬着头皮干刷,能够总结学习一点就学习总结一点吧。

因为我之前一直做的是Java的项目,但是刷leetcode的时候,我有意识地开始用C++,也是这段时间,才开始对STL有一点了解。可能这段准备Google的经历,是我C++ coding的一个巅峰了吧。

前两轮onsite

最后,前两轮onsite之前,我大概把这个sheet上的高频题(大于4星)都过了一遍,还做了一些其他的题目,不管有没有准备好,只能赶鸭子上架了。

到了onsite那天,被HR领到面试的会议室,我表面上还能故作镇定地到处观望,心里面已经是汹涌澎湃了。不过看到面试官后,稍微聊了一下,很快就进入正题,开始做题。

(因为NDA,我就不说具体题目了。)

第一轮我做了两道题,都是leetcode的原题或者变体(可惜我还没有做到这些题…),还好我也都写出了比较基本的解法,特别是第二道题,面试官真的可以说是谆谆善诱啊,感觉就要把优化方案直接说给我听了,还好我在他崩溃之前领悟了…

第二轮onsite就没那么好了,面试官给稍微多聊了一会儿,题目是跟几何有一点关系的。做题的时候分析了半天题意,先给出了brutal force,然后优化、优化,最后写的时候才发现原来这么简单——不过我竟然因为一个特殊用例的处理,卡壳了半天,直到面试完,这道题才抠完。后来知道,要是我提前看了CCTI,大概会少卡壳一点。

总之,面完Google的前两轮,自己的感觉就是肯定挂了(不是说要45分钟搞3道题吗,我90分钟才弄了3道…),但是对自己10天的强化训练还是挺满意的,当时就想要是这个水平去面微软,呵呵~~~

终面之前

面完前两轮,我感觉自己的Google面试之旅已经结束了,不过也管不了那么多,回去先是好好洗了个澡。然后接下来的两天啥事儿也没做,看电影、看美剧彻底放松了一把,感觉自己可以去跟亚马逊签offer而没有遗憾了。

结果面完第二周收到HR的通知,说是前两轮反馈不错,但是也有没有表现好的地方,说是继续复习,好好准备后两轮。

于是,重复国庆七天的做题模式,终于在面试前4~5天,我把leetcode刷完了,暴力刷完了…

最后整理了一下leetcode的做题心得,又整体过了一下CCTI,做了其中几道题,到面试前几天,也就是看看系统设计的知识点,跟着CCTI过知识点,看看以前收藏的博客。突击得已经差不多,但是要真正完全准备好又差太远,最后的几天就是在不断的自我否定和自我鼓励中度过的。

不管怎么样,最后还是熬到了最后两轮onsite。

最后两轮onsite

最后两轮onsite之前,HR说了,这两轮侧重考察系统设计(当然还是会coding),然后会有英文面试。

第三轮onsite是下午开始的,面试官是华人,也没有跟我英文。上来显示一个简单的设计题,先跟面试官确认了题目背景,然后开始设计,设计了一会儿发现我一开始的方向有问题,不满足题目的某些设定;在面试官的提示下,又重新考虑了一下,经过几轮优化,算是把这道问题解决了。

我没有计算那道设计题花了多久,虽然我的解题过程不顺利,但是跟面试官的沟通还是比较顺畅的,感觉面试官的提示都是很有作用的。当然在做设计的时候,你也要充分描述每一个设计你的选择理由,面试官在发现问题的时候,会及时提示,这种题一般保持良好的沟通。注意做选择的时候进行估算、场景分析,一般不会答不上来。

然后三面接下来就是coding的题目,居然是一道烂大街的树相关题目的变种。可惜烂大街那道题我已经烂熟于心,在想的时候,旧的解法总是萦绕我的心头。最终,这道题我只是说了一个大概的思路,面试的时间就结束了,这大概是我的挂点吧。

等了一个多小时又开始了第四轮的onsite,是个美国来的大叔,英语的沟通倒是没有什么问题,因为是英文面试的原因,题目难度其实也不大;大概是在完成一道coding、一道设计题以后,又把coding题翻回来放到multi-processors的环境重做一遍,这一回我没有答得特别好。

面完第三轮从楼上下到HR办公室等待面试的时候,我一下子就理出了那道卡住的的题目的思路,其实很简单,只怪自己心态确实不够好,也是因为实力不充分的原因。还好第四轮的美国大叔人很好,我调整好了状态。

最后的感觉是,能面完4轮,我已经可以没有遗憾地收拒信了。

送成绩

大概是今年Google北京这边没有怎么卡人,可能是四轮onsite平均分过线就能送HC了,总之,我面完四轮以后大概又不到一周,就收到HR的通知,让我准备成绩单。

接下来的两天,我都是保持了高度的兴奋,准备成绩单,推荐信。周围的知道情况的同学都跟我说往年送到HC基本上就希望很大了,我也忘了自己真的没有面好,开始充满希望起来。

因为最后HR跟我确定的时候,我选择的是北美的职位,等HC通知的这几天,我都开始跟领导憧憬起北美的生活起来。还在想怎么弄签证、怎么给领导弄签证(那得结婚才好弄签证啊)、去美国了我工作来你读书啊~~~等等等等,感谢Google让我等了那么好几天,也做了好几天的梦。

收拒信

后来我也在mitbbs上大概了解到,进了HC的淘汰率大概还是会有2/3,于是最后几天还是陷入了自我怀疑之中。

最后,终于在11月5日,收到了“An update from Google”,算是很委婉的拒信吧。

终于我的Google梦碎了,领导也跟着我空欢喜了一场,不过,我们都是乐观的人,很快就从伤痛(领导表示没有伤痛)中走了出来。

百度

百度因为之前已经实习过,所以这次实习没有找百度。到了找工作的时候,因为比较熟的一个师兄在百度工作,部门还比较核心,于是让师兄推了一下,被推的部门是百度的商业知心,具体的是比较新的组,做教育相关的商业知心业务。

开始面试的时候是8月份,其实那段时间还没有准备好,之前也就在测试部门实习过,实习的时候就听说百度RD面试各种高强度,因此很忐忑,面试之前稍微准备了一下——争取不给师兄丢脸。

我面试之前,实验室已经有几个同学通过相同的内推渠道进行了面试了,大概知道百度的面试时间会很久,问题也会比较全面。

具体我的面试是早上8、9点开始的,进行了两面,总共大概3个小时吧。面试官的问题确实比较多,而且面很广,但是没有阿里面试时咄咄逼人的感觉,可能百度是我的福地吧,之前一次实习在百度的面试就感觉和面试官很合拍。

一面面试官的问题比较全面,具体coding的题目也有,项目讨论,编程语言都有涉及,还问到了函数式编程,整个面试下来感觉还行。

二面的面试官像是被临时叫来的,问问题之前要想半天,不过出的问题还是很“有水平”的。面试官似乎很喜欢从看似普通的问题考察,去考察比较底层的知识点。比如这道Stack Overflow上头的明星题。我之前也没有准备过类似的题目,但是在百度我确实能够发挥比较好,所以那天面试官的题目都答上来了,面试官最后说“同学你基础很不错”,我唯一想到的就是阿里的面试经历。

本来百度是要三面的,但是我面试那天部门经理正好有事,所以三面被安排在了几天以后。本来我以为三面不会问技术问题,但是还是被问到了,而且我差点没有答上来,不过还好面试官很友好,最后我还是写出来了,具体面了什么题,已经忘记了,只知道三面跟前两面差别不大,只是多聊了一些职业发展的问题。

面完百度,内推的师兄告诉我反馈还不错,后来到了九月份百度就发了offer意向,然后又发了正式offer。

阿里

阿里的面试,满满的都是泪,感觉就是被大阿里调戏了,面试官我都挺喜欢的,可是面试官不喜欢我。

阿里一面的面试官给我了一些建议,我觉得比较中肯,其实对我后来谷歌的面试也有帮助。大致意思就是面对一个问题,从最基本的方法和技术开始讨论,不要故意使用比较复杂的技术手法。这其实指出了我思维和答题都有的缺点,我还是觉的获益匪浅的。

至于苦等了几个小时没有等上的笔试,早上八九点发短信通知10点的面试等等的,我就不吐槽了。

最后如愿以偿收到了阿里的拒信,其实我觉得阿里可以推一推“来往为校招最新状态获取唯一渠道”的,来往用户肯定大增。

雅虎

雅虎的校招,依然走的内推,不过应该是被打为终极备胎了,在我都快忘了曾经参加过雅虎的笔试后。某天雅虎突然通知参加面试,电话里头通知说会有邮件确认,结果等了两天发现没有通知,在论坛被告知HR联系电话,自己讨来了一个“面试”。

雅虎额面试是周六下午进行的,不得不说雅虎的工程师很是敬业。我是下午4点才开始的面试,然后就是连续的三轮车轮战。不过面到7点我才知道,被轮的不是我,而是面试官。

面到最后一个面试官,显然他已经不能完全集中注意力了,最后一道题我说完思路,看他还涣散着眼神,我问是不是还能优化,他跟我说他记不得有更好的解了…

雅虎额面试难度浮动比较大,听说有人有问到需要多维DP的题目,我的难度属于比较平均的水平(简历上也就那样,人家不抱什么期望),没面一到两道coding(面试官企图两道的我也就写一道),有些题目说说思路也可以。然后也会问一些语言的、底层的东西,跟阿里、微软基本上是差不多的吧。

面完三面已是晚上七点多,HR跟我说面得不错,让我回去等消息,下周安排终面。

结果,我恁是把Google额拒信都等到了,才等到雅虎的终面通知。

雅虎的终面上,正好碰到了微软秋令营的营友,一问人家已经拿到网易游戏35+的offer了,来雅虎是想看看能不能混个户口。

虽然雅虎遇故人,但是我面得确实不咋地,面试官对我简历里头提到的iptablesweb framework什么的理解程度比我要多很多。基本上我答完了要听面试官再给我梳理一下知识脉络。

面试官应该是比较高等级的经理了,还能有这么清晰的技术思路,确实令我十分佩服。最后面试官聊人生谈理想的时候,我不得不感慨自己虚度了研究生的光阴,为自己碌碌无为而悔恨。面试官安慰我说大环境就这样,不怪你…

至今我没有等到雅虎的结果,不过得知雅虎已经发了很多offer了,估计备胎轮上我也没有解决户口的希望了,遂作罢。

斯伦贝谢

斯伦贝谢是我一系列找工作经历中比较非主流的经历。主要是因为之前认识一个里头工作的学姐,对斯伦贝谢的TFE项目比较有兴趣,于是拜托学姐进行了投递。

具体我投的是BGC,因为网上斯伦贝谢BGC的信息比较少,我当是贡献一点信息量吧。

斯伦贝谢又叫四轮贝谢,也就是经历四轮笔面试才能拿到offer的意思。

第一轮:笔试

笔试是在北大进行的机试,可以选择C++或者C#,我对C#已经忘记得差不多了,于是选了C++,一共是10来道选择+两道编程题。

选择题我看了一下,都是典型的C++笔试题,可惜我不太会C++,于是放弃了选择题,先做问答题。

问答题第一道是树有关的递推解题,第二道是一维DP问题,我花了太多时间试图写树的解序列化(其实我是去看fstream的接口去了…),后来发现题目给出的条件根本没有办法解序列化。坑爹的是我没有时间做选择题了,最后除了第一题全部选了C。

第二轮: 群面

斯伦贝谢过了笔试就通知群面,群面是HR和类似Technical Recruiter的人负责进行的。具体形式就是“无领导小组讨论”,有特色一点的是会让你进行英文的自我介绍或者用英文答题。

我觉得,群面主要是淘汰不太会沟通的,和太浮夸的人,只要表现得逻辑性强一点,英语不太差,群面还是能过的。

第三轮:技术面

BGC的技术面需要进行一天,上午是Presentation + 一轮一对一面试;下午是两轮一对一面试。

首先开始的是Presentation,会给你一个技术的topic,比如如何写单元测试啊之类的,要用英文做,直接在白板上进行板书就可以了。给题目以有30分钟准备,15分钟presentation + Q&A,回答问题可以用中文(有些是全英文的)。

三轮技术面大同小异,每轮大概45分钟。有的面试官可能会尝试用英文跟你讨论某一个问题。面试的过程基本上就是说项目,问一些设计模式,oo的问题,也会问有些算法的问题(说思路就可以,都是通用算法:递推、BFS/DFS,二分等等),考察面很灵活很广,但是遇到需要coding的题,都是说说思路,点到为止。

因为我简历上说了不熟悉C++,不太会C#,所以就问我的都是基本算法、面向对象设计这类的多一些,熟悉Java的面试官问了点Java的语法问题。

第四轮:群M共面

虽然事先HR通知了是1V多,但是当我看到这个阵势的时候,还是被吓了一跳:

 m m m m m m m 
---------------(桌子) 
                    HR 
                    HR 
---------------(桌子) 
        me 

m指的是各种manager,HR的,技术的,非技术的都有,所以问题也不一定是啥,上去首先是自我介绍,然后就是提一个简单的技术问题热身一下,然后就是各种风月了。为什么来?职业规划?别的offer?基本上是想到什么问什么,几乎每个M都会问。

建议是自我介绍、对BGC的认识,这两个问题肯定要准备的。

最后会让你问一个问题,然后就ok了,大家都很友好,不过那么多manager还是有点吓人,建议是问完问题你可以复述一遍确定一下,语速放慢一点。

我面试的时候全程英文,不会的单词我就问旁边的HR了。

因为我手头上的offer快到deadline了,所以BGC当天下午就发了口头offer。

亚马逊

亚马逊虽然之前已经早早拿到了口头转正offer,我大概也通过各种渠道打听到了亚马逊的package会比较有竞争力,但是直到最后签约之前,还是发生了一些小插曲,让我心情又开始跌宕起伏。

大概的情况就是原来转正的组没有了headcount,然后又说帮我尽力争取,然后又说争取有望,然后又发现我毕业太早,headcount拿不到…

最后我辗转被调到了现在签约的组,不过在跟新组的manager聊过以后,还是觉得挺有挑战的。最后确定了去向以后,终于拿到了亚马逊那边比较正式的offer。

选择

到最后,因为无心去银行或者是国企,所以我的offer也就是在BGC,亚马逊和百度之前进行抉择了。

百度是最先发比较正式的offer的,但开始是由于Google,后来是由于亚马逊那边的变动,我一直没有给百度答复,到了最后百度承诺给到比较好的待遇了(甚至说尽量解决户口…不过HR的承诺你懂的),加上内推的学长跟我说这个组确实很有发展,我觉得去百度的技术发展应该会更快一些。

亚马逊这边我开始的时候比较担心技术发展问题,不过和新的manager聊过以后,他说了他对做技术的理解,感觉比较符合我的预期,加上这个组负责的业务发展很快,应该会有一定的发展空间。而且,亚马逊的待遇+户口期望值都还不错。

斯伦贝谢因为我原来比较中意的是TFE项目,这个项目后来被得知今年不在应届生中进行了,然后跟周围的同学、老师聊了一下,觉得我肯定更加适合互联网(亚马逊作为电商也算吧)企业一些,我也实在是舍不得放下以前接触的开源的那套东西,于是斯伦贝谢虽然最后offer+户口还算不错,也很快决定放弃了。

在确定亚马逊最终的小组去向之前,我还是比较犹豫百度和亚马逊的,但是后来跟新组的manager聊完,觉得在亚马逊不一定意味着技术挑战会少。而且读研这两年下来,我意识到如果要取得真正意义上的技术提升,需要的是在工作之外对技术的不断追求。如果只能被动学习,技术能力很难得到质的提升,HR或者是Manager承诺的发展并不是最重要的,个人的努力起的还是决定性作用(或许我几年后会觉得今天的想法太不成熟)。

另外,找工作之前和找工作的过程都在强化我对自己的一个认识:我可能更适合外企。这是我的第一份工作,头几年所谓的外企天花板效应大概没可能降落在我身上。所以我也就没有再多犹豫,选择了亚马逊。

这篇文章是我写给自己纪念的,谢绝各种转载

Comments