同主题阅读:FB面经~

原文的url: http://www.mitbbs.com/article_t/JobHunting/32116371.html

========= 我是分割线, 以下是原文========================


飞机晚点了,正好趁这个时间写下约好的FB的面经。

先说下我的情况,国内211重点大学计算机小硕,本科也是一所211重点大学的计算机系
毕业的,可能这个是拿到面试的原因,所以稍微提一下。
我大概是2月份发简历给FB的,发了简历后过了一段时间突然收到面试的通知。但和其
他同学有点不同的事,HR没让我做Puzzle,直接就开始电面了,不知道为什么。
第一次电面是HR的情况确认,大概20来分钟,一是看看英语够不够用,二是传说中的
Behavior Questions,基本上就是为什么要来FB啊,想在FB做什么啊,这些问题。这轮
应该不算面试,只是个基本情况确认的感觉。
第二轮电面是技术面,45分钟,5分钟聊下项目,然后就是做题。题目两道,一个是分
层打印二叉树,一个是老式手机键盘数字对应字母,给几个数字,求全部可能的组合。
都很简单,没有准备过也能做出来。不过FB题都这样,不难,但代码要写的漂亮,最好
是Bug Free的。据说FB基本不做测试,早上想到一个Idea,下午实现,晚上就内部上线
了。也许这也是原因之一。如果做完后时间很多的话可以聊很多问题,尽量问问面试官
的team做什么,然后有针对性地问一些技术问题,让面试官可以说得很high,你就赢了。
第三轮电面还是技术面,一样的流程,题目应该很简单,以至于一点印象都没留下来,
好像和字符串有点关系。
第四轮电面一样,不过这次是位印度的面试官,口音很重,我花了2,3分钟才意识到面
试官说的是英语。题目两道,一个是大数加法,另外一个有点意思,就是输入一个n,
代表二进制数有几位,然后要求打印所有n位的二进制数,但打印有个规则,就是相邻
两个数之间只能有一位不一样。比如n为2时,一个打印方法可以是:00 01 11 10。而
00 01 10 11就不可以一位01和10有两位不一样。

有些朋友似乎只有两轮电面,所以我不知道我是不是bottom line起死回生的,不过如
果是这样,则可以证明最后的offer应该不怎么看电面的反馈的,所以过比完美重要。

3月底收到on-site通知,刚好学校有事抽不开身,于是安排到了4月23号,当然也有故
意delay,争取复习时间的考虑在其中。事实证明,突击复习效果卓群,可以说最后的
offer完全靠这段时间突击搞到手的。

这里说的突击其实就是做题,把所有见过的题都做一遍,做一遍不是说看完题想想算法
对对答案,然后就过了。而是代码写出来跑过->代码不用IDE写出来跑过->代码纸上写
出来不用修改丢IDE里能过这样的过程。这对应付FB面试效果卓群。题目大概做了100道
以上,主要是国内何海涛100道,careercup若干,leecode全部。这里一定要感谢
leecode大侠啊,太有用了,那个online系统,以后有机会一定要BG你。

于是正式on-site了,on-site master是3轮,phd是4轮,master没有设计的那一轮。题
目由于签了NDA没法说,但还是有很多经验可以说下的。
第一轮,behavior带项目介绍加一个编程题,面试官是同胞,老乡见老乡,两眼泪汪汪
啊。编程题不难,但很快就可以发现代码量不小,而且有多种解法各有利弊。想到任何
一个解法都要说出来,并和面试官讨论利弊。最后面试官会让你随便写一个出来,这时
千万别装逼写最牛逼最难写的那个,可以写一个思路比较明晰,比较好模块化实现的那
个,事实证明对于FB来说确实是“Done is better than perfect”。需要主要的是,
写的时候一定要注意别有bug,写完后检查一遍,修改完所有bug后再告诉面试官好了。
我感觉下来,你的代码易于理解并且没有bug可以给FB的面试官留下很好的印象。

中间没有休息,第二轮面试官就在外面等着。第二轮是两个印度的面试官,没有口音,
big relieve啊。两个面试官,一个笑脸,一个冷酷脸,不知道是不是学中国拷问犯人
时用的手法。第二轮全是coding,题目短小不难,代码量一般,但面试官会一直问
follow up要求你修改算法,因此把代码写的模块化强点,易于修改会比较好。另外就
是会问到递归算法时,系统内部做的事情啊,多少层会stackoverflow啊这些问题,以
验证简历上说的用了好几年Java的说法。一般这轮面试会有两个题,但如果做得快的话
,三道题也很有可能,我就做了三道。还是一样的,bug free非常重要。最后还有时间
的话,可以聊聊两个面试官所在的team的工作,问一些有点点深度,但面试官很可能早
就解决了的问题,让面试官可以说的比较开心会比较好。

还是没休息,第三轮马上就会开始。中国面试官,这轮题目会比较有意思,比较开放,
一开始的问题很general,需要根据自己的算法讨论输入可能的格式。这一轮面试官心
中会有个标准解法,他会引导你往他那个算法上想,但你如果有自己的想法的话也可以
说出来,通过分析证明和标准解复杂度差不多后,面试官会让你写自己的算法。还是需
要bug free。搞定后有点时间就聊聊理想谈谈人生。

另外有一些礼节需要注意,一个是记住你的面试官的名字,别开始时介绍了,结束时忘
了,这样很没礼貌;另外一个是关心下你面试官的工作,问有针对性的问题,让你的面
试官可以比较轻松地回答你的问题;第三,感谢信还是要发的,而且最好有针对性地发
,别群发;第四是,一定要喝红牛,这东西和兴奋剂差不多,非常有效果,写代码时可
以让你high起来,显得比较有自信,FB免费提供这东西。

面完后,可以和Recruiter保持联络,大概两天后有全部feedback,第二周开meeting汇
总信息,然后reference letter和director review,出offer。
总体下来,FB题目不难,但要求代码写的快准狠,这些可以通过突击达到,所以确保你
在on-site前20天,每天都写代码了。

你可能感兴趣的:(同主题阅读:FB面经~)