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

[找工就业] System Design 套路模版

   
全局:
Mark 一下
回复

使用道具 举报

全局:
markmark
回复

使用道具 举报

🔗
tomjerry_2022 2022-5-29 00:16:29 | 只看该作者
全局:
强烈推荐Alex Xu的System Design Interview书,讲得非常系统,非常适合0-5年software engineer准备系统设计面试。
回复

使用道具 举报

🔗
 楼主| onethree 2022-5-29 04:05:04 | 只看该作者
全局:
Hmoon 发表于 2022-5-27 22:18
你脑子有病把,我说的是楼主。

请你看清楚,我这是自己总结的,谢谢
回复

使用道具 举报

🔗
 楼主| onethree 2022-5-29 04:07:23 | 只看该作者
全局:
tomjerry_2022 发表于 2022-5-28 09:16. Χ
强烈推荐Alex Xu的System Design Interview书,讲得非常系统,非常适合0-5年software engineer准备系统设计 ...

谢谢,我正是看了这本书。虽然书里有 framework 这一章,但感觉还不够套路,所以总结了这个。
回复

使用道具 举报

🔗
BZH 2022-5-29 10:22:51 来自APP | 只看该作者
全局:
onethree 发表于 2022-05-28 13:07:23
谢谢,我正是看了这本书。虽然书里有 framework 这一章,但感觉还不够套路,所以总结了这个。
我说咋和这本书很想呢。其实大家不必争吵根源,毕竟套路嘛,就是万变不离其宗的东西,高度相似也是expected的啊。谢谢楼上各位分享。
回复

使用道具 举报

🔗
 楼主| onethree 2022-5-29 10:51:09 | 只看该作者
全局:
BZH 发表于 2022-5-28 19:22
我说咋和这本书很想呢。其实大家不必争吵根源,毕竟套路嘛,就是万变不离其宗的东西,高度相似也是expecte ...

这本书的第三章就是讲的面试模板,但远远不够套路化。Clarification - High Level - Deep Dive - Followup 的这四步走框架是书里说的,但如果仅仅只是知道这个大框架,碰上具体的题目照样会手忙脚乱,因为骨架下面还要填充很多组织。

这些组织就是我看了一些具体的题目以后总结的,对大部分题目来说都可以套用的东西。比如对Deep Dive这一大步,我们就可以顺着 Algoritm -> API design -> DB design -> Scale up -> Reliability (faulure handling) -> security 这个顺序思考下去,并且每个环节我也补充了一些常见的topic. 有了这样具体的导图以后才能有的放矢,又不因为紧张漏掉某个重要环节,而不是东一榔头西一棒槌。当然,不是每一个环节对每一道题目都适用的,这就是一个我们脑中查表的过程。

评分

参与人数 1大米 +1 收起 理由
michaelzju + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
BZH 2022-5-29 13:47:19 | 只看该作者
全局:
在实际工作中,更多的是roll out 新feature过程,或者migration旧的service架构到新的中,这个过程中很多考虑,比如A/B test,新旧数据库一致性,数据从老的数据库或者表格中迁移。不知道这些会不会以后在面试中被考到,毕竟设计一个新的app,比如停车场,twitter app,uber app,这些都过于复杂和庞大了。具体的细节的设计题,不知道有没有考过?我感觉那些更和工作有关。
回复

使用道具 举报

🔗
 楼主| onethree 2022-5-29 14:00:58 | 只看该作者
全局:
本帖最后由 onethree 于 2022-5-28 23:15 编辑
BZH 发表于 2022-5-28 22:47. 1point 3acres
在实际工作中,更多的是roll out 新feature过程,或者migration旧的service架构到新的中,这个过程中很多考 ...

你说的很有道理,CUJ, utilize existing stack, rollout, migration, testing, deployment, monitoring 这些才是实际工作中常考虑的。或者总结来说,是考察在现有系统之上开发新feature的能力。

但面试总归是面试。我看system design的题目主要分两种,一种是 design xxx apps (画航母图纸,比如 design Youtube, design Facebook News Feed), 另一种是 design xxx distributed infra (造轮子, 比如 design distributed lock, design basic key-value store). 无奈现实如此,面试造航母,工作拧螺丝(大中型公司,话说回来,小公司也不需要造航母)。又说者说,这类“大”问题的确可以考察到一部分重点,而 rollout migration这类问题,毕竟太细节且杂,case by case,并且需要不少domain knowledge (比如实际工作中design doc 的intro 和 background 可能就需要一两页,甚至还要看很多相关组的文档), 很难在面试中摆出来。所以只好 interview oriented 准备了。
.google  и
另外我也不觉得这类面试问题是“大而无当”的。在我看来几十分钟的系统面试,重点并不是真的看candidate能不能把这么庞大的系统设计出来(几乎是不可能的),而是看candidate如何从需求和资源限制出发,break down,propose high level plan,再通过自己的计算机科学知识讨论某些实现的trade-offs,这个过程就很像我们在实际工作中做 eng design的过程,可以看到一个人的基础知识,分析设计能力。

评分

参与人数 1大米 +1 收起 理由
454400098 + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

全局:
tomjerry_2022 发表于 2022-05-28 09:16:29
强烈推荐Alex Xu的System Design Interview书,讲得非常系统,非常适合0-5年software engineer准备系统设计面试。
五年以上咋办 看啥材料
回复

使用道具 举报

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

本版积分规则

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