D
AI
学习工作台
8 周后端冲刺2026-05-222 分钟阅读

系统设计答题框架

需求→估算→API→数据→扩展→权衡的标准流程

8周冲刺week7系统设计面试记笔记标记疑惑

标准流程(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 短链服务」并录音复盘。

知识卡片

问题

系统设计面试第一步做什么?

点击翻转查看答案

答案

澄清功能与非功能需求:QPS、延迟、一致性、存储规模、可用性目标;避免直接画架构。

问题

如何粗算存储与带宽?

点击翻转查看答案

答案

DAU × 行为频率 × 对象大小 × 保留期 = 日增量;乘副本系数;带宽 = QPS × 平均响应大小。

问题

扩展阶段常加哪些层?

点击翻转查看答案

答案

缓存 → 读写分离 → 分库分表 → CDN → MQ 异步 → 多区域;每步说明瓶颈与 trade-off。