转专业北美找工记
Posted on Sat 30 April 2016 in 找工求职
版权声明:本文为博主原创文章,未经博主允许不得转载。
背景介绍
加州西南某校Computer Engineering专业14Fall Master,本科专业是EE,算是半个转专业🐶。找工作从15年9月起至16年4月,前前后后历时7个月左右,专攻Software Engineer职位。总共投简历的公司大概在100家左右,24家给了面试机会,有8家进入到了最终轮的面试,最终只拿到了Amazon和Facebook一共2个offer。
找工篇
感谢所有给我面试机会的公司,投的职位基本都是Genernal SDE / SDE for New Grads/ Backend SDE。括号内表示拿到面试的途径,名字加粗的公司都进入了最终轮的面试:
今年给我最大的感觉是refer不是那么有效果了,如果只是在linkedin上或者论坛里找人内推,很多时候也会石沉大海。分析了下原因有二:(1) 通过内推拿面试的途径变成了主流,推荐人每天收到太多简历,没办法没份都推。(2) 今年很多公司都缩招了,没有足够职位,甚至有些公司内推的简历也被直接拒绝(比如Linkedin)。当然,通过refer拿到面试的成功率依然高于直接online申请。校招也是一个拿面试的好机会,无奈本校的Career Fair不能算很给力 (提供OCI的不太多),我通过校招拿到的面试只有2个。
进入最终轮的面试:
(1) Amazon
Amazon招收new grads的模式是比较特殊的,全程是两个online Accessment test + Onsite/Video interview,内容涉及到了逻辑,debugging,阅读理解,coding,work simulation。先说online Accessment(OA),和别家的不同是,除了coding的题目,Amazon的OA1还有一些debug和逻辑题。OA2主要部分是模拟工作时的场景让candidate做出一些选择和决策。个人感觉Coding的总体难度不高,OA整体的体验还不错,尤其是OA2关于工作场景的模拟很接近现实。最后系统会根据OA1/OA2的完成情况给出next step。 我抽到的是Video interview, 简单的来说就是30分钟的视频面试,主要问了问OA coding题的思路和优化, 之后大概等了一周收到了Offer。还有一种情况是做完OA后收到onsite邀请,听说是group interview,每组三个人,各自选取三个不同的task完成。主要考查点在团队沟通和优化代码的能力。总体来说Amazon是今年就业大环境不太好的情况下依然招得很多的公司,无论如何值得一试。
(2) Electronic Arts (EA)
EA是个神奇的游戏公司,已经有30多年的历史了,耳熟能祥的植物大战僵尸,FIFA,模拟人生等都是出自他家。 这次面试机会是找人refer的,面的是Data组的engineer职位,处理和分析游戏产生的数据的。一共经历了一次电面 + 一次offline coding test + onsite(6轮)。 EA算是我第一家正式的Onsite,大约是在1月初面的。一共有6轮的面试,全程面下来真是相当累,记得最后一轮我的脑子都转不动了,中国小哥还是很耐心的引导,最后在提示下才把问题解决。感觉EA对于系统的知识掌控更为看重,coding的题目都比较常规。记得和hiring manager吃午饭时,一直在聊技术的问题:他提出场景,让我回答解决方案,导致后来中饭也没怎么吃好。下午有一轮是完全问简历,projects,深入到方方面面的细节。 第一次onsite的时候的确经验不足,很多回答感觉不能convince面试官。几天后就收到了HR的Thank you letter。值得一题的是在lobby等待HR领走我的时候逛了逛他家一楼的game store,各种周边产品一应俱全,简直是游戏发烧友的福地。
(3) SnapChat
Snapchat的面试机会来自于Linkedin上一位热心国人大哥的内推(后来onsite吃午饭也是和这位大哥一起吃的).总体的面试体验就是S家真的是一家及其注重效率的公司,每次面完一轮第二天马上会得到followups。我一共经历了一轮OA和两轮电话面试才拿到了Onsite interview。Snapchat和很多大公司都一样,着重candidate对于基础数据结构和算法的理解和熟练程度,稍微有点不同的是Snapchat的题目更加灵活而且往往有特定的scenario。能不能从这些scenario中抽象出模型,应用算法知识去解决问题成为了关键。S家的Onsite一共四轮:1轮上午,三轮下午,中间还有和engineer吃饭聊天的机会。总体的体验安排感觉比EA人性化很多,而且公司地处venice beach旁边,周围环境没得说。最后4轮面下来的感觉还不错,不过最终还是没能拿到offer,毕竟是hot的unicorn,拥有比较高的招人标准。
(4) OSIsoft
这家的面试机会来自于校园招聘会,当时和到场的engineer简单聊了一下,发现公司主要是做数据分析管理系统的,涉及各行各业的数据。校招投完简历后不久收到HR邮件要code sample和github链接。 之后有一轮电话面试, 主要考察一些计算机基本知识,最后问问了我提交的coding sample,让我解释一下。Onsite的时候是飞到位于奥克兰的总部,住的酒店很精致,还有专车接送去公司。这家公司比较有意思的一点是大多数工程师都不是计算机专业的,因为founder就是学化学的。有一天他觉得实验的数据太多太乱,就想写一个数据管理和分析的软件,这也就是PI System的最初雏形。这家的面试流程是早上三轮,然后会有一个员工带candidate吃午饭。面试的重点主要放在了简历和match程度上,每一个简历上的项目都被反复拿出来问了,有了前两次onsite的经验,说得也比较细致。面完后1周收到了Thank you letter,应该是自己的经历不太match,这家的技术栈和微软很相似,C++/C#/.NET那一套。同时他们也正在打算向Azure迁移部分服务。
(5) Qumulo
这家的面试机会来自于网上申请, 流程是OA+一轮技术面+一轮HR面+Onsite。这家公司是做network-attached storage (NAS)的start-up,去年才刚发布第一款产品解除透明状态。一共只有40位工程师。onsite面试一共四轮,上下午各两轮,安排的很紧凑。由于人手不足,所有的面试都被安排在周末。面试开始前还有demo时间,每个candidate可以和engineer坐在一桌彼此深入了解,最赞的是面试结束后的Seattle tour,去了pike market逛了一圈。晚上公司还专门定了酒吧的一层楼吃晚饭,还有各种活动小游戏之类的,算是几家面下来活动最多的公司了。这次总体面的还不错, 有一轮的面试官是公司的第7个engineer,做完题后还和他聊了聊公司的前世今生,包括未来发展的前景。然而一周后收到了thanks letter,据HR说题目答的不错但是因为headcount有限,这次来的14个candidate只要了1个最match的。当时刚收到amazon offer不久,本来想着如果有Q家offer就从了Q家,小公司的氛围真心很不错。
(6) Houzz
能拿到这家公司的面试纯属意料之外,之前和一个同学无意聊天中得知了这个公司,大概知道是一家做家装platform的start-up,于是就抱着试试看的心情网申了一下。其中有一个问题是why houzz? 我长篇大论了一番,估计戳中HR了,第二周就收到了面试的邀请。这家公司对于毕业生的要求还是很高的,大多数网上的职位都要求3~5年的相关经验,面试的内容也很细致全面,不局限于算法和coding。在经历了3轮全方位的电话面试考察以后,我终于收到了onsite的邀请。公司位于Palo Alto,面试前一天的下午就到了,发现住处到stanford在步行可接受的范围内,于是就走去参观了一番。
住的地方是类似公司招待所的地方,装修风格个人很喜欢 (不愧就是做这个业务的公司)。
第二天一早爬起来面试,感慨可以在这多住几天就好了。面试形式比较常规:一共4轮, 上午两轮下午两轮,中午和我面的组(Backend Infrastructure)的人一起吃饭。第一轮做的相对顺利,一个小时的时间做了三道题,虽然最后一题有点小卡,但看得出面试官还是满意的。第二轮就是悲剧的开始,面了一道系统设计的题目,这里体现出了自己对high-level设计题的不熟练,每个部分都知道一点却又不够深入,解释自己的想法时重点也不突出,完全被面试官牵着鼻子走。面完这轮是午饭时间,心中已经有所预感了。下午的两轮面试就问了一些简历和简单算法题,我已经心知肚明了这意味着什么,就干脆放开了coding和聊天。现在回想起来下午放松的这两轮表现还算不错,不过已然无力回天了。面完最后四轮的时候HR还希望我能留下来和team再一起吃个晚饭,后来考虑到晚上的飞机和拥堵的101公路还是放弃了这个想法。总的来说个人十分稀饭这家公司,也很看好它未来的发展,无奈自己实力不济,没有刚毕业就进入hot start-up的命。
(7) Two Sigma
花街做高频交易的高上大公司,这家也是抱着试试看的心理网投的,没想到很快收到了HR的回复约电话聊天。他们家主要还是以软件开发人员,数据科学家为主。通过软件系统实时收集信息,数据科学家建模,高频交易系统来完成交易操作。接下来的流程是一轮OA+一轮电话技术面试,考的题目都比较常规,和面试官聊得也挺开心。一周后收到Onsite,心情十分激动,终于有机会去传说中的华尔街面试了。一大早去LAX坐飞机,一共飞了6小时才抵达纽约JFK,天色已暗。机场有司机举着我的名字的牌子专程接送去酒店,这服务没得说了。Two sigma订的酒店就在公司步行距离范围内,旁边就是曼哈顿的中国城。可能由于太兴奋,床太软或者倒时差(美国东西部还是有3小时时差的)的问题吧,一整晚没睡好,第二天强作精神就上战场了。
第一轮是个打扮得很摇滚的白人女面试官, 这轮发挥还不错,可能第一波鸡血还没过去吧。第二轮是个国人小哥,特别亲切,我在电脑上敲代码他坐在我旁边看着。这轮脑子就开始有点犯昏了,一道不难的题写出了bug,被小哥提点了几次才改对。第三轮也是个白人妹子(给纽约IT公司的男女比例点赞),题目比较特别,实现或改正guava中某个class的几个函数(之前被特意修改过)。这就完全拼阅读理解了,文档的注释很全,看能不能快速提取有用的信息。面这轮的时候整个人都迷迷糊糊的,睡意涌上来了,而且看文档写代码中间并不怎么和面试官互动,特别容易睡着。。。后来改变了一下策略,和面试官多沟通,说起话来也能维持一下头脑的清醒度。最后算是跌跌撞撞地写完了,目测这一轮死于话多。中午和公司的两个同组的数据科学家吃饭,特意告诉我别紧张,吃饭不记录面试表现。然后他们就开始在饭桌上算起两个同组的人带candidate来吃饭的概率了,我是一脸黑线啊。吃完饭就在面试的房间等下一轮,不一会儿进来一个白人大叔,本以为是下一轮面试官,结果是HR,和我说了一堆话。一句话的总结意思就是今天的面试结束了,你悲剧了,于是我就返回酒店好好的补了一觉。
总体的感觉是Two Sigma题目都不算难,但会考察你的反应能力和实现效率。由于是上机编程,对IDE的熟练程度也成为了考察的一部分。还有一个比较深的感触就是相对于其他financial IT公司,TS的着装风格并没有那么严格,只要causal即可,没必要每天穿着西装打着领带进出公司。
(8) Facebook
当4月底的某个中午, 和同学一起吃着饭,突然收到facebook的HR电话时,我的心情是十分激动的,HR直接爽快地在电话里通知了offer以及各种细节。Facebook在15年秋季开始一直没有怎么招新人,据说是intern的return offer发太多的缘故,这次能拿到面试得益于一位已经拿到return offer的同学推荐。在同学内推后不久,我就收到了负责我们学校校园招聘负责人的邮件,让我提供一些基本的信息,接着就约了一轮技术电面。面试官是西雅图office的,在面试最后的问答阶段,我问了他这是否意味着我在面西雅图的职位。他说不是的, 这是genernal的招聘,拿到offer以后可以选择去不同的office。结果第二天下午就收到了去Menlo Park总部的面试邀请,我被重新分配了一个HR,她一直负责和我联络知道最后拿到offer。
Facebook对new grads的onsite只有三轮,两轮是纯技术面,一轮是behavior+技术的混合面试。三轮的确少于大多数其他公司的onsite,但这也同时意味着有一轮表现不太好就会很大程度的影响整个面试的考评。前两轮我面的都很顺利,面试官分别是来自广告组的工程师和instagram下属某组的manager,我们相谈甚欢。最后一轮面试是一个来自backend infrastructure组的工程师,在Facebook工作了4年。这一轮我发挥得不算很好,他的口音听起来像是东欧人,我不太习惯这种发音,导致在对题意的理解和确认上浪费了一些不必要的时间。之后我的思路好像和面试官的并不一样,简要叙述后,面试官让我写代码试试。最后写完了还被他抓出一个bug, 经过提醒才改正了过来。面完以后我一度以为应该和Facebook无缘了,今年的bar据说很高(因为不怎么缺新人),如果不是三轮都bug-free应该很难拿到offer。
不过一天过后,HR给我安排了加面,说是加面完了这一轮再送终审,这让我有一种起死回生的感觉。加面的这一轮是45分钟的电话面试,面试官是一位来自news feed组的工程师,简单的自我介绍后,我们直接切入了主题。这次加面很顺利,我回答了两道题目还有一些对应的follow-up问题,从面试官的反馈来看,他很满意。面试最后的QA环节,我请求面试官可以早点写好feedback发给HR,他欣然答应。这次加面之后,我感觉自己可能离offer更近了一步,不料这只是刚刚开始。又是一天后,HR问我要了两个推荐人的联系方式,我把当时实习的mentor和一门课TA的邮箱给了她。又煎熬了一周,HR告诉我评价结果出来了,还需要再做一道coding puzzle才能做出final decision。我的心又悬了起来,不过想着自己都走到这一步了,唯有尽己所能克服每一个关卡。又过了一周,我把自己写好的代码,详细的文档以及对应的测试案例发给了HR,HR让我静候消息。又过了两天,在和同学吃午饭的时候就突然收到了开头提到的电话,总算是松了一口气。
总体来说,facebook的面试过程给人的体验都很好,HR邮件回复的很及时,面试官都善于交流和引导,并给予足够的时间让candidate提出问题。
心得体会
1. "笨鸟"先飞
顾名思义,找工求职需要早做准备,尤其是对于转专业的同学。每年校园招聘的高峰期在每年的9月到12月,这也就意味着最早从8月份就可以开始投简历了。对于quarter制的学校来说,这一点是有点吃亏的,大多数同学实习完就已经9月中旬了。相对来说semester制的学校就会好很多,在西雅图实习的时候认识一位哥大的朋友,在实习结束前就开始投西雅图local小公司练手,趁着开学前也面了好几家,积累了不少经验。大多数quarter制的同学也在9月一开学之后就开始了投简历阶段,秋季的校园招聘会成为了主要战场。今年大公司招人大幅缩水,除了Google和Amazon的面试量感觉没有减少外,Facebook,Linkedin等往年的招人大户都早早收官(我的Linkedin是12月找学长refer的,直接因为招满了简历据。Facebook到来年三月才放了小部分opening,我刚好赶上了这一趟)。
2. 信息互动
同学间的信息交流也很重要,比如哪家公司开始招人了,网投有了回应,或者有哪个linkedin上的人愿意推荐等。这些信息利用好都能帮你拿到一个面试。我有很多公司就是通过和同学交流,知道网投或相应的人可以帮着refer,于是获得了面试机会。当然,如果同时面一家公司,前人的面试经验也是很好的参考,小伙伴之间互相交流往往可以事半功倍。
3. 田忌赛马
古时候齐王和田忌赛马,每一个档次的马都比田忌的好一些。对于大多数刚毕业的学生来说,面试拿offer的门槛往往就比自己当前的实力高一点。当然,随着面试经验的增长,到了后期,个人实力也会提高不少。不过如果按照完全先易后难的面试策略,可能就会碰到赢不了一场的囧境:自己的实力总是比公司招人的门槛要差一些。如果转变思路,一开始以"下等马"的实力"面一些最难进(上等马)的公司积累经验。然后当自己的实力到了"中等马"后, 再去面最简单的公司保底(下等马)。让自己最后的实力到达"上等马"后, 才去面难度适中的公司(中等马)。这样就可以收获保底和相对理想公司的offer了。其实很多应届生希望进入的FLAG等大公司,难度也就在"中等马"的梯队中,真正最难的"上等马"都是炙手可热的Start-up(UAP等)。在我面的公司里,应该只有Houzz和Two Sigma的面试难度可以进入"上等马"的行列,这两家公司也被我加入了以后可跳槽公司的list中。
总结
找工求职实力和运气都很重要,多投多面总会有好结果的。今年的CS找工作的形势不如前几年了,但依然是最好找工作的方向之一。身边有许多转专业的同学也拿到了不错的offer,然而这只是职场的一个起点,更多的机遇和挑战还在前方。最终在Amazon和Facebook之间选择了后者,自己内心里更加认同Facebook敢于创新的文化和能够充分发挥主观能动性的工作环境。如果有对Facebook的工作机会(全职/实习)感兴趣的同学,欢迎联系我: facebookreferral1@gmail.com, 请在邮件正文写一段自我介绍和要申请的职位,并在附件中添加个人简历。