系统设计题(System Design Drills)
为什么单独开这一块#
01-fundamentals/ 的 388 道题考的是知不知道;这一块考的是会不会设计。两者是不同的能力,也是不同的面试轮次:
| 知识题 | 系统设计题 | |
|---|---|---|
| 面试官问 | 「DPO 和 GRPO 的区别?」 | 「客户要做一个企业知识库问答,你怎么做?」 |
| 考察 | 掌握程度、细节准确性 | 需求澄清、架构取舍、落地判断 |
| 典型时长 | 5–15 分钟 | 30–60 分钟 |
| 答错代价 | 丢一分 | 整轮崩 |
FDE 岗位尤其偏重这一轮 —— 因为 FDE 的日常工作就是把客户的模糊问题翻译成可交付系统,面试里一定会让你现场演示这个能力。
关键认知:这一轮考的不是「你想得多全」#
很多人以为系统设计要「把所有组件都说一遍」。恰恰相反。 这一轮真正考的三件事:
- 你会不会先问再答。听到需求不澄清就开始画架构,是最常见的送命方式。面试官给的需求一定是信息不足的,这是刻意的。「我要先问几个问题」这个动作本身就是得分点。
- 你的取舍有没有依据。说「我用向量数据库」不加分;说「我用向量库而不是关键词检索,因为这个场景的查询是语义性的、且用户不会用精确术语 —— 代价是专有名词召回会差,所以我打算加一层 BM25 兜住」才加分。
- 你知不知道什么不该做。能主动说出「这个方案在这个规模下不划算」「这个需求我建议先不做」,是资深和初级的最大分界。
每道题的结构#
- 题干 —— 面试官的原话(尽量还原真实问法,通常很模糊)
- 第一步:澄清 —— 该反问什么,每个问题的答案会怎样改变方案
- 参考架构 —— 分层画出来,标出关键组件
- 关键决策与权衡 —— 每个决策的替代方案、选择依据、代价
- 容量与成本直觉 —— 量级估算(不要求精算,但要有感觉)
- 面试官会怎么往下挖 —— 分层追问清单
- 自测 —— 换条件重做一遍
总原则#
- 先澄清,再设计,最后才谈技术选型。 顺序错了,后面全白搭。
- 从最简单的方案开始,再按压力加复杂度。 上来就上多智能体 + 知识图谱,是减分行为 —— 说明你不会判断必要性。
- 主动说代价。 每个决策都说「代价是什么」,比说「好处是什么」更能建立可信度。
- 涉及客户的场景,主动提合规与数据边界。 这是 FDE 的必备意识。