Facebook面试Q&A

续上篇文章,我把大家在得知此消息后普遍感兴趣的一些问题总结了一下,在此一并写出。

说实话,其实我的眼界从来很狭窄,以前想的是,如果能在天朝帝都扎下脚跟,过上老婆孩子热炕头的日子,对我来说已很满足。所以之前也从未对出国读书或工作有过准备,下文所述很多内容都是我在最近的一小段时间里才接触到的,而且现在离正式入职还早,对于fb内部的情况并没有什么了解,签证之类的麻烦事还在办理中,说不定去不成了也是有可能的(-_-)……扯远了,总之就是说,虽然我已经尽力做到客观准确,但恐怕难免会有错漏,请读者不吝赐教。本文仅供参考,引起什么不好的后果本人不负责任 =,=

Q: 你的学历、学校、专业、英语成绩、论文、竞赛获奖、工作经验、参与开源项目等背景情况?一定很牛吧?

A: 真的不牛,矮丑穷,纯RP爆发而已。本科天津大学软件学院,硕士天津大学计算机学院。高中无竞赛经历,本科阶段ACM-ICPC竞赛亚洲区域赛有几次金奖(其实只是一百个队里前十几名而已的意思),进过一次总决赛但无奖牌。Topcoder现在黄圈未满,最高时曾红了一点点。世界范围的算法比赛比如Topcoder Open, Google Code Jam之类只求混件衣服从没进过决赛,中国范围的如百度之星, GCJ中国站之类运气好的时候进过一两次,但最终没有很高的成绩。没考过托福GRE。没有Top期刊会议论文。没有参与过靠谱的开源项目。毕业前没有实习经验,毕业后在腾讯公司有一年工作经验,做搜索引擎的后台开发,小兵一枚。

Q: 你是怎么和Facebook联系上的?自己投的简历还是找人内推?

A: 一开始是一个国外的猎头公司给我发的邮件,说有Facebook的工作机会,如果有兴趣的话回复简历给他们,我就回了一个。我不清楚这个猎头公司是从什么途径找到了我的联系方式。

Q: 面试用英文还是中文?

A: 全程英文,不过对自己的英语没有信心的同学也不必太担心。书面英语大家应该不太发怵,担心的估计是听和说。

听的方面:因为面试的时候大多数时间都是在白板上(在线白板或者现场白板)写代码,而代码是地球人都看得懂的~ 面试问题中一些关键的信息,面试官为了清楚起见都会写在白板上(如果没有,你也可以要求他写一下),所以总的来说还好。值得注意的是有些面试官会有口音(最常见的就是印度口音了),如果之前完全没有听过的话会很不好懂,尤其是在电话面试时加上噪音的干扰,这个也没什么好办法,听不清就让对方重复几遍好了,关键信息可以让对方写在在线白板上。我在电话面试时遇见的就是印度面试官,答得磕磕绊绊,还好通过了。(扯远两句,不知道多听TBBT里Raj的说话有没有帮助,嘿嘿。据说对于成年人,练习听力的最好办法不是只听非常标准的英语,而是要尽可能多地接触各种口音,这样才能把耳朵的分辨能力练出来)

说的方面:人脑的纠错功能不是盖的,你作为non-native speaker,语法错误没人会care,哪怕你毫无语法的一个个单词往外蹦,老外也能基本听懂。切记这是技术面试不是口语考试,不要因为组织不好语言就不敢说话了。比如你的思路被卡住的时候,不要一直闷头苦想,要把你目前想到东西说出来,让面试官知道你不是毫无头绪的,他也可以根据你的想法给出些提示。再比如在白板上实现算法的时候,如果代码不是显而易见的,最好能一边写一边简单解释一下,让面试官跟上你的思路。(上面这段其实不只限于英文面试)

当然,虽说不用太担心,但基本的英文水平(包括一些专业术语)还是需要的,比如如果你连二叉树、排序都不知道对应的英文单词怎么说,那还是不行的。我觉得如果能在英文字幕的帮助下看得懂MIT算法导论的讲课视频的大部分内容,这种程度的话英文和算法应该就都没有问题了,哈哈。

Q: 面试的流程是怎样的?

好像每个人都略有不同,只说我自己的。发简历过去之后,先被要求在interviewstreet.com上限时做一道题(很水,就是看看你会不会写代码的程度。难度远低于那网站上的题目的平均水平,不要被那网站公开出来的题目吓到了)通过之后就是预约时间进行电话面试,电话面试的形式是面试官打电话过来,然后一边讲电话一边在一个在线白板网站(collabedit.com)上写代码,双方都可以实时看到,约45分钟到1小时。我只电面了一轮,据后来了解,也有人电面了两轮或三轮的。然后被叫到香港去现场面试(三轮,每轮45分钟左右),前两轮是纯技术面试,最后一轮一半技术,一半应是所谓behavioral question。然后就是等消息了。

关于面试地点,我们那批是在香港。之前有大神是直接去美国面的,之后据说又有一批是在北京面的。

Q: fb这次招了多少中国人?

我不知道。我们去香港的那批估计有二十人左右,有应届生,也有两三年工作经验的,我不知道多大比例拿到offer。我知道的ACMer里面大约有五六个。

Q: 面试时写代码的语言是?

A: 无限制。不过我觉得最好是用比较主流的语言,比如C++/Java/Python之类。我不确定用伪代码行不行。

Q: 面试题什么类型?难度如何?

A: 基本全是算法/数据结构题,但我不太确定这是普遍情况,还是因为我的简历上强调自己算法还行,从而导致他们有针对性地问。难度的话,不能算容易,但也不算太难,至少比Google中国的题简单。(ps. 貌似据说Google中国的题也比Google总部难-_-)代码量不会很大,不超过二三十行的样子。

另外需要说的一点是,这些面试官给的感觉是真的“懂”自己出的题的,和他们能够进行有效率的交流。举个例子,有一道面试题我有个地方用了带点trick的写法,面试官指着代码刚要问,我也刚要进一步解释,他忽然自己看明白了”Oh I see. Good.”,于是就继续后面了。另外一场面试时,我有个不太重要的地方粗心写漏了些东西,面试官说“There is a little mistake…”又马上说“but never mind.” 我不顾他说了好几次”never mind”,又仔细盯了半天才终于发现了错误,确实是并不影响大局的,他可以看出我是找到了正确的解法的,并不在意这种明显是手误的bug。反观国内有些公司,有的面试官给人的感觉是临时从网上找了几道题目,自己也对某些细节不明所以,于是双方都稀里糊涂,互相跟不上对方的思路。

我感觉如果fb继续在海外招人,他们应该很快会发现“啊……原来中国有这么多神牛啊……之前招的那个叫roba的真是弱的像渣一样啊……裁掉算了吧……” 所以还请各位神牛轻虐……orz……

Q: 去了之后主要做什么方向?

A: 只知道是Software Engineer,具体未知。他们的说法是在刚去的几周内有机会在各个方向都体验一下,然后自己选择。我觉得这应该只是理想情况,估计应该是个双向选择吧。

Q: 工资?

A: 具体数字不能说,呵呵。可以参考glassdoor.com上给出的统计,还是比较接近实际情况的。

Q: 什么时候过去?听说有绿卡?

A: 只是工作签证(H1B)而已,绿卡什么的是很久远以后的事了,fb哪有那么大能量直接发绿卡的。如果这期间我被公司裁掉了又没找到下家,就得直接回来了。

关于H1B签证的申请和发放时间是值得一说的,每年H1B的开始申请时间是4月1日,签证发放时间是10月1日,所以即使拿到了名额,从中国过去工作的话也只能在10月份以后。近年的名额数目是每年65000个普通名额+20000个高学历名额 (仅给在美国大学取得硕士以上学位的留学生),用完为止。以我自己为例,收到和接受offer是在今年5月初,公司请的律师把申请递交到美国移民局是在5月中旬,递交上去就算占住坑了,当时65000个名额里我记得是已经用了一半多一些。这次的名额全部被用完是在6月中旬。我知道的几个应届生大神,因为学校的毕业证差不多也是那时候才刚发下来,所以就搞得相当危险。H1B名额的申请速度每年波动很大,以前甚至出现过在4月一开始就被占满的情况,这次的消耗速度就比去年快得多,有牛人预测明年的速度可能会更快,所以如果想从国内直接找美国工作的话,要早做准备。比如现在因为今年h1b已用完,听说facebook已经暂停了从海外招人[Edit: 我不确定,可能不实](呃……我不清楚美国的公司如果有意向从海外招人,一般每年是从什么时候开始……我一开始收到猎头的信好像是在3月份……总之要记住4月和10月这两个时间点来安排计划,呵呵)

上面这一段是我现炒现卖,详请大家可以去自行搜索。如有错误请高人指正。

Q: 妹纸怎么办?

A: H1B签证是可以带家属的(当然得先领了结婚证),不过家属过去的话是H4身份,法律上规定不能找有收入的工作。要想工作的话,一种是也直接找到一个可以帮她申请H1B的公司,另一种办法是先读个书,这样再找工作会容易些。

ps. 具体到我自己的妹纸,她的事业心还是比较强的,决不甘心在那边当主妇。目前正在准备英语考试中,打算看看能不能申请到一个附近学校的master读。这次facebook的面试,从投简历,准备面试,到后来去往香港过程中的诸多波折(没有且来不及办港澳通行证,买了到泰国的机票想装作过境香港,出发前一天发现泰国虽然落地签但是中国边检不放,又退了换成到印尼的,在机场被工作人员拦下说必须有往返票,又临时改签+买回程票),每次我觉得太折腾想放弃的时候,都是她一边忙前忙后地查票打电话上网搜索,一边鼓励我,才终于有了现在的结果,我对此非常的欣赏与感激。

Q: 需要托福GRE成绩么?

H1B和H4都不需要

Q: 能否推荐一些对面试有用的资源?

A: 如果时间充裕的话,看书我还是推荐算法导论……只为准备面试的话,有一本叫Career cup Top 150题之类名字的书可以看一下(可以搜到电子版,这里就不提供链接了),类似的针对程序员面试的英文书还有另外几本,比那个《程序员面试宝典》靠谱些。

网站资源的话,上面提到的interviewstreet.com, glassdoor.com都不错,另外careercup.com,leetcode.com都是听别人提起比较多的,上面有各种各样的算法题目(我自己都没怎么上过,不知道哪个更好些)。当然对于ACMer来说,各个OJ都是很好的资源,对于非ACMer来说,如果想接触一下竞赛题的话,我推荐topcoder.com里面的Algorithm竞赛里Div2难度的题目。Topcoder的题目代码量通常不会太大,更接近面试时的情况,而且多数题目都会在赛后有解答,而且可以看到别人的提交,所以也是学习的好机会。

论坛的话,我上的最多的是水木社区的算法版(newsmth.net),另外mitbbs.com上关于在美国签证、找工作、移民等等的讨论都很多。前不久发现一个叫”一亩三分地(www.1point3acres.com/bbs)的论坛看上去也很赞。

突然发现写了这么多了,先到此为止。最后,最近RP消耗太多了,求RP……

24 Comments.

  1. 感谢分享,很详细~就共享给其他同学看了哈~

  2. 我是专门过来赞的

  3. 路过赞大神。

  4. 狂拜roba神牛

  5. 赞美&祝福roba大牛~

  6. 感谢分享~~RP分送上!!

  7. 好文章,转载到互联网的一些事(yixieshi.com)

  8. 赞大神啊,文笔很好,呵呵!
    了解了不少之前不知道的细节 :razz:

  9. 表示很仰慕哦。。。。

    rp++送上,神牛应该多些点东西,我等小菜能学到不少东西的说。。。。特别是在思路上 。嗯

  10. 天大软件的学长,很谦虚,呵呵,祝福!

  11. [转载]Roba:Facebook面试Q&A - pingback on July 26, 2012 at 6:15 pm
  12. Facebook面试Q&A | 华基 - pingback on August 21, 2012 at 4:24 pm
  13. 你的 H1B 出来了吗?我是 5 月底飞到美国面的,6 月头交申请,现在还在等。(你在 Facebook 上那个华人 new-hire 的 group 里面吗?)

  14. 大牛,恭喜进fb.RP送一些给你了。 :razz:

  15. 刚听说这个消息,恭喜!

  16. RoBa:Facebook 面试 Q&A - 博客 - 伯乐在线 - pingback on September 15, 2012 at 4:22 am
  17. As they say, “haters gonna hate”. Thanks for the post.

  18. 恭喜,我等的梦想啊!

  19. 恭喜啊,我的RP送给你,请收。

  20. 请问楼主今年facebook还有可能到中国招聘么?我一所985末流的学校本科毕业两三年,大学没拿过什么奖项,假如还来招聘的话,请问这种情况是不是没有内推的话基本上就没有面试的机会?

  21. 其实对于我们来说,已经是很强的存在了

  22. 把Q那些行都加黑,可读性会大大增强。原谅我的职业病……

Trackbacks and Pingbacks: