Lesson 0002 · 系统设计 · Phase 1 骨架

数字感:工程师的第二直觉

⏱ 预计 25–30 分钟(含训练) 🎯 服务于四步框架的第 ② 步 📖 前置:Lesson 0001 四步框架
与你的 Mission 的关系

面试中估算环节拉开差距的不是智商,是背熟的数量级。工作中做容量规划、算云成本、评审「这方案扛得住吗」——全都靠同一张脑子里的表。这张表只有十几个数字,背下来就是终身资产。

§1 · 为什么数量级比精确值重要

估算的目的从来不是算准,而是用数量级做架构判断:一个请求访问内存是 100 纳秒,访问机械盘是 10 毫秒——差 10 万倍。精确值是 8 万倍还是 12 万倍根本不重要,重要的是「一旦跨过这条界线,架构就是另一个世界」。

这条思路来自 Jeff Dean 的著名演讲("Latency Numbers Every Programmer Should Know",社区维护成共享表格[1],还有可调年份的交互版本[2])。

§2 · 必背表 A延迟数量级

操作时间换算成人话
L1 缓存引用~0.5 ns一眨眼的十亿分之一
内存随机访问~100 ns极快,可当作「免费」
SSD 随机读~100 µs = 100,000 ns比内存慢 1000 倍
机械盘寻道~10 ms比 SSD 慢 100 倍(数据库宁可要内存/SSD 的原因)
同机房往返 RTT~0.5 ms微服务同机房调用一次的开销
跨洋 RTT(如中美)~150 ms光速决定的物理极限,无法优化

记住两个比例就够了:内存 : SSD ≈ 1000 : 1,SSD : 机械盘 ≈ 100 : 1。缓存为什么是第一杠杆?因为它把读从 SSD 层搬到了内存层——一次就是 1000 倍。完整速查表 →

§3 · 必背表 B可用性「几个 9」的代价

可用性俗称年停机月停机
99%两个 93.65 天7.2 小时
99.9%三个 98.76 小时43.2 分钟
99.99%四个 952.6 分钟4.32 分钟
99.999%五个 95.26 分钟25.9 秒

面试答「我们要 99.999%」之前,先想清楚它意味着全年只允许宕机 5 分钟——要付出多大的冗余成本。大多数业务三个 9 起步、核心链路四个 9,就是理性答案。

§4 · 三个换算公式

算完追问自己一句:「这个数字改变了什么决策?」——没改变任何决策的数字,不要浪费面试时间展示。

§5 · 专项训练估算训练器

直接做。允许 ±30% 误差——这就是真实估算的精度标准。答错会先给提示;这个组件后续课程会反复出现。

§6 · 随堂检测

§7 · 检索练习默写两张表

凭记忆写出:① 内存 / SSD / 机械盘 / 跨洋 RTT 的延迟和倍数关系;② 99.9% 和 99.99% 的年停机时间。

写完再核对

内存 ~100 ns;SSD ~100 µs(慢 1000 倍);机械盘 ~10 ms(比 SSD 慢 100 倍);跨洋 RTT ~150 ms(光速极限)。99.9% = 年停 8.76 小时;99.99% = 年停 52.6 分钟。速查表

📌 明天再来测一次——间隔重复才是把表刻进长期记忆的方式。

§8 · 本周行动

行动任务(约 20 分钟 × 3 天)

① 连续 3 天,每天打开本课的训练器做一轮(内容会打乱重排);
② 第 3 天,从监控里抓出你公司系统的真实 DAU/QPS,自己估一遍再对照——真实校准比任何题目都有价值。

§9 · 延伸资源

💬 哪个数量级让你意外?或者想让我出更多针对你公司系统规模的训练题?直接说。