回复: 12
跳转到指定楼层
上一主题 下一主题
收起左侧

facebook 面经 + 关于coding和system design的一点心得

 
全局:

2018(10-12月) 码农类General 博士 全职@meta - 内推 - 技术电面 Onsite  | | Pass | 应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
大概说一下自己准备facebook的coding和system design的心得吧,希望对大家有一点帮助。面经在最后。

整体来说,facebook真的是考原题比较多,所以刷题很有必要。大家记得多和面试官交流,能够快速秒题目固然好,但是就算不能秒,他们也会认真评价你的thinking process。看到很多人论坛上说facebook每一轮必须做两题才行,但是我有一轮只做了一道题目,有一轮没写完第二道题目,但是feedback好像没有怎么影响。所以秒两个题目应该不是拿offer的必要条件。不管写什么代码,一定得跟着面试官的思路走,就算真想argue也要有道理,不然他们会觉得你不好相处。面试真的不是只看coding的,交流真的很重要,一定让他们觉得你很自信也很好相处。代码写的要简洁,刷题的时候多注意一下,不确定怎么写简洁的话可以多看看discussion学习别人的代码。

大家也请参考楼主的另外一个帖子哦,里面总结了三个月的所有面经,同时大家记得刷LeetCode的facebook tag下的高频题。
帖子传送门   https://www.1point3acres.com/bbs ... ewthread&tid=455624

再啰嗦一下system design。我感觉我遇到的面试官很专业,他就是想看你的思路、对常用系统和技术以及对各个tradeoff的理解。首先比如我说我想用HBase, 他就会装作不知道什么是HBase,然后问为什么用它?(small read/write requests + sstable for buffering + column family)?具体column family是什么意思,怎么设计具体的column family的scheme?再后来我说用consistent hashing做sharding,他就会让我解释什么是consistent hashing, 就当做他是个freshman。
其次楼主本身做system方向的研究,愚以为system的一大核心就是怎么样做tradeoff,所以很多时候都要考虑你要牺牲什么,来优化什么。比如牺牲点storage来减少latency,牺牲consistency来提高Availability。让面试官理解你的tradeoff很重要,不然他完全不知道你为什么这么做,或者他虽然知道但是你没有提出来,他就会觉得你logical thinking很差。如果他提问你为什么这么做,你一定得给出很充分的理由,不然他可能会觉得你根本没有真正理解其中的design principle,或者觉得和你交流有问题。怎么回答别人的问题是一个经验活,每个人提问之前其实都是有一个前提和假设的(assumption)。有些人会说这个假设,但是有些人不会说这个假设。最好的情况就是你得明白他做了什么假设,为什么他会做这个假设,然后你才能给出一两句就解决他的问题的答案。最坏的情况是你之前的解释让他做了错误的假设。所以多多理解他的问题吧,或者直接问问你是不是做了XXX假设所以才这么问的?
Grokking the system design里面的题目讲解其实很详细,大家可以买一下那个课,虽然详细到有点啰嗦。。。不过它帮我回忆起来了很多细节,不然这么多年了,我哪记得很久之前读的Big table/HBase/Cassendra的paper里面的设计细节是啥。面试时候我也不会一下想到用这三个系统的里面的一个做messenger的存储系统。

以下是面经
您好!
本帖隐藏的内容需要积分高于 150 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 150 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

这周一告诉我周二hiring committee开会,然后周二下午发邮件暗示了一下讨论结果。最后今天(周三)下午打电话告诉正式结果。

大家觉得有用的话就加点米哈~最近在整理公司的薪资的表格,需要大量大米看帖子,整理好回头也分享给大家。谢谢。


补充内容 (2018-11-8 11:11):
大家看grokking的时候记得准备一个模板。想好白板上哪一块写Feature/use case,哪一块写API和data schema, 哪一块架构图之类的,包括架构图里面的各个部分的示意图(比如storage/LB/caching)。这些都是套路

评分

参与人数 18大米 +66 收起 理由
xiaobeixin + 2 给你点个赞!
pipipi212 + 1 很有用的信息!
8wy172250 + 3 给你点个赞!
minggo + 1 很有用的信息!
wfei26 + 5 很有用的信息!

查看全部评分


上一篇:Twitter OA,没什么期待,当做题了
下一篇:非死不可店面, 挂

本帖被以下淘专辑推荐:

  • · 脸书|主题: 17, 订阅: 1
推荐
 楼主| dozenow 2018-11-9 00:06:57 | 只看该作者
全局:
comaniac0621 发表于 2018-11-8 13:25
想請問 lz 對於約兩週後要去 onsite 的非 system 專業 PhD 有沒有什麼準備方向的建議?
HR 今天告知當天會 ...

请问是ML方向的么,我看之前帖子里面ML方向会问相关的系统和算法设计,比如推荐系统啥的。准备的话可以先看看grokking the system interview吧,里面的基础知识总结的挺好的,然后具体设计点都给了不错的理由。
回复

使用道具 举报

推荐
 楼主| dozenow 2018-11-8 12:53:39 | 只看该作者
全局:
plich 发表于 2018-11-8 12:34
他有可能真不知道hbase,毕竟fb infra都是自己写的……

应该不会吧,感觉他当时就是一脸“我要考考你”的表情。。。而且messenger确实一直在用HBase做存储,一开始好像用过Cassandra,现在好像又换了一个新的,他作为一个manger应该知道吧。所以我才感觉他根本没那么在乎我最后的设计,就是想听我的logical thinking
回复

使用道具 举报

全局:
想請問 lz 對於約兩週後要去 onsite 的非 system 專業 PhD 有沒有什麼準備方向的建議?
HR 今天告知當天會有一輪 system design 但本身不是 system 專業所以大概也就知道 Hadoop, Spark, Zookeeper, NoSQL 這些東西...
回复

使用道具 举报

全局:
楼主厉害!
回复

使用道具 举报

🔗
plich 2018-11-8 12:34:55 | 只看该作者
全局:
他有可能真不知道hbase,毕竟fb infra都是自己写的……
回复

使用道具 举报

🔗
comaniac0621 2018-11-9 05:46:44 | 只看该作者
全局:
不是特別 ML 方向耶就是一般 software engineer of new grad PhD
會去看看 grokking the system interview,感謝回答!
回复

使用道具 举报

🔗
xijie 2018-11-9 07:56:18 | 只看该作者
本楼:
全局:
系统设计
回复

使用道具 举报

🔗
justinyz 2019-1-13 02:37:34 | 只看该作者
全局:
谢谢老哥,很有帮助!
回复

使用道具 举报

🔗
chunkun 2019-5-2 06:46:49 | 只看该作者
全局:
非常感谢楼主分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表