专栏名称: 九章算法
专业的北美IT求职经验分享、技术交流社区,帮助你找到好的IT工作。由硅谷顶尖IT企业工程师维护。提供专业的算法培训/面试咨询,官网 www.jiuzhang.com
目录
相关文章推荐
算法爱好者  ·  历经 20 年,Photoshop ... ·  6 天前  
九章算法  ·  一份百试不爽的《学霸记忆LeetCode刷题 ... ·  1 周前  
九章算法  ·  K.O大厂“原题”的《大厂OOD面试宝典》, ... ·  1 周前  
51好读  ›  专栏  ›  九章算法

在职跳槽,拿到Facebook, Google等 Offer

九章算法  · 公众号  · 算法  · 2016-11-29 08:05

正文


楼主背景

医疗行业在职跳槽

拿到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。


课程帮助 

1
系统设计课

系统设计课针对性的把大系统拆开,连贯的讲出来,非常有启发性。知道一个东西怎么做的固然主要,但是把他用在什么部分有几种做法才是很多面试的重点考察方面,而这门课把后一部分的知识高屋建瓴的讲解出来,不仅对系统设计面试有帮助,对算法题的举一反三也提供了很多思路(比如算法里用到inverted index的数据结构, 比如把难题大而化小成几个部分的思考方式)。


2
算法强化班

算法强化班的帮助则是把题目更好的进行归类,给每一类题提供了一个抽象的思考方向和大致解法。我印象最深的是博弈/区间DP。后者在GG onsite遇到过一道新难题,跟面试官讨论用了十分钟,敲定思路,面试官说,你只要写出来简单的搜索解法就算你过,结果我只用了十分钟写了dp解法,面试官蛮惊讶的,说,好吧,那剩下十五分钟我们聊天。


准备建议 

1
刷题

刷了两个月题

看过答案的题全部标注出来

写不出新题了就把标注过的重新写一遍

过一段时间后,不看答案就有思路的题取消标注

一直不会的或者有tricky部分的题记在笔记里


买了会员,去公司之前刷一遍有tag的题,看看错题本。discussion里前辈提过的技术查查paper,看看wikipedia,有个概念。leetcode上有重复的题,也有豆腐渣掺屁想出来的脑经急转弯,这些看过就算了。不需要每一道题一遍一遍刷,刷了几遍leetcode这种事情又写不进简历里。遇到难题也别难为自己,看看答案,吃点好的,回来再写。


2
面试

至于面试,我的经验是:


在战略上轻视面试

当作和前辈工程师喝茶聊天

在战术上重视刷题准备

准备的时候该打鸡血喝咖啡打鸡血喝咖啡,面试的时候得豁的出去


哥就是这样了。


面试官

你怎么写Pattern Matching?

知道,KMP,不会写,你再出道题。


面试官

你知不知道检测最长回文的O(n)的写法?

知道,维基百科上看过,看过也不会写,你再出道题。


面试官

你听说过Three Sum吗?

当然做过,我要是说我没做过你信吗?




个人认为,面试的要领其实是让对方喜欢你。无论是瞎逼逼自己不懂的,还是揣着明白装糊涂,都挺折磨人,不如面试的时候突然自我一下,无论于人于己都是一种放松。


想进FLAG实习?九章帮你系统讲解面试算法,解决面试时常见算法问题


以下课程,正在报名中!

《九章算法班》

《算法强化班》

《Java入门与基础算法班》

《Big Data 项目实战班》

第一节免费试听!!

报名网址http://t.cn/RAC7Era, 或猛戳“阅读原文”