Lesson 0015 · 系统设计 · Phase 4 实战 · 毕业课

模拟面试 II + 工作迁移

⏱ 预计 90 分钟(45 分钟面试 + 45 分钟迁移产出) 🎯 毕业考 + 把框架永久焊进日常工作 📖 前置:Lesson 0014 模拟面试 I
与你的 Mission 的关系

这是毕业课,两件事:① 一道更难的题(网约车,考验实时性与地理数据两个新维度);② 把四步框架迁移到工作里——写一份真实的架构决策文档(ADR)。面试是快照,工作才是主场;这半节课让课程资产永久跟着你。

§1 · 模拟面试 II题目

「设计一个网约车系统(Uber 简化版)。」

补充设定:单城市先行;核心流程 = 乘客叫车 → 匹配附近司机 → 行程中位置实时共享 → 结束计费。这是实时系统题:位置每 4 秒更新一次,匹配要秒级响应。

相比通知系统,这道题新考两个维度:地理空间索引(怎么找 3 公里内的空闲司机)和高频实时流(百万司机位置不断更新)。地理索引的工业答案是 GeoHash/H3 多边形网格[1]

§2 · 开始模拟

§3 · 工作迁移把框架焊进日常

面试四步框架在工作里的对应物就是 ADR(Architecture Decision Record,架构决策记录)——业界标准格式见 adr.github.io[2]。它不是官僚文档,而是把「权衡说出口」变成团队资产:半年后新人问「为什么当初用 Kafka 不用 RabbitMQ」,答案就在 ADR 里。

📋 一页纸 ADR 模板(对应四步框架,点击可复制)
# ADR-NNNN:{决策标题,如「订单库分片方案:按 user_id 哈希」}

日期 / 状态(提议中 / 已接受 / 已废弃) / 决策人

## 1. 背景与约束(← 四步 Step 1)
我们面临什么问题?硬约束:规模数字、SLA、团队现状、deadline。
【放你的估算数字,注明来源】

## 2. 备选方案与权衡(← Step 2 & 4)
### 方案 A:{…}
- 优点:…;代价:…;失效边界:数据量/流量达到 ___ 时不再适用
### 方案 B:{…}
- 同上

## 3. 决策(← Step 3)
选择方案 __,目标架构图(一图胜千言)。

## 4. 后果与跟进(← Step 4 的诚实)
我们接受了什么代价?什么信号出现时必须重新评估?(如「分片
键 user_id 的倾斜超过 3:1 时触发二次拆分评估」)
迁移任务(本周最重要的 45 分钟)

用上面的模板,为你工作中的一个真实决策写一份 ADR——已做的决策就写复盘版(为什么当初这么选),待做的决策就写提议版。写完贴给老师,我按「这个 ADR 能否说服一个聪明但不知情的同事」标准反馈。

晋升视角:ADR 是晋升答辩的现成素材——「主导了 X 的架构决策,权衡 A/B 后选择…,上线后…」比「参与了 X 项目」强一个职级。

§4 · 毕业路线课程之后去哪

§5 · 延伸资源

🎓 课程完成了,但师生关系没有。真实模拟面试(我追问、你答、我点评)、ADR 反馈、或者下次晋升答辩前把这份 ADR 拿来对练——随时开口。