互联网企业Facebook面试题问答精选

发表于:2012-12-10来源:不祥作者:RoBa点击数: 标签:Facebook
互联网企业Facebook面试题问答精选。说实话,其实我的眼界从来很狭窄,以前想的是,如果能在天朝帝都扎下脚跟,过上老婆孩子热炕头的日子,对我来说已很满足。所以之前也从未对出国读书或工作有过准备,

  说实话,其实我的眼界从来很狭窄,以前想的是,如果能在天朝帝都扎下脚跟,过上老婆孩子热炕头的日子,对我来说已很满足。所以之前也从未对出国读书或工作有过准备,下文所述很多内容都是我在最近的一小段时间里才接触到的,而且现在离正式入职还早,对于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。反观国内有些公司,有的面试官给人的感觉是临时从网上找了几道题目,自己也对某些细节不明所以,于是双方都稀里糊涂,互相跟不上对方的思路。

原文转自:http://www.ltesting.net