《System Design Interview: An Insider’s Guide》是系统设计领域的经典参考书。作者 Alex Xu 通过 15 个真实案例,从粗略估算到大型分布式系统,系统地训练工程师的架构设计能力。本专题为全书的中文翻译版本,并补充了职级分层阅读路线、真题索引和跨专题知识延伸。
✍️ 原创补充:本专题另新增 30 篇原创系统设计深度解析(第 16-45 篇),覆盖书中未展开的高频面试题——支付系统、电商订单与库存、推荐系统、搜索引擎、日志与监控、消息队列(类 Kafka)、优惠券营销、广告投放、内容审核、分布式任务调度、权限系统、弹幕、秒杀、即时通讯、日志检索、分布式缓存、短视频、API 网关、网约车调度、票务选座、视频转码、消息推送、直播、在线判题、对象存储、协作编辑、LBS 附近的人、分布式锁、A/B 测试、视频会议。每篇均按「需求澄清 → 量级估算 → 高层设计 → 核心组件 → 深入权衡」的标准答题结构撰写,含架构图、数据表、伪代码与权衡矩阵,可直接用于面试演练。
📌 相关专题:系统架构设计专题 (架构设计原则)、分布式系统专题 (分布式系统)、数据库专题 (数据库)、Redis 专题 (缓存)
一、全书目录
| 章节 | 标题 | 核心内容 | 难度 |
|---|---|---|---|
| 1 | 从零到数百万用户的规模 | 单体 → 负载均衡 → 数据库分片 → CDN → 多活架构的演进之路 | 入门 |
| 2 | 粗略估算(Back-of-the-Envelope Estimation) | QPS、带宽、存储容量的量级估算方法 | 入门 |
| 3 | 系统设计面试框架 | 四步答题法:需求澄清 → 高层设计 → 模块深入 → 扩展与异常 | 入门 |
| 4 | 设计一个分布式限流器 | 令牌桶、漏桶、滑动窗口、分布式限流实现 | 中级 |
| 5 | 一致性哈希设计 | 经典哈希 vs 一致性哈希、虚拟节点、节点增减的数据再平衡 | 中级 |
| 6 | 设计一个 KV 存储系统 | CAP 理论、读写路径、数据复制、持久化策略 | 中级 |
| 7 | 设计分布式唯一 ID 生成器 | Snowflake、号段模式、时钟回拨问题与号段双 Buffer | 中级 |
| 8 | 设计一个短网址系统 | Base62 编码、哈希冲突、短码安全、重定向优化 | 中级 |
| 9 | 设计一个网络爬虫系统 | 布隆过滤器去重、SimHash、Robots 协议、反爬与代理池 | 中级 |
| 10 | 设计一个通知系统 | 多渠道推送、优先级路由、批量发送、消息队列选型 | 中级 |
| 11 | 设计一个新闻提要系统 | Fan-out on Read/Write、Feed 缓存冷热分层、冷启动 | 高级 |
| 12 | 设计一个聊天系统 | 已读回执、多端漫游、全局序列号、消息顺序保证 | 高级 |
| 13 | 设计搜索自动完成系统 | Trie 前缀索引、热点查询排名、边缘预计算 | 中级 |
| 14 | 设计 YouTube | 视频上传流水线、ABR 自适应码率、CDN 调度、推荐系统 | 高级 |
| 15 | 设计 Google Drive | 块级增量同步、冲突检测与合并、元数据索引分片 | 高级 |
原创深度解析(补充案例)
| 序号 | 标题 | 核心内容 | 难度 |
|---|---|---|---|
| 16 | 设计一个支付系统 | 支付网关、幂等、对账、分布式事务 | 高级 |
| 17 | 设计电商订单与库存系统 | 超卖防治、预扣策略、TCC/Saga、秒杀 | 高级 |
| 18 | 设计推荐系统 | 召回、粗排精排、特征工程、冷启动 | 高级 |
| 19 | 设计搜索引擎 | 倒排索引、BM25/向量混合、分布式检索 | 高级 |
| 20 | 设计日志与监控系统 | 日志采集、时序存储、告警、分布式追踪 | 中级 |
| 21 | 设计一个消息队列系统(类 Kafka) | Topic/Partition、ISR 副本、消费组、幂等 | 高级 |
| 22 | 设计一个优惠券营销系统 | 券模板库存、原子发券防超发、领券秒杀削峰、核销幂等与对账 | 高级 |
| 23 | 设计一个广告投放平台 | 实时竞价 RTB、内存索引召回、频控预算、反作弊、归因计费 | 高级 |
| 24 | 设计一个内容审核系统 | 多模态审核流水线、分级判定、人审兜底、状态机与回流 | 高级 |
| 25 | 设计一个分布式任务调度系统 | 时间轮触发、延迟队列、任务分片、DAG 编排、失败重试 | 中级 |
| 26 | 设计一个权限系统(RBAC + ABAC) | 权限快照缓存、行级 SQL 改写、策略引擎、变更实时生效 | 高级 |
| 27 | 设计一个弹幕系统 | WebSocket 长连接、房间扇出、车道算法、内容过滤、回放 | 高级 |
| 28 | 设计一个秒杀系统 | 削峰分层架构、多级限流、Redis 预扣 + 消息队列异步落库、防刷风控、压测与发布预案 | 高级 |
| 29 | 设计一个即时通讯系统 | WebSocket 长连接与心跳、单聊/群聊消息模型、多端同步 seq 游标、读/写扩散、ack 重传与已读回执 | 高级 |
| 30 | 设计一个日志检索系统 | 日志采集管道、倒排索引与列式存储、查询引擎、冷热分层与成本治理 | 高级 |
| 31 | 设计一个分布式缓存系统 | 分片与一致性哈希、Cache Aside/双删/Binlog 订阅、主从/哨兵/集群高可用、热点与穿透雪崩防护 | 高级 |
| 32 | 设计一个短视频系统 | 上传与转码流水线、CDN 多码率分发、推荐信息流召回排序、互动与播放链路、成本治理 | 高级 |
| 33 | 设计一个 API 网关系统 | 控制面/数据面分层、动态路由与负载均衡、JWT/签名鉴权、限流熔断降级、灰度与版本管理 | 高级 |
| 34 | 设计一个网约车调度系统 | 司乘双边匹配、地理索引与网格召回、派单策略与超时重派、行程状态机、计价与对账 | 高级 |
| 35 | 设计一个票务选座与秒杀系统 | 场次座位图建模、座位预占与超时释放、库存扣减与幂等、排队与限流、选座一致性 | 高级 |
| 36 | 设计一个视频转码平台 | 转码任务 DAG 与分片、任务队列与优先级、多码率产物管理、CDN 回源、成本与弹性伸缩 | 高级 |
| 37 | 设计一个消息推送平台 | 多通道接入与降级、推送频控与免打扰、模板与变量渲染、送达回执与重试、设备令牌治理 | 高级 |
| 38 | 设计一个直播系统 | 推流接入与转封装、低延迟分发与边缘回源、房间与信令、弹幕与连麦、卡顿率与首帧指标 | 高级 |
| 39 | 设计一个在线判题系统 | 沙箱隔离与资源限制、判题队列与优先级、测试数据管理、结果比对与评测机扩展、防作弊 | 高级 |
| 40 | 设计一个对象存储系统(S3 类) | 元数据与数据面分离、对象分片与多副本/纠删码、一致性哈希分布、分段上传与版本控制、冷热分层、跨机房容灾 | 高级 |
| 41 | 设计一个实时协作编辑系统(CRDT 与 OT) | OT/CRDT 协同算法对比、CRDT 文档模型与状态向量、WebSocket 操作广播、离线编辑与冲突合并、光标与在线状态同步 | 高级 |
| 42 | 设计一个 LBS 附近的人系统(Geohash 与空间索引) | Geohash/H3/S2 空间索引、Redis GEO/PostGIS 存储查询、九宫格与多级邻居搜索、位置更新与过期淘汰、隐私模糊化 | 高级 |
| 43 | 设计一个分布式锁服务 | Redis 与 ZooKeeper/etcd 实现对比、加锁原子性与看门狗续期、Redlock 与 fencing token、可重入与公平锁、超时死锁治理 | 高级 |
| 44 | 设计一个 A/B 测试与实验平台 | 哈希分桶分流、实验配置下发、指标采集与显著性检验、互斥层与流量管理、SRM 检测与多重比较陷阱 | 高级 |
| 45 | 设计一个视频会议系统(WebRTC SFU) | WebRTC 信令与 ICE 打洞、Mesh/SFU/MCU 拓扑对比、SFU 转发与 Simulcast、拥塞控制与弱网对抗、录制与房间鉴权 | 高级 |
二、学习路径
第 1-3 章(地基) → 第 4-7 章(基础组件) → 第 8-13 章(业务系统) → 第 14-15 章(综合巨系统)
| 职级 | 推荐章节 | 深度要求 |
|---|---|---|
| 初级(0-3年) | 1、2、3、8、10、13 | 建立全局观、掌握量体裁衣的设计直觉 |
| 中级(3-6年) | 4、5、6、7、11、12 | 深挖分布式存储、缓存、一致性策略 |
| 高级(6年+) | 9、14、15 + 全章串联 | 端到端权衡、跨域治理、多活架构 |
详细阅读路线、真题索引和面试评分标准请参见 SUMMARY(详细索引)
系统设计的核心考察点
| 能力维度 | 初级(0-3年) | 中级(3-6年) | 高级(6年+) |
|---|---|---|---|
| 需求澄清 | 复述题目 | 主动提问边界条件 | 识别隐含需求与扩展点 |
| 估算能力 | 数量级正确 | 拆解计算合理性 | 敏感性分析与极限场景 |
| 方案设计 | 单点方案 | 多方案对比权衡 | 演进式架构,考虑成本 |
| 深度追问 | 回答基础问题 | 分析瓶颈并优化 | 跨系统关联与治理 |
| 沟通表达 | 逻辑清晰 | 结构化阐述 | 引导面试官深入 |
补充文章
以下为《系统设计面试:内幕指南》中文翻译的目录页,是全书入口:
| 文章 | 核心内容 |
|---|---|
| 系统设计面试:内幕指南(中文翻译)目录 | 系统设计面试:内幕指南(中文翻译)目录,包含 15 章内容,每章都有详细的解释和代码示例。 |
相关专题
专题统计
- 文章数量: 15 章完整翻译 + 30 篇原创深度解析 + 补充材料
- 覆盖领域: 估算、一致性、缓存、消息队列、搜索、视频、支付、电商、推荐、日志监控、消息中间件、优惠券、广告、内容审核、任务调度、权限、弹幕、秒杀、即时通讯、日志检索、分布式缓存、短视频、API 网关、网约车调度、票务选座、视频转码、消息推送、直播、在线判题
- 难度: 初级到高级全覆盖
- 总预估阅读时间: 约 630 分钟