GeekBand 系统设计与实践 First Week
硅谷公司及系统设计介绍
System Design的 试的 般流程
- 问题描述
a. 往往 常简单,如:设计 个XX系统。或者:你有没有 过XXX,你来设计个。 - Clarification
a. 试者需向 试官询问系统的具体要求。如,需要什么功能,需要承受的流量 ,是否需要考虑可靠性,容错性等等。 - 面试者提供 个初步的系统设计
- 面试官这对初步的系统中提出 些Follow-Up的问题:如果要加某个功能怎么办, 如果流量 了怎么办,如何考虑Consistent怎么办,如果机器挂了怎么办。
- 面试者根据试官的FollowUp逐个解决问题
- 完成
特点:不需要写程序 纯粹聊天扯淡
怎样去评价一个系统的设计
Scoring | Candidate | Criteria |
---|---|---|
1.0 | Bad | No sense of requirement, no scoping |
2.0 | Pool | Limited knowledge, common sense |
3.0 | Good | Reasonable Solution, explain clearly |
4.0 | Great | Out of expectation, well thoughtful, tradeoff |
系统设计中的七剑客
- 同步
- 网络
- 数据库
- 分布式
- 性能
- 估算
- 面向对象