<
查看: 4960|回复: 15
收起左侧

[找工就业] Faang系统设计面试官告诉你, 你为什么总是挂系统面试, 为什么总是被降级

   关闭 |只看干货
本楼: 👍   60% (12)
 
 
40% (8)   👎
全局: 👍   93% (906)
 
 
6% (61)    👎

2021(4-6月)-CS硕士+5-10年 | 内推| 码农类General全职@Facebook

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

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

x
大家好, 我是来自Faang的面试官, 到目前为止已经面过200+人。 今天来这里跟大家探讨一下为什么系统设计为什么这么容易挂。 把平时看到的面试里面的错误都总结给大家, 避免大家踩坑。 大家如果觉得此帖有用, 也请赏点儿米, 谢谢!
此贴主要的重心在系统设计面试上, 如果你总是挂Coding面试, 请看我的上一个帖子。

好了, 那么我就从头开始讲。

1. 首先, 自我介绍环节, 一般不算分。 这个环节一般作用有2个, 一个是舒缓一下紧张的气氛, 另一个是面试官手头上有些窗口还没来得及打开, 需要得到一定的缓冲时间。 所以说, 不怎么算分, 建议大家以越少的时间结束这个环节越好, 这样可以为你接下来的设计, 留出更多的时间。

2. 当拿到题目以后, 切记不要直接开始设计。 问问题环节是算分的, 算分的, 算分的。 最好是很仔细的把题目读清楚, 很多人设计(背诵)了很长一段以后发现, 原来题目里面有个细微的小差别, 就让整个面试的关注点完全不一样了。 所以拿到题目以后, 要通过跟面试官的交流, 分析出题目的侧重点, 才是成功的一半。
3. 问面试官问题的时候, 推荐大家有层次的问, 首先从产品的方向入手, 为什么要做这个系统, 跟公司其他业务怎么结合的?一些稍微具体的spec, 然后才是技术方面, 到底这个系统要设计的多牛逼

4. 接下来我推荐大家在开始之前, 先把数字算清楚, 再去做设计, 不然你要算出来这个系统用一台笔记本就能解决, 你设计了一整套服务器集群, 岂不是很尴尬?
5. 算数字的过程中, 2个方向都很重要, 一个是你的各种估算是否合理?以及细致?比如说, 某个系统, 你直接说QPS应该多少多少, 可能就挂了, 专业一点肯定稍微分析一下哪些是读, 哪些是写, 分别多少, 平时多少, peak多少?系统设计是一个和面试官比心法高低的过程, 在这里露出你没怎么做过系统设计的馅, 后面还怎么升级拿offer?另一方面, 就是你算出了一些基本数据的时候, 你对于这个系统做出的判断要合理。 比如说你算出来QPS是1M, 然后你说用一台机器, 就能搞定, 还不解释为什么, 比如bottleneck很小之类的时候, 面试官又会觉得你low了

6. 然后就是具体的设计了。 这里我想告诉大家最重要一点, 就是, 真心的结合当前情景去设计, 而不是背诵你之前学到的。 我知道, 大部分人准备系统设计的面试, 都是看那3份材料:X章算法, Grokking System, 稍微肯话时间的会去读DDIA那本书。 读了DDIA那本书的还好, 但是用前两者准备的人, 特别容易做出一个没有灵魂的设计。 切记, 哪怕你课件背的再熟练, 真的去面试的时候, 你也假装你没见过这个题目, 而去设计一遍。 这样你的设计才是有灵魂的。 当你重新设计一遍的时候, 你平时学到的东西, 会冥冥之中帮到你的。 而如果你是背诵的, 稍微有一点儿经验的面试官, 分分钟能看出来。 因为哪个面试官不也是当年看着这两套材料摸爬滚打进的FAANG呢?

7. 主动去做trade off。 是否主动去做trade off这一部分, 是要打分的哦!而且占比很高的哦。 有很多人, 就给面试官说我要怎么怎么做, 从来不去做任何的比较, 那么哪怕你说的是对的, 都好像在背课文, 都好像你只会那么一种, 都好像你的理解并不深刻。 切记!故意拿一些不够靠谱的设计出来, 和你的最终设计去做比较, 告诉面试官, 是因为前者不靠谱你才用的后者的

8. 当你要用某个特殊的东西的时候, 比如说什么卡夫卡, 你的重点, 不是在你用的这个东西本身是干什么的, 有多牛逼, 而是在于你的系统需要一个这样的东西, 并且很合适。 合适比牛逼更重要!

9. 存储, 接口设计, 这两大块必考, 必算分, 一定要在控制好的时间里面完成。

10. 写在最后, 系统设计面试, 表面上打分有各种条条框框, 实际上就是你跟你面试官心法的比拼, 比赢了, 你会拿到一个比面试官认知范围内还高的Level, 比如面试官是5, 他就会觉得你是6+, 比输了, 就只能被那一条一条的拿去做比较,挂一条, 可能就no hire了。 所以大家设计的时候, 一定要给面试官一种深不可测的感觉。 真正提高自己的心法是关键, 所以建议有时间的各位, 还是好好读一下DDIA那本书, 并且平时多研究自己公司的系统吧。

最后, 以上所有经验都是我一个字一个字总结, 敲出来的, 求赏脸加个米, 谢谢!

评分

参与人数 27大米 +38 收起 理由
guanchendi + 1 赞一个
Torres123 + 1 赞一个
masdc98 + 1 赞一个
andy968 + 2 赞一个!
yabs358 + 2 给你点个赞!
liusong123 + 1 很有用的信息!
byt2015 + 1 给你点个赞!
ND0406 + 1 赞一个

查看全部评分


上一篇:寻一个system design mock的朋友 2周后开始onsite
下一篇:Hirect 遇到 Job Scam

本帖被以下淘专辑推荐:

vvqqdd 2021-5-23 05:34:12 | 显示全部楼层
本楼: 👍   100% (10)
 
 
0% (0)   👎
全局: 👍   87% (495)
 
 
12% (71)    👎
本帖最后由 vvqqdd 于 2021-5-23 05:37 编辑

https://www.1point3acres.com/bbs/thread-763167-1-1.html 配合这个看 像软广半年前小白ez题不会刷,现在就是大厂面试官, 必读材料第一个就是xxx 哈哈,你这不走心啊
回复

使用道具 举报

LittleFishBall 2021-5-23 03:54:01 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (2628)
 
 
3% (85)    👎
问一下楼主比如某系系统设计比如有设计 API, 或者 data processing, 那么具体的business logic 怎么做需要讲多细?
回复

使用道具 举报

mchzh 2021-5-23 03:56:45 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (559)
 
 
2% (14)    👎
接口设计师需要写出相应的api吗?楼主对于distributed api设计有啥好建议或材料吗?多谢
回复

使用道具 举报

litJordan 2021-5-23 03:58:47 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (72)
 
 
0% (0)    👎
能不能大概说下普遍面试官对5(senior)的expectation是什么?是数据库,借口,或者scability(比如sharding)都能说出多个解法然后比较tradeoff吗?设计图要基本画的完整?然后不要少data flow?
听说面试官一般都有一系列问题,如果这些问题没有回答完会影响rating吗?
回复

使用道具 举报

syscl 2021-5-23 04:06:18 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (38)
 
 
0% (0)    👎
十分感谢,最终还是要DDIA这类修炼内功的书籍!
回复

使用道具 举报

 楼主| o彩蝶寻梦o 2021-5-23 04:12:33 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   93% (906)
 
 
6% (61)    👎
syscl 发表于 2021-5-23 04:06
十分感谢,最终还是要DDIA这类修炼内功的书籍!

是的, 最终还是要内外兼修。
回复

使用道具 举报

 楼主| o彩蝶寻梦o 2021-5-23 04:15:02 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   93% (906)
 
 
6% (61)    👎
litJordan 发表于 2021-5-23 03:58
能不能大概说下普遍面试官对5(senior)的expectation是什么?是数据库,借口,或者scability(比如sharding ...

最稳的情况下, 是面试官全程不说一句话, 就看你在那边设计, 然后默默的膜拜你, 那就肯定是strong hire了。 面试官如果有问题, 说明他在质疑你, 觉得你哪里没说清楚, 或者在给你hint, 如果这个时候不抓住这根稻草, 可能扣的分会很多
回复

使用道具 举报

 楼主| o彩蝶寻梦o 2021-5-23 04:16:36 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   93% (906)
 
 
6% (61)    👎
mchzh 发表于 2021-5-23 03:56
接口设计师需要写出相应的api吗?楼主对于distributed api设计有啥好建议或材料吗?多谢

api一般和流程图一起考, 你要做到每个部件职责都很清晰, 谁管什么, input和output都很明显, 并且完美的解决了你需要解决的usecase。 就可以了
回复

使用道具 举报

 楼主| o彩蝶寻梦o 2021-5-23 04:18:16 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   93% (906)
 
 
6% (61)    👎
LittleFishBall 发表于 2021-5-23 03:54
问一下楼主比如某系系统设计比如有设计 API, 或者 data processing, 那么具体的business logic 怎么做需要 ...

讲多细取决于你的表达能力, 你和面试官的默契程度。 有些东西显而易见的就不需要讲太细, 有些很fancy的东西, 可能就要讲细致一点, 如果某个东西, 面试官刨根问底, 可能就是你踩了雷了, 如果圆不回来, 可能是要挂的信号
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   84% (22)
 
 
15% (4)    👎
小白请问ddia那本书全称是什么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■拉群请前往同学同事飞友|拉群结伴版块,其他版块拉群,帖子会被自动删除
■论坛不能删帖,为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://tools.1point3acres.com/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

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