Mock interview for data science
仅限两天:购买DS501或者DS601,全站课程15% off

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
有你有策略
微策略(MicroStrategy)
2019校园招聘火热进行中
E轮2.5亿美元融资
K12教育独角兽一起作业诚聘
机器学习/数据统计/教育等职位
码农求职神器Triplebyte:
不用海投
内推多家公司面试
高效直聘+内推,70%面试率
AI帮你免费完善简历
直击全美十万个科技职位
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
查看: 62129|回复: 97
收起左侧

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

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

评分

参与人数 162大米 +1149 收起 理由
007623 + 3 很有用的信息!
calvinq + 1 真的太有用了!
litt12 + 3 很有用的信息!
zyyhmzf + 5 给你点个赞!
hifiona312 + 3 给你点个赞!
miro12111 + 5 给你点个赞!
chihiro + 5 很有用的信息!
iamchuan + 3 很有用的信息!
本地农民 + 3 很有用的信息!
dianalh1212 + 5 很有用的信息!
ShaneTsui + 5 很有用的信息!
fjn19971007 + 3 很有用的信息!
lee2009jian + 10 给你点个赞!
SIRVampire + 3 给你点个赞!
yaoqi1995 + 3 给你点个赞!

查看全部评分


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

本帖被以下淘专辑推荐:

我的人缘0
paopaojeffrey 发表于 2016-12-4 03:06:22 | 显示全部楼层
本楼: 【顶】   5% (3)
 
 
94% (52)   【踩】
全局: 顶  30% (25)
 
 
69% (57)  踩
简体网站能用简体吗
回复

使用道具 举报

全球28万学生4.7分推荐
我的人缘0
gerent9196 发表于 2017-3-20 05:30:17 | 显示全部楼层
本楼: 【顶】   100% (3)
 
 
0% (0)   【踩】
全局: 顶  60% (14)
 
 
39% (9)  踩
《《《搭配上面那個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,繁体看的疼…
回复

使用道具 举报

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

使用道具 举报

我的人缘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)   【踩】
全局: 顶  98% (49)
 
 
2% (1)  踩
支持一下~谢谢分享
回复

使用道具 举报

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

使用道具 举报

我的人缘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)   【踩】
全局: 顶  95% (215)
 
 
4% (11)  踩
感謝lz 以後能用上 萬分感謝了!
回复

使用道具 举报

我的人缘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)   【踩】
全局: 顶  88% (79)
 
 
11% (10)  踩
mark一下 谢谢楼主!!!
回复

使用道具 举报

游客
请先登录

本版积分规则

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

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

手机版|小黑屋|联系我们&一亩三分地论坛声明

GMT+8, 2018-11-19 21:07

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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