转载
来美国差不多一年半了,喜怒哀乐,不一而足。兜兜转转之后,找到了自己满意的工作,在这里记录下来,希望对后来者找工作能有一些帮助。我没有写非常详细的面经,是因为几乎所有题目都能在网上搜索到,再重复也没有多大意义(搜索也是一种能力),并且指哪打哪的面经几乎是小概率事件,充分的积累才是关键,希望大家理解。
实习结束回到匹兹堡以后,开始正式找全职。寒假的时候用Java刷了当时的Leetcode, 这时候我又用了大概10天的时间重新刷了大概200道leetcode(用c++),把状态转换到了刷题模式。9月初找内推,但发现事情进展并不顺利:
Facebook内推后拖到10月丢给我拒信。
Linkedin因为我实习自己海投过简历不能内推。
Pinterest同学内推以后毫无反应。
也有好消息。首先是很快就收到暑假实习的公司Pure Storage的return offer,吃了一颗定心丸(神奇的是,我知道的某大牛在PureStorage实习居然没有拿到,看来实习的组和mentor非常重要)。
Google的CMU recruiter联系了我,直接去Google Pittsburgh先面了两轮。大概是因为比较缺觉,现场面得一塌糊涂,据说在borderline上,所以过了大概两周才收到下一轮的通知,再去GooglePIT 面4轮。
题目不算特别诡异, 一道设计Tic-Tac-Toe游戏,一道大概是树上的搜索,一道有序数组找出现超过1/4次数的数字(主角光环,半年前和朋友吃饭听朋友提起过),一道throttlingapi requests的题目。我觉得自己发挥不错,精神上也足够重视,除了第二轮的面试官面瘫以外,跟其他面试官聊得都很开心。满以为肯定会有offer,岂料等来的是一封拒信。我的本意是用别家offer让Googlematch最后去Google家,只能说造化弄人。
Snapchat找了一个双料校友内推,先面一轮google hang out,一道是binarysearch tree combination count, 另一道忘掉了。虽然面我的中国大哥一直看起来不太开心,但还是顺利送我去onsite。Snapchat本身位置在LA,可以说既是优点也是缺点,离湾区大部队远,但Venice这个地方艺术气息非常赞,1分钟步行距离到海滩。海滩前面有个很大的滑板场地(如果大家看过精灵旅社2,里面有个滑板的场景就是Snapchat的实景,一模一样),大白天大家都光着膀子穿着沙滩裤到处溜达。
面试感觉自己发挥一般般,是在自己的笔记本上写,第一轮写string表示的浮点数的加法,写得各种惨,最后都有bug没改掉,第二轮写bloomfilter,面试官给了充分的提示,所以完全不用担心自己不知道或者不记得,但我居然忘了怎么传递方法指针了,惨。第三轮写一个公司层级表示。第四轮写一个board从一点到另外一点k步的path的计数。我见过别人面经里面面得比我好的悲剧的,所以心情还是很忐忑。第二天就收到了offer,赞hr效率。
Uber找了一个CMU校友内推,很快收到电面通知。题目是设计一个牌类游戏,需要写代码的就是shuffle部分。我忘了随机数如何生成了,惨,但小哥表示不是问题。Uber虽然人称HR反应神速,但是我过了很久以后才收到让我onsite的通知,拿offer催都没有用。
这周二刚刚面完。第一轮是word break,第二轮是一个迭代定义的object(可以是int,可以是arrayof objects)的构造方法实现,第三轮是一个database duplicate的实现(题目很简单,最后的考点是如何解决环状结构),第四轮manager面,聊到最后问了我一个debug电话的问题,完全没有头绪,最后他微微一笑告诉我答案其实是该电话的号码不是他号称的那个号码,吐血三升。过了两天以后内推的大哥告诉我Moveto offer,和HR电话谈过,offer的细节要过两天告诉我。
某猎头推荐我去HRT(Hudson River Trading),做了OA,题目不难但我有一个case没有全对,还是过了。电面两轮,内容包括网络(tcp等)、编程语言(我简历上java c++都有,于是被狂轰乱炸)、简历(聊得非常细节)以及神奇的脑筋急转弯。因为NDA的关系,我不能直接说题目,但和matrix67博客里面经常出现的那种有趣的题目非常接近,也和cs本身多少有点关系。我运气很好,脑筋急转弯的题目答得面试官很满意,然后给了onsite的机会。
HRT非常土豪,土豪到什么程度呢?所有的onsite candidate都送一块苹果表…我面完才知道的,极度震惊。公司本身在曼哈顿,30楼, 玻璃外就是一条河(hudson river?)。氛围感觉很不错,每个面试官我都多少感受到了geek的自负。有一轮coding,给你详细的算法说明让你实现某个算法。剩下三轮技术面试,非常类似于电话面试的内容,仍然在纠结网络、语言和简历,写代码部分很少或者说几乎没有。最后和老大讨论一下人生理想。 本来我只是用HRT练手的,我对这个公司一无所知,之前也从来没有考虑过去纽约工作,但是offer下来以后震惊了,整个package大约是25w。没办法,只能为金钱出卖灵魂了=-=
现在还和Two Sigma以及Airbnb约了onsite。飞机票都定好了,而且离deadline还远,我抱着了解的想法决定还是去把这两家面了。TwoSigma我做了OA就给了Onsite,OA大家一搜就有,没什么难度。Airbnb的面试是CMU 的oncampus,比较特殊,对大家应该没太大帮助,在此就不细说了。
感受很多。
海投真的是下下之选。一定要坚持不懈地找内推,找校友,找网上的陌生人,尽你一切可能去找。我自认为我的经历不算差了,但海投没有一次有反应的。
刷题是个持久战。不同人有不同的基础条件,但大概刷到什么程度就算差不多了呢?我觉得应该是:新题来了以后能很快定位出来这题是什么类型,老题对哪些地方会有坑以及自己写怎么避坑有丰富的经验。总结自己的模板。总结适合自己的经验。一开始看别人解答完全没有问题,我也是这么过来的,但一定要总结出来,有办法在自己记不清楚的情况下能引导自己想出来怎么写。Dfs,bfs, graph简单算法,简单贪心,一维二维dp,链表,binary search,树,自己用的语言的所有容器的api。知识点大概就这儿多,所谓刷题不过是强化自己对每个部分的熟悉程度,形成自己的写题套路。
以及坚持。每个人的背景有好有坏,你可能基础不好,可能课程繁重,可能情感纠葛,阻碍你的因素总会有很多,但坚持下去,到某个时间段,你自然会意识到,我已经准备好了。我知道我这一路走来很多时候有有赖于运气,但努力了没有得到回报的,以我所见,并不太多。问问你自己,是否尽了全力。尽了全力,再怪运气。
最后感谢我的父母,虽然他们在国内对美国和我的行业一无所知,但一直都给予了我最大的信任和支持。感谢我的女朋友,她妥妥地看不到这篇文章,但她真的给予了我无限的力量。也感谢我自己。 我曾经风光无限,后来又堕入深渊,但好在亡羊补牢,为时不晚。
努力本身就是回报,与所有努力过和努力着的人共勉。
太强了 HRT的大包裹
ReplyDelete请问楼主HRT之后的工作怎么样