标准流程(45 分钟)
1. 需求(5 min)
- 核心用例:发推、读 feed、搜索?
- 非功能:10M DAU、P99 200ms、 eventual OK?
2. 估算(5 min)
1M 写/天 ≈ 12 write/s 平均,峰值 ×3
每条 500B → 500MB/天 → 5 年 ≈ 1TB 量级(加索引 ×2)
数量级对即可,展示工程思维。
3. API(5 min)
REST 或 gRPC 草图:
POST /v1/tweets { text, media_ids }
GET /v1/feed?cursor=
4. 数据模型(10 min)
表/键设计、索引、热点。画 读路径 与 写路径。
5. 高层架构(10 min)
LB → 无状态 API → Cache → DB → MQ → 搜索索引。
标注 单点 与 扩展点。
6. 深入(10 min)
面试官点:feed 推拉模型、分片键、一致 hash、降级。
7. 权衡总结
CAP、成本、复杂度、运维。
常见题型模板
| 系统 | 关键点 | |------|--------| | 短链 | base62、Redis 缓存、301 | | 限流 | 令牌桶、Redis sliding window | | 聊天 | WebSocket、房间、MQ | | 秒杀 | 静态化、MQ、库存预减 |
与八周知识映射
- Week 4:LB、DNS
- Week 5:DB 与索引
- Week 6:Redis、Kafka
- Week 7:CAP、Raft、微服务
表达技巧
边画边说;主动提 监控与故障;不要堆 buzzword。
Week 7 总结
分布式理论 + 工程组件 + 答题框架 = 系统设计闭环。Week 8 转 AI 工程与面试冲刺。
实战巩固与面试表达
本篇属于 8 周冲刺 week07-system-design-framework 主题。复习时先闭卷回答 frontmatter 中三张 flashcard,再展开口述两个「为什么」:为什么这种方案能 work、边界失败时如何降级。与相邻章节对照:算法篇强调复杂度与模板,Go 篇强调工程默认写法,中间件篇强调线上故障案例。
动手与自检清单
用 25 分钟限时做 1 道相关练习题或画出一张架构/数据结构示意图;用 5 分钟写 STAR 片段说明你在项目里是否用过类似技术。记录 3 个面试追问及你的标准答法,存入 /zh/notebook/master-plan 笔记。若某点不熟,回到对应 /chapters 交互 Lab 重新走一遍流程,比死记卡片更有效。
易错点提醒
避免只背名词不会画图;避免只说优点不谈 trade-off(性能、一致性、运维成本至少提一项);避免把学习 Demo 说成百万 QPS 生产。回答时使用「场景 → 方案 → 结果 → 反思」四段式,体现工程成熟度。
补充要点
写可用性 99.9 与 99.99 差多少 downtime。多活异地多写冲突解决 CRDT 或 last-write-wins。ID 生成 snowflake 或 UUID。
自检
用本框架 30 分钟设计「URL 短链服务」并录音复盘。