楼主背景
医疗行业在职跳槽
拿到offer: Facebook, Google, Two Sigma, TripAdvisor
签约Facebook
在中部某医疗行业巨头干了几个月,觉得生活无望。
再加上女朋友也拿到了斯坦福的录取,所以想来湾区碰碰运气。万一运气好拿到offer了呢?结果确实拿到了,说明运气确实还行。
九章的系统班,leetcode刷题
从七月底开始准备,那个时候还没有离职。
✔上了九章的系统班,做了些题,读了一些paper;有些读过,有些没读过,都很有帮助。重要的是老师领着串起来了很多知识点,这个自己很难摸索出来,也是上课的意义所在。
✔另外一边我当时也开始在leetcode上刷题,上班闲了会做两道,特别闲的时候做十几道。
刚开始做的时候应该只有三百八十道题,花了一个多月磨磨蹭蹭写完了一遍,不会就看答案,看完答案自己写一遍,感觉自己会了,其实没什么用。之后第二次刷,之前标记的题还是写不出来,所以后来也改变了刷题方法,方法在下面有一个部分会提到。
辞职、刷题
八月快结束的时候给老板说我要九月离职,老板说为啥哪里。
我说我去找女朋友,我要去Google,实际上当时我什么offer都没有,就是逞个能。
老板说,牛逼啊,那你走吧。
接下来到离职的日子里相当于脱产在刷leetcode,终于在离职前刷完了第一遍,也拿到了第一个电面,是硅谷的一个医疗App公司。
第一个电面(医疗APP公司)
✔skype聊天,寒暄了一阵
✔面试官问,get 和 post 有什么区别,我说不知道,get大概是可以刷新的操作,post的话一般都是idempotent的操作,面试官问啥叫idempotent,我说就是执行一次和执行多次的结果是一样的操作。
✔面试官没讲对没对就说,我们开始做题吧,出了一道validate BST。假装问了几个输入的问题之后,写出来了一个算法。
✔面试官让我跑一下,我说你这个codepad跑不了,要不我在IDE上跑给你截图。面试官说好。我跑了,截图给他看,他说没问题,时间到了,就把电话挂了。
✘第二天HR说,你挂了,具体怎么挂的你自己好好想想。
❖我想不出来,skype上ping了面试官碰运气,三天后面试官回复说,你问的问题太少,一看就是做过这道题的,以后要好好准备。
❖我真想回复说,准备什么准备演技吗?我要真给你说我第一次做这道题你信吗?但是没办法,第一次面试就这么挂掉了。
我也越来越绝望,想碰的运气都还没理我,到处找的内推都没有回信。在那几天我报了九章的高阶算法班,等到离职的那天周五,下决心定了第二天的机票带着猫飞来加州。我实在不想在中部呆着了。
刷题➝被拒➝offer
安顿好以后,开始继续刷题
✘每天在indeed和linkedin上刷新工作,投简历,没人理我。
✘内推了salesforce,ebay,amazon,ms,uber,airbnb,paypal,apple,tesla,yelp,evernote,dropbox,box,linkedin,均不理我或者秒拒或者内推人只是说说而已。
于是更加心虚和绝望。
✔再后来,朋友内推了indeed,电面过了,onsite被安排到了十一月(后来因为拿到了更好的offer,婉拒了)
✔tripadvisor的HR联系我,电面过了。
✔内推了qualtrics,电面过了。
✔内推的Facebook和Google的电面因为信心不足推到了十月。
✔在准备fb和gg的电面中间去了两趟西雅图,一趟波士顿,拿到了tripadvisor的offer,被qualtrics拒了,被另一家西雅图的公司拒了。
✔再后来,经朋友介绍申请了indeed prime,收到了十几家中小公司的OA和电面。
感兴趣的只有2sigma和tradeshift,前一家给了offer,后一家虽然面的很好,但是director觉得他们想要更有经验的工程师,所以叫我等一年再来。在拿到我拿到的几个offer之后,被地里的人内推面了thumbtack,很棒的一家公司,只是很遗憾自己水平不够没有拿到offer。
辞职、刷题
✔到了十月,面了FB 和 GG。
电面隔了不到一周,onsite也隔了不到一周。先面的fb,拿到fb的offer的下个周二面了gg。
✔周五过了HC
✔再下一个周一开始team match
HR很用心的找了很多个组,都很棒,但是还是没有在fb的截止日期前match上心仪的组,遂跟了fb家。
不得不说,这两家无论HR还是面试官都非常棒,HR在全心全意的帮候选人,而面试官无论电面还是onsite,也都很用心的在跟面试者讨论,可以感觉得出来他们很喜欢自己做的东西,对技术有很深的热情,心里都有一股气。tradeshift和thumbtack的工程师身上也有这股气,但是在别的几家公司的员工身上很少见到。
总之,这篇文字没有任何干货,通篇都是很主观的流水账和碎碎念。不是说这里要写经历吗?这些就是我的经历。希望大家运气都比我好,收到心仪的offer。
系统设计课针对性的把大系统拆开,连贯的讲出来,非常有启发性。知道一个东西怎么做的固然主要,但是把他用在什么部分有几种做法才是很多面试的重点考察方面,而这门课把后一部分的知识高屋建瓴的讲解出来,不仅对系统设计面试有帮助,对算法题的举一反三也提供了很多思路(比如算法里用到inverted index的数据结构, 比如把难题大而化小成几个部分的思考方式)。
算法强化班的帮助则是把题目更好的进行归类,给每一类题提供了一个抽象的思考方向和大致解法。我印象最深的是博弈/区间DP。后者在GG onsite遇到过一道新难题,跟面试官讨论用了十分钟,敲定思路,面试官说,你只要写出来简单的搜索解法就算你过,结果我只用了十分钟写了dp解法,面试官蛮惊讶的,说,好吧,那剩下十五分钟我们聊天。
刷了两个月题
看过答案的题全部标注出来
写不出新题了就把标注过的重新写一遍
过一段时间后,不看答案就有思路的题取消标注
一直不会的或者有tricky部分的题记在笔记里
买了会员,去公司之前刷一遍有tag的题,看看错题本。discussion里前辈提过的技术查查paper,看看wikipedia,有个概念。leetcode上有重复的题,也有豆腐渣掺屁想出来的脑经急转弯,这些看过就算了。不需要每一道题一遍一遍刷,刷了几遍leetcode这种事情又写不进简历里。遇到难题也别难为自己,看看答案,吃点好的,回来再写。
至于面试,我的经验是:
在战略上轻视面试
当作和前辈工程师喝茶聊天
在战术上重视刷题准备
准备的时候该打鸡血喝咖啡打鸡血喝咖啡,面试的时候得豁的出去
哥就是这样了。
面试官
我面试官
我面试官
我
个人认为,面试的要领其实是让对方喜欢你。无论是瞎逼逼自己不懂的,还是揣着明白装糊涂,都挺折磨人,不如面试的时候突然自我一下,无论于人于己都是一种放松。
想进FLAG实习?九章帮你系统讲解面试算法,解决面试时常见算法问题
以下课程,正在报名中!
《九章算法班》
《算法强化班》
《Java入门与基础算法班》
《Big Data 项目实战班》
第一节免费试听!!
报名网址http://t.cn/RAC7Era, 或猛戳“阅读原文”