18 Fall | Robotics PhD 申请小结 | 内附个人SoP

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
前Google华人高管创立
面试offer一键直通
Leap.ai助你进入热门独角兽
查看: 57875|回复: 94
收起左侧

[系统设计/OOD] 系統設計救星! 一天內手把手教你面試System design

    [复制链接] |试试Instant~
我的人缘0
jyt0532 发表于 2016-11-3 10:18:55 | 显示全部楼层 |阅读模式
本楼: 【顶】   97% (37)
 
 
2% (1)   【踩】
全局: 顶  99% (237)
 
 
0% (1)  踩

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

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
前言:常看到有人問 system design需不需要準備 new grad會不會考system design 我想給地裡的戰友們建議 當然準備面試刷題是基本中的基本 但當你刷到一定程度後 刷題投資報酬率就開始低了 這時我真心建議可以花些時間讀system design 因為你花在這個的前10-20小時投資報酬率非常高!基本的觀念有了以後可以apply到所有的問題 面試之前不管HR跟你說有沒有system design你都不怕 廢話不多說 直接進入主題

我的所有資料來源都是地裡還有以下連結

這篇文章主要是把所有手上資源照priority順序加上一些自己的整理 用簡單的方式介紹怎麼Ace system design 依照priority順序分成
明天面 下禮拜面 下個月面 跟明年面

=====明天要面system design=====

迷途書僮:誒jyt0532 我明天就要面試了 沒空讀那麼多你給的文章 該怎麼辦?
jyt0532: 很好 今天幸好你遇到我 我用最少的時間讓你知道明天面試的時候大方向怎麼走
Step1: 先問所有requirement, spec 這個系統需要提供什麼功能
Step2: Constrains: 問他我們需要處理多少traffic, 多少data, latency重不重要 A和C選哪個
Step3: 計算需要多少機器 要用什麼storage
Step4: Abstract design: 先畫出大架構! 每個會出現的component都要畫出來 再看面試官希望你深入講哪個component
Step5: Scale: 讓你的system有fault tolerance, scale成大公司的系統架構
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
Step3:
算一下你需要多大的machine多少台
https://gist.github.com/jboner/2841832 這裡面的數字要有點sense
假設我們現在要用72GB RAM 4 core的machine
那總共以儲存data來說 需要30TB/72GB = 420台
這樣的話每台的QPS = 10M/420 = 23000, 即使所有core都用了 每個core要處理6000QPS
代表說 1/6000 = 167us 搭配上面那個link可知道即使是ram sequentially read 1MB要250M 所以我們如果用這個size的machine 會無法負荷
改變主意 假設現在用16GB RAM  4core的machine
30TB/16GB = 1875台, QPS per CPU = 10M/1875/4 = 1400QPS = 700us per queries. 這個數字負擔小多了

看完上面的流程知道我們在幹嘛了吧? 先用data constrain算出要幾台機器 再用traffic constrain算看看這樣的配置合不合理
這樣做完你就知道你的system是需要猛的機器少台一點 還是差一點的機器多台一點

Step4: 畫出大架構
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
=====下禮拜要面system design=====

從小公司到上億用戶公司的架構演進(非常建議讀)
InterviewBit:這是個非常好的互動式網站 他是一步一步漸進式的問你每個你在面試中該問的問題 帶你走過一遍system design interview的process 非常建議這裡面的八題都要寫過
Scalable Web Architecture and Distributed Systems

=====下個月要面=====
把這裡的文章都K過你就比大多數candidate強很多了 除非你想進的事system and data infra那就是另外一段故事了


=====明年面試=====
明年才要面你現在就開始準備的話 基本上你是個非常自律的人 你就定時follow各公司engineer寫的文章就可以了 別忘了面之前一個月再回來看我這篇


其實有工作經驗的都知道 你很常需要去design一個新的project 而釐清use case這些事情是基本 連use case都沒問那面試官根本不會覺得你是個好的工程師 主要考察的是communication and problem solving, 給你一個開放性問題 你怎麼分析step by step, 你如何跟別人討論你的idea, 如何optimize你的system 往這個方向想就覺得其實system design真的沒什麼好怕的 這篇寫了快五個小時 請各位地友不吝賞個大米吧  這篇就不設權限了 希望造福大家 如果大米超過100我再稍微寫一下怎麼design twitter吧



补充内容 (2016-11-7 02:51):
筆誤 example是要打造一個cache不是打造一個hash

补充内容 (2016-11-12 04:37):
下一篇已經寫好了 可是不知道為什麼需要經過審核

补充内容 (2017-11-2 14:34):
更多優質內容可以到我的部落格: https://www.jyt0532.com/2017/03/27/system-design/

评分

参与人数 143大米 +1071 收起 理由
Floridaff + 3 很有用的信息!
andyandy666 + 5 很有用的信息!
我怎么那么帅啊 + 3 很有用的信息!
MacBookPro0 + 3 很有用的信息!
Heinrich + 10 很有用的信息!
PciPca + 5 很有用的信息!
VicChen0130 + 5 很有用的信息!
jenniferj + 5 很有用的信息!
wudiney + 10 就喜欢直接的干货
Andrew.yukai + 5 给你点个赞!
cs2009 + 3 论坛禁止拉群
edu + 3 给你点个赞!
jrou + 3 给你点个赞!
熊猫杀很大缺积分 + 5 给你点个赞!
Self_Learner + 5 很有用的信息!

查看全部评分


上一篇:Zenefit的一道面经题,求大神指导
下一篇:基础很差,请教一个刷题方面的问题,求大神指导

本帖被以下淘专辑推荐:

我的人缘0
paopaojeffrey 发表于 2016-12-4 03:06:22 | 显示全部楼层
本楼: 【顶】   6% (3)
 
 
93% (44)   【踩】
全局: 顶  34% (25)
 
 
65% (48)  踩
简体网站能用简体吗
回复

使用道具 举报

全球28万学生4.7分推荐
我的人缘0
gerent9196 发表于 2017-3-20 05:30:17 | 显示全部楼层
本楼: 【顶】   100% (3)
 
 
0% (0)   【踩】
全局: 顶  63% (14)
 
 
36% (8)  踩
《《《搭配上面那個link可知道即使是ram sequentially read 1MB要250M》》》,这句话根据link里面最后应该是250us吧。。。1M是250us,那对应10M就是2500us,感觉换成后面的16GB RAM 还是不够用啊。。。请问这里怎么回事?求这里详细计算过程
回复

使用道具 举报

我的人缘0
悠然 发表于 2018-1-21 02:16:49 | 显示全部楼层
本楼: 【顶】   100% (1)
 
 
0% (0)   【踩】
全局: 顶  100% (1)
 
 
0% (0)  踩
gerent9196 发表于 2017-3-19 16:30
《《《搭配上面那個link可知道即使是ram sequentially read 1MB要250M》》》,这句话根据link里面最后应该 ...

"假設我們現在要用72GB RAM 4 core的machine 那總共以儲存data來說 需要30TB/72GB = 420台 這樣的話每台的QPS = 10M/420 = 23000, 即使所有core都用了 每個core要處理6000QPS 代表說 1/6000 = 167us 搭配上面那個link可知道即使是ram sequentially read 1MB要250M 所以我們如果用這個size的machine 會無法負荷"

我觉得楼主的意思是:
6000 QPS = 6000 query / 1000000us =>1000000 us / 6000 query = 167us/query, 从内存中读取1M要250us,所以实际的内存读取速度(250us)比题目要求的(167us)慢,因而不符合要求。(但比较的前提是每次读取都是1M)

同理,"假設現在用16GB RAM 4core的machine 30TB/16GB = 1875台, QPS per CPU = 10M/1875/4 = 1400QPS = 700us per queries. 這個數字負擔小多了"

1400QPS => 1000000us / 1400query = 700us per queries,所以实际的内存读取速度(250us)比题目要求的(700us)快,因而符合要求。(但比较的前提是每次读取都是1M)
回复

使用道具 举报

我的人缘0
nevermor 发表于 2016-11-10 01:56:51 | 显示全部楼层
本楼: 【顶】   100% (1)
 
 
0% (0)   【踩】
全局: 顶  82% (88)
 
 
17% (19)  踩
先mark,繁体看的疼…

21.000+ students read the Road to learn React. The course weaves all the opinionated roadmaps into one roadmap to master React. It gives you all the fundamentals in React. You will build a Hacker News App along the way.

回复

使用道具 举报

我的人缘0
依水斜阳 发表于 2016-11-3 14:41:38 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (7)
 
 
0% (0)  踩
我竟然是沙发!感谢楼主!
回复

使用道具 举报

我的人缘0
queenjuliana 发表于 2016-11-3 18:32:00 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  97% (48)
 
 
2% (1)  踩
支持一下~谢谢分享
回复

使用道具 举报

我的人缘0
AC4Fun 发表于 2016-11-6 21:00:54 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (1)
 
 
0% (0)  踩
写的简直太好了,不过第一个印象笔记的链接好像挂了哦

With React+D3v4 you'll learn the basics of building fast data visualization components in about an hour.

回复

使用道具 举报

我的人缘0
 楼主| jyt0532 发表于 2016-11-7 02:50:35 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  99% (237)
 
 
0% (1)  踩
筆誤 example是要打造一個cache不是打造一個hash
回复

使用道具 举报

我的人缘0
kawayipk 发表于 2016-11-7 03:18:14 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (13)
 
 
0% (0)  踩
太详细了,非常感谢。
回复

使用道具 举报

我的人缘0
mikemike0 发表于 2016-11-7 04:05:29 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  94% (183)
 
 
5% (11)  踩
感謝lz 以後能用上 萬分感謝了!

Learn React.js, Redux & Immutable.js while building a weather app

回复

使用道具 举报

我的人缘0
hiji1232 发表于 2016-11-8 08:16:25 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (3)
 
 
0% (0)  踩
很受用~~收藏了先~~谢谢lz

评分

参与人数 1大米 +5 收起 理由
cs2009 + 5 欢迎分享你知道的情况,会给更多积分奖励!

查看全部评分

回复

使用道具 举报

我的人缘0
eko910817 发表于 2016-11-8 08:32:09 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  92% (72)
 
 
7% (6)  踩
mark一下 谢谢楼主!!!
回复

使用道具 举报

我的人缘0
sevenwonder 发表于 2016-11-10 01:32:09 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (31)
 
 
0% (0)  踩
能不能说下OOD
回复

使用道具 举报

我的人缘0
archiezhao1992 发表于 2016-11-14 22:58:58 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (4)
 
 
0% (0)  踩
收藏键就是为这种帖准备的!
回复

使用道具 举报

我的人缘0
xuxiaoyang626 发表于 2016-11-14 23:04:08 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (5)
 
 
0% (0)  踩
mark 赞一个!!!
回复

使用道具 举报

我的人缘0
iphehe 发表于 2016-11-15 06:16:01 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (2)
 
 
0% (0)  踩
必须多谢楼主啊!
回复

使用道具 举报

我的人缘0
dojiangv 发表于 2016-11-15 12:01:57 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (22)
 
 
0% (0)  踩
写的真好,真详细!
回复

使用道具 举报

我的人缘0
1451427216 发表于 2016-11-15 12:09:43 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  96% (61)
 
 
3% (2)  踩
mark 一下,多谢楼主
回复

使用道具 举报

我的人缘0
feichangh 发表于 2016-11-15 23:39:14 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (24)
 
 
0% (0)  踩
赞一下,多谢楼主分享
回复

使用道具 举报

我的人缘0
phyyu 发表于 2016-11-16 10:13:17 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  0% (0)
 
 
0% (0)  踩
关于系统设计的干货不多,多谢啦
回复

使用道具 举报

我的人缘0
jimwallet 发表于 2016-11-27 23:43:25 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  75% (51)
 
 
25% (17)  踩
比较有意思的是,现在好像大家热衷于跟着google的master-slave架构去设计。没有人会用p2p架构去设计吗?用上consistent hashing
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地论坛声明

GMT+8, 2018-9-21 23:20

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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