脸家过经+申请季经验+求2019 summer实习群

明年暑假实习打算签FB啦,过来发一波申请timeline和经验(如果有19 summer intern群的话可以留言,我私信你微信号呀~)

9.13 内推
10.1 Hello from fb
10.2 HR约面试
10.18 第一轮电面
10.23 通知第一轮通过+约第二轮
10.30 第二轮电面
11.2 HR电话发offer

面试题的话,第一轮运气很好,印度大哥,1道LC高频 + 1道我校作业题lolll
第二轮白人小哥,是没见过的新题,只做了1道
具体题目签了NDA好像不能说,但是都不难的

下面是我面试这快两个月来总结的一些经验:
(其实我对求职/面试也是刚刚接触,如果说的有什么不对的地方请大佬们纠正orz)

  1. timeline方面:
    这是我这学期最后悔的地方了!下回一定要早点刷题早点申请! 不要害怕挂了进冷冻期 ,晚了的话想冻都没地方冻了。
    我暑假实习的时候太懒,整个假期就做了一道two sum【手动滑稽】,一直到9月10几号才开始刷LC,结果9-10月份就是学校课程+midterm+面试+刷题全都得一起搞,累的我都没空吃饭瘦了6斤(其实这一点我还是很开心的)。
    另外,我感觉应该 把想去的公司放在一起申请。 因为offer的deadline一般只有两周,可能会赶不上其他面试。我是10月中旬收到的databricks offer,但是其他想去的公司里,除了FB申请的比较早以外,google airbnb linkedin什么的都是10月1号才申请,好不容易拿了面试都没时间面了。其实也是因为之前没有刷题不敢申吧…

  2. 拿面试:
    大公司一定要找内推
    真的特别特别感谢我的学长学姐们帮忙内推,我之前career fair上面投的简历(比如yelp Amazon什么的)都没人理我,后来找了refer的公司15家里面差不多有12家都reach out了。
    我基本就是找认识的学长+linkedin上找校友/国人前辈们帮忙,一开始在linkedin上找内推还很忐忑,但是后来发现大家都超级nice居然全都帮忙推了。所以其实不用太担心,感觉有礼貌一点的话大佬们都蛮愿意帮忙的。

  3. 过面试:
    感觉找工作就是分拿面试和过面试这两步。我之前以为过面试主要靠刷题,后来发现其实最重要的还是 心态
    我在面其他公司的时候心态的蛮好的,遇到非原题就淡定一点好好跟面试官讨论,最后feedback就还不错。但是在面FB第二轮的时候突然特别紧张,可能因为是最想去实习的公司吧。其实我第二轮虽然考的是新题,但是题真的超级简单,结果我硬是跟面试官聊了10多分钟说了3-4种方法都没说出来最优解,最后小哥看不下去了让我开始写码。我觉得写码的过程比较适合调整自己的心态,写完之后就想到了最优解,讲了一下思路但是没时间写了。面完之后我一直以为自己凉凉了,感觉真的不能太紧张,一紧张脑子就转不动了orz

另外 交流 也很重要,我觉得我第二轮题做的那么gg还过了(hr居然还说feedback很strong???)可能是因为跟面试官交流比较好,主动讲了各种思路之间的trade off以及优化的思路。
我的套路一般是:拿到题以后先确认题目,对一些不是很常用的概念名词可以重复一遍定义跟面试官确认 > 然后确认一下input,比如负数/duplicate是不是valid > 接下来跟面试官说思路,不能太慢有太多尴尬的沉默,但是也得想好再说 > 我的面试官人都很好,在我说完思路以后如果觉得不是最优解就会跟我交流,这时候其实可以把这个过程当做和自己的mentor做project一样 > 确定一种想法之后开始coding,我之前一着急写码写巨快,后来发现这样其实不好,可以慢一点写,把思路讲清楚,这样其实也更容易bug free

当然题肯定是要刷的,我也见过很强的同学刷了50道就包揽了一堆top offer,但是对于我这种智商一般底子比较薄的人来说,刷题还是最快见效的方法。
我这次刷了130+题,easy : medium : hard 约等于1:2:1。刚开始刷题的时候每道题都坚持不看答案自己debug,感觉这样会对题目有更深的印象和理解,而且能多总结一些edge case。
刷了一阵之后,因为面试比较多时间很紧,我就开始每道题想思路,如果感觉跟其他题目思路相似的话(LC里真的好多backtrack, dfs题…)就直接看答案,跟自己思路对比一下。
另外我觉得刷题不能完全看数量,毕竟我们不能指望压中原题。我觉得有意思的题基本都用了 好几种方法来解 ,对一些经典题可以 自己想一些follow up (比如带duplicate和不带有什么区别之类的),然后自己试着回答/跟朋友讨论一下。