Loading...
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
算法题刷得飞起,一路杀到系统设计面。面试官往白板前一站:「来,设计一个 Twitter 的时间线。」
你脑子里的缓存 ✅ 负载均衡 ✅ 消息队列 ✅ 全在,但就是不知道怎么串起来 😅 沉默三十秒,硬着头皮画了两个框,面试官的表情已经说明了一切。
缺的不是知识,是把知识串起来的能力。
这份指南就是干这个的。GitHub 全站前 20 🏆 有中文版,拿来就能用。
💡 一句话:系统设计面试的满级通关攻略
不是概念词典。是手把手教你:面试时从哪开口、怎么推进、如何收尾。
一共四步,每一步列了选项、trade-off、以及「为什么你不能既要又要」。连坑都帮你标好了。
🎯 面试就考这四步
① 先对齐假设 🤝
这系统每天多少人在用?浏览多还是发帖多?响应要快到什么程度?
别急着画图——需求没聊清楚就动手,画的全是错的。一上来就画架构图的基本都挂了。
② 画出高层架构 🏗️
用户请求进来 → 经过什么 → 存到哪去。在白板上把大的组件框画出来。
③ 深入核心组件 🔧
数据库选 MySQL 还是 MongoDB?缓存放 CDN 还是服务层?API 设计成 REST 还是 RPC?每个选择都要说出 why。
④ 考虑十万倍流量 📈
用户从一万涨到一千万,哪里先崩?要不要分库分表?消息队列放哪?扩容方案说清楚了,面试官才会放你过关。
📝 真题拆给你看
每道题从需求聊到架构再到扩容,完整推导——
不是给你答案背,是带你经历一遍面试对话。看完以后脑子里有了一张地图 🗺️,下次面试官问什么你都知道从哪入手。
🔥 两个让人舒适的设计
每个方案的缺点写得比优点还认真。 缓存提速了?✅ 但也可能让你读到脏数据 ⚠️ 微服务解耦了?✅ 但运维复杂度直接起飞 📛 这比那些只吹好处的教程良心一百倍。
按备考时间给路线。 明天面试的 📅 突击核心概念+真题框架。三个月后跳槽的 🎓 深入啃每个模块、独立写方案做对比。
🛠️ 怎么搞到手
github.com/donnemartin/system-design-primer,页面顶部切中文。
附带 Anki 记忆卡 🧠(延迟数字面试里随口报出来就是专业度)、Amazon/Netflix/Uber 真实架构博客、大厂工程团队的公开技术文章。
不是刷的。看完你会知道面试怎么开口,也知道自己还缺什么 💪