注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
其他家面试的总结在另外一贴。 这里专门开一贴讲讲fb家的面试。
http://www.1point3acres.com/bbs/ ... D311%26sortid%3D311
lz对fb的面试研究的最多,分享下经验。
FB家对new grad 或者毕业后工作短于一年的同学是可以不考design的。
对phd 毕业或者毕业超过一年的童鞋是要考desig
phone interview 只考coding。
onsite 经典4轮 Coding/"Ninja" (2) Design/"Pirate" (1) Conversation/Career Background & Trajectory/"Jedi" (1)
根据面试情况可能会加试一轮。
算法 & coding : 个人感觉 leetcode 刷透做熟悉就够了。 fb 家不是以难度取胜。他家一般都是leetcode medium level的题目,一般是原题或者小变种。
他家coding的难点是bug free, 细节和追问。
比如说给你一个 binary tree, 每个节点存一个整数值,让你求每个layer的平均数。
这个题目看上去很简单, 但是要注意输出, 3和4 平均是3.5, 如何你用java 解,输出是整数,那么你的结果就不准确。
这些细节点一点要问清楚,如果考官让你自己定,那就选保险一些的。
另外就是bug free, 这里bug free指的是没有逻辑和算法错误,变量名啥的写错了也没啥。
另外coding 轮最重要的一点还是communication, 考官问完问题以后,一定要clearfy 一下题目的意思和输入输出。
然后把你的思路和考官说一下,之后考官同意,再写code。 他家很注重交流,如何你听完题目,就直接写code。
就算是最优解,你也会fail,因为没有交流的过程。 coding 轮不光考算法,也会看你的交流能力如何。
design: 他家的design 有难有易。 基本部分另外一帖子说过了直接贴过来。
能准备的准备好了,剩下的就是放宽心态,好好发挥了。实力到了,那么胜率自然高。
fb家大牛很多,design比较看运气。
design 轮是有技巧性的。
一般过程是
1 问清 requirement 5~10 分钟
2 high level design(设计flow 相关api 和数据存储)
3 细节设计,详谈flow, api
一定要按顺序来。不要直接跳到第三步。
下面几段话感觉很有用。lz是实战后得出的这些总结。
ab和fb都跪在design,之后调整策略,胜率就上升了。
准备design主要是参考了这个网站:
http://www.hiredintech.com/system-design/
感觉还是挺有用的。其他就是mitbbs上那位大牛给的一些资源
http://www.mitbbs.com/article_t/JobHunting/32777529.html
Conversation/Career Background :
自己的工作经验和project要准备好,这个没啥好说的。
下面几个是常见的 behavious question:
1 First, ask some questions about Facebook, do you use Facebook?
2 Why you like it?
3 Which part of it should be improved?
4 What challenge you face in your pre project and how you result it?
5 Why facebook
6 My current project and how I scale our applications.
7 包括以前的成就,怎么说服别人做design的修改,说服不通怎么办。
8 FB specifically (vs. other companies)
附录FB 常见design 问题=============================
1 Design a web crawler with fixed set of resources.
30 然后面试中有个印度人问了个问题,就是如果系统出问题了,有个size很大的log如何
从里面找出相关的信息,同学说直接search关键字,但是面试官不满意也没给提示,所
以不知道怎么回答。
31 国人面试官面出的 design:Shorten Url。面试官人非常nice,可是自己答的一般
,在此谢谢他。
32 google的mapreduce, file system, big table,
fb的memcache, unicorn。其他看到过的觉得还不错的design资料,最后一个常见题目
汇总可以过过看,很有帮助:
http://blog.csdn.net/v_july_v/article/details/7382693
https://www.youtube.com/watch?v=-W9F__D3oY4
http://www.mitbbs.com/article_t/JobHunting/32741713.html
另外建议稍微准备下常见数据类的写法(包括generic programming), 我倒是没碰到其
他一些concurrency, database, NP-hard之类的题目.
33 设计一个SparseVector (就是一个超长的vector,大部分elements都是0)的
class,实现dot product的操作。follow-up1:如果一个vector很长(millionsof non-
zeros), 另一个vector很短(hundredsof non-zeros),如何优化。follow-up2:如
何利用index之间的关系(比如设计class的时候规定按照递增的原则存non-
zeroelements的index)进一步优化。
34 ystem Design:设计一个K recent contact 的service,就是当用户把鼠标点到
chat对话框的时候,自动弹出K个最近的联系人。follow-up是如果要弹出K个最熟悉的
人怎么设计,以及资源估计(需要多少台机器来做数据存储,多少个处理request等等
)。
35 design准备:板上有几个design总结贴,非常管用。我就是照着 flamingos和beidapig
的两个总结贴,大概看了看,学习了不少知识。
http://www.mitbbs.com/article_t/JobHunting/32777529.html
http://www.mitbbs.com/article_t/JobHunting/32984309.html
补充内容 (2016-5-20 02:51):
面试经验谈(facebook,airbnb,google,linkedin,amazon
http://www.1point3acres.com/bbs/ ... D311%26sortid%3D311
FB 面经 phone & onsite 攻略 附录题库呦
http://www.1point3acres.com/bbs/thread-1910...
补充内容 (2016-5-20 02:52):
airbnb 面经 phone interview & onsite 附录题库呦 http://www.1point3acres.com/bbs/ ... D311%26sortid%3D311
补充内容 (2016-5-20 02:52):
lz的刷题攻略。。 http://www.1point3acres.com/bbs/ ... D311%26sortid%3D311
补充内容 (2016-5-20 02:53):
补充的几个帖子里 有高频的机经(design & 算法) |