中级农民
- 积分
- 104
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2013-11-19
- 最后登录
- 1970-1-1
|
2022(10-12月)-CE硕士+5-10年 | 内推| 码农类General全职@
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
之前写了个coding总结,得到了不少人支持。这个帖子是想分享下怎么准备系统设计:
第一步,开始刷题的时候,刷累了,没事就逛一逛地里,收藏别人的系统设计相关的帖子,以备后面阅读。.google и
第二步,看一些系统设计基础相关的帖子和视频,这里推荐这个视频 https://www.youtube.com/watch?v=UzLMhqg3_Wc 以及大家都知道的https://github.com/donnemartin/system-design-primer。通过视频可以大概了解,常用的系统设计的概念以及工具,github的帖子辅助提供更多的细节知识。
第三步,进一步了解数据库,主要是SQL和NOSQL的区别,DB lock等。我之前用过一点SQL和DDB(虽然都不多),所以主要多看了Cassandra和mongoDB,看的是在Coursera上IBM的公开课,还有很多和DB相关的课可以选的,我只听了前面2个星期的课,没有做assignment或者project,比较省时间。需要快速面试的建议跳过这一步,基本上面试只需要知道大致特征以及怎么选:
. 1point 3 acres
SQL (ACID):
* Consistency
* Structured data (fixed schema)
* Transactions
* Joins
NoSQL (BASE):
* High performance
* Unstructured data (flexible schema)
* Availability
* Easy scalability. 1point 3 acres
需要支持transaction 和join的,需要用SQL, 需要high TPS以及灵活schema的用NOSQL等等。
第四步,进一步了解数据库以外的其他知识,主题基本上2里面的视频都提到了,还有一些其他常见的比如push&pull,consistent hashing,event sourcing, paxos & raft, cache, Redis, eventually&strong consistency等。准备的话主要是通过搜不同的主题,去看不同的人的视频和帖子,楼主没有bookmark所有的帖子,基本都是看到后即兴youtube search,找view比较高的看一个。基本上大家的解释都差不太多,比如paxos & raft看的是https://www.youtube.com/@ongardie. ----
第五步,了解实际中,各种知识,概念,工具怎么串起来使用,主要是通过DDIA和Alex xu的system design interview(每一章会先看一遍,然后自己design,最后再比较查缺补漏) ..
第六步,看大神们的视频和设计图,主要是东欧大哥 https://www.youtube.com/c/SystemDesignInterview 和朋友推荐的https://www.youtube.com/@ScottShiCS,以及之前收藏的地里的帖子
第七步,mock interview,找个好朋友mock interview,第一次问题比较多,朋友每次面完会给feedback,2-3次之后,节奏的掌握以及怎么回答问题就好了很多。
第八步,面试不同的公司,每次面完会去看看别人怎么design同样的系统,同样可以查漏补缺。
如果需要快速面试,建议直接2,4,5里面的system design interview以及6的东欧大哥视频加mock1-2次。2和4对于看懂5的书,以及理解别人的design非常有帮助,而且我发现即使是没见过的system design题目,都能根据分析题目,找到一个方向。比如,一个面试中问到large shared online doc system,虽然面试前没看过Google doc或者quip的design,但是因为看过events sourcing,就想到了可以用它和paxos/raft来设计。 mock真的太推荐了,帮助很大!!基本上就这些了,大家有好的建议,欢迎补充,最后祝大家offer多多啦! |
上一篇:高盛engineering intern oa 下一篇:介绍一些航空航天领域求学求职的真实情况!(不多见吧
|