脸书新题型?System Design你变了

avatar 304145
黓龙君
10421
17
本人工作两年,最近投了脸书的full time,是小伙伴内推,在menlo park onsite,coding部分基本都是LC原题或者变种就不提了。这个帖子主要目的是探讨System Design,如何准备,以及脸书的新题型。
HR整个过程都非常给力,包括告诉我会面的题型,每一轮都面什么方向。我是两轮Coding加一轮设计和一轮Behavior。
关键来了,HR在电话中一直强调要关注API Layer,就是如何设计API。现在市面上大部分能参考的系统设计题在面试前我都浏览了一遍,大致就是设计一个小型(Tiny URL, TypeHead)或者中型(Twitter, Facebook Posts)的系统。
所以我也没多想,把这些都准备了就过去面试。但实际面试的时候就呆了,面试官只需要设计API,我本来想扯一堆QPS,Memcache, Replication,但面试官很明确只需要实现API的功能,如何实现。
因为NDA的限制,我就举个例子(不是原题),设计一个微信的post API,把post的数据从服务器传到手机端(iOS, Android)。包括post的每个feature(点赞,评论)以何种形式呈现,还有推送的设计。整个过程就像实际上手一个微信的前端细节实现。因为实际工作中没有接触过类似的系统,所以妥妥答不出来,只能瞎扯。(安卓webview好像不能算)
答的就很迷茫。如果只有一轮其实可以归结于面试官偏好或者个例,但巧的是加面了一轮还是类似的API设计,妥妥又跪了(光顾着看FB的paper了...)
我叫这种题型Detailed API implementation,就好比设计个微信的@功能,设计个分组可见功能,这些细节的功能都有可能会被面到。如果不是实际接触过,或者看过文章,30min内想答出来会有难度(上来寒暄10min,留5min提问)。至于这是否是合适的面试方法还有待继续思考和观察。如果能答上来或者现场就能立刻设计出,当然说明candidate很厉害。
发个帖子和大家探讨一下这类题型该怎么准备,因为这些东西就像一个一个点,要逐一针对好比大海捞针(如果只是fb-oriented应该是能做到)。平时我们准备面试都是扫射,这样效率最优,真要做到点射的话对于个人积累和准备时间方面要求会更高,工作中大家主要还是做自己负责那一块,其他的只能凭兴趣了。
  • 26
17条回复