664 字
约 2 分钟
10
S25-J04 · 系统设计面试:从需求到方案
适用读者:设计题不知道从哪开口的人。
前置:S25-J03、S17-B01。
覆盖旧文:—(E 驱动)
扩展点:E-S25-006(45 分钟结构)。
上一篇:S25-J03 · 源码阅读方法(附三个示例)
下一篇:S25-J05 · 原理速查。
1. 一句话结论
45 分钟不是用来"画完架构图"的,而是用来展示"你怎么做决策":需求澄清 → 估算 → 高层设计 → 深入一个点 → 取舍。
时间分配(E-S25-006):
| 分钟 | 做什么 |
|---|---|
| 0–5 | 澄清需求(功能/规模/一致性) |
| 5–10 | 容量估算(QPS/存储) |
| 10–25 | 高层设计(组件 + 数据流) |
| 25–40 | 深入 1–2 个点(如短链的 ID 生成) |
| 40–45 | 取舍与故障(S17-A01) |
2. 澄清需求的四问
| 问 | 为什么 |
|---|---|
| 核心功能是什么(先做哪个) | 防跑偏 |
| 读多还是写多 | 决定架构 |
| 规模(QPS/数据量) | 决定要不要分片 |
| 能接受最终一致吗 | 决定要不要分布式事务 |
判据:"不问规模就画架构,是不是在猜?" 是 → 面试官会打断你。
3. 容量估算的最小算法
日请求数 ÷ 86400 ≈ 平均 QPS;峰值 ≈ 平均 × 3–10
存储 = 日增数据 × 保留天数
"估算要不要精确":不要——考的是"量级感"(万级 vs 百万级决定方案)。
4. 深入点的选择
| 值得深入 | 不值得 |
|---|---|
| 有取舍的点(ID 生成/一致性) | 显而易见的(加个缓存) |
| 有故障模式的 | 无风险的 |
| 与规模相关的 | 与规模无关的 |
5. 五个误区
| 误区 | 真相 |
|---|---|
| "上来就画架构" | 先澄清需求 |
| "估算要精确" | 要量级 |
| "组件越多越全" | 只画必要的 |
| "不深入细节" | 要深入 1–2 个点 |
| "不提故障" | 故障域是加分项 |
6. 自检
- 45 分钟怎么分?
- 澄清需求四问?
- 容量估算的最小算法?
- 什么点值得深入?
- 为什么"不提故障"是减分?
7. 下一篇
S25-J05 · 原理速查:树、协议、JIT、栈帧
设计讲完,下一篇讲"小而硬"的原理点怎么答准。
本篇属于系列《S25 · 求职与面试》。扩展点 E-S25-006。
S25-J04 · 系统设计面试:从需求到方案
https://www.clxhxhhr.top/posts/5585/ 评论
0 条
还没有评论,先写一条吧。