[{"data":1,"prerenderedAt":405},["ShallowReactive",2],{"blog-\u002Fblog\u002Fzh-cn\u002Fsystem-design-prep":3,"blog-sibling-\u002Fblog\u002Fen\u002Fsystem-design-prep":270,"related-zh-cn":272},{"id":4,"title":5,"author":6,"body":7,"cover":252,"date":253,"description":254,"draft":255,"extension":256,"faqCategory":257,"meta":258,"navigation":259,"outro":257,"path":260,"readingTime":245,"seo":261,"stem":262,"steps":263,"tags":264,"updated":257,"wordCount":268,"__hash__":269},"blog\u002Fblog\u002Fzh-cn\u002Fsystem-design-prep\u002Findex.md","系统设计面试怎么准备：一套可复用的答题框架","快面团队",{"type":8,"value":9,"toc":238},"minimark",[10,19,23,28,31,53,56,60,63,116,119,123,135,139,142,174,177,181,188,191,223,226,235],[11,12,13,14,18],"p",{},"系统设计面试最让人发怵的地方，是它「没有标准答案」——题目往往一句话：「设计一个短链服务」「设计一个朋友圈 Feed」。但开放不等于没章法。真正区分候选人的不是谁记得多，而是谁能在 45 分钟里",[15,16,17],"strong",{},"有结构地","把一个模糊问题拆开、做权衡、自圆其说。下面这套框架可以直接套用到几乎任何系统设计题。",[20,21,22],"h2",{"id":22},"五步答题框架",[24,25,27],"h3",{"id":26},"第-1-步澄清需求5-分钟别跳过","第 1 步：澄清需求（5 分钟，别跳过）",[11,29,30],{},"直接动手画架构是新手最大的坑。先花几分钟把题目变具体：",[32,33,34,41,47],"ul",{},[35,36,37,40],"li",{},[15,38,39],{},"功能性需求","：核心功能有哪些？哪些是 MVP，哪些可以「先不做」？",[35,42,43,46],{},[15,44,45],{},"非功能性需求","：读多还是写多？要不要强一致？延迟要求？",[35,48,49,52],{},[15,50,51],{},"规模","：日活多少？QPS 量级？数据存多久？",[11,54,55],{},"把范围圈定下来，既是为了对齐预期，也是在向面试官展示你的产品 sense。",[24,57,59],{"id":58},"第-2-步容量估算5-分钟","第 2 步：容量估算（5 分钟）",[11,61,62],{},"用粗略数字算出系统的量级，它会直接决定你后面的技术选型。常用的几个基准值记住即可：",[64,65,66,80],"table",{},[67,68,69],"thead",{},[70,71,72,77],"tr",{},[73,74,76],"th",{"align":75},"left","量",[73,78,79],{"align":75},"数量级",[81,82,83,92,100,108],"tbody",{},[70,84,85,89],{},[86,87,88],"td",{"align":75},"一天的秒数",[86,90,91],{"align":75},"≈ 86400 ≈ 10⁵",[70,93,94,97],{},[86,95,96],{"align":75},"一条文本记录",[86,98,99],{"align":75},"~ 100 B ~ 1 KB",[70,101,102,105],{},[86,103,104],{"align":75},"单机 QPS（缓存命中）",[86,106,107],{"align":75},"~ 万级",[70,109,110,113],{},[86,111,112],{"align":75},"单机存储",[86,114,115],{"align":75},"~ TB 级",[11,117,118],{},"比如「日活 1 亿、人均写 1 条」≈ 1 亿次\u002F天 ≈ 1000 写 QPS，读按 100:1 算就是 10 万读 QPS——一下就知道必须上缓存和读写分离。",[24,120,122],{"id":121},"第-3-步定义-api-与数据模型5-分钟","第 3 步：定义 API 与数据模型（5 分钟）",[11,124,125,126,130,131,134],{},"列出核心接口（",[127,128,129],"code",{},"POST \u002Fshorten","、",[127,132,133],{},"GET \u002F{code}","）和主要的表 \u002F 集合字段。这一步把抽象问题落到地，也为下一步的存储选型铺路。",[24,136,138],{"id":137},"第-4-步画高层架构15-分钟核心","第 4 步：画高层架构（15 分钟，核心）",[11,140,141],{},"从最简单的「客户端 → 负载均衡 → 服务 → 数据库」起步，再逐步加组件解决具体瓶颈：",[32,143,144,150,156,162,168],{},[35,145,146,149],{},[15,147,148],{},"缓存","（Redis）：扛读、降延迟，注意缓存穿透 \u002F 雪崩 \u002F 一致性",[35,151,152,155],{},[15,153,154],{},"消息队列","（Kafka）：削峰、解耦、异步化写入",[35,157,158,161],{},[15,159,160],{},"数据分片 \u002F 读写分离","：单库扛不住时怎么拆",[35,163,164,167],{},[15,165,166],{},"CDN \u002F 对象存储","：静态资源和大文件",[35,169,170,173],{},[15,171,172],{},"一致性哈希","：分片或缓存节点的均衡",[11,175,176],{},"每加一个组件，都要说清「为了解决哪个具体问题」，而不是堆术语。",[24,178,180],{"id":179},"第-5-步深挖与权衡10-分钟","第 5 步：深挖与权衡（10 分钟）",[11,182,183,184,187],{},"面试官通常会挑一个点深问。主动暴露你的取舍能力：SQL vs NoSQL、强一致 vs 最终一致、推模式 vs 拉模式（Feed 的经典抉择）。没有银弹，关键是讲清",[15,185,186],{},"为什么在这个场景选这个","。",[20,189,190],{"id":190},"高频考点速查",[32,192,193,199,205,211,217],{},[35,194,195,198],{},[15,196,197],{},"短链 \u002F 发号器","：哈希 vs 自增、Base62 编码、冲突处理",[35,200,201,204],{},[15,202,203],{},"Feed 流","：推（写扩散）vs 拉（读扩散）vs 推拉结合",[35,206,207,210],{},[15,208,209],{},"限流","：令牌桶 \u002F 漏桶 \u002F 滑动窗口",[35,212,213,216],{},[15,214,215],{},"唯一 ID","：Snowflake、号段模式",[35,218,219,222],{},[15,220,221],{},"秒杀 \u002F 高并发写","：库存预扣、队列削峰、防超卖",[20,224,225],{"id":225},"把框架练成肌肉记忆",[11,227,228,229,234],{},"系统设计的难点在于「临场组织」，而这只能靠开口练。建议找几道经典题，对着上面的五步框架计时讲一遍。一个人练容易自我感觉良好，把题目丢进快面的 ",[230,231,233],"a",{"href":232},"\u002Fdocs\u002Fmock-interview-start","AI 模拟面试","，让 AI 扮演面试官在关键处追问「为什么不用强一致」「缓存挂了怎么办」，更接近真实压力——讲完还能拿到一份结构化反馈，知道自己哪一步漏了。",[11,236,237],{},"记住：系统设计面试考的不是你背了多少架构，而是你能不能在不确定里，有条理地做出合理的权衡。",{"title":239,"searchDepth":240,"depth":240,"links":241},"",2,[242,250,251],{"id":22,"depth":240,"text":22,"children":243},[244,246,247,248,249],{"id":26,"depth":245,"text":27},3,{"id":58,"depth":245,"text":59},{"id":121,"depth":245,"text":122},{"id":137,"depth":245,"text":138},{"id":179,"depth":245,"text":180},{"id":190,"depth":240,"text":190},{"id":225,"depth":240,"text":225},"\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fsystem-design-prep\u002Fcover.webp","2026-06-16","系统设计面试没有标准答案，但有标准套路。一套从澄清需求到容量估算、再到核心组件与扩展性的答题框架，配上常见考点清单，帮你把 45 分钟讲得有条理。",false,"md",null,{},true,"\u002Fblog\u002Fzh-cn\u002Fsystem-design-prep",{"title":5,"description":254},"blog\u002Fzh-cn\u002Fsystem-design-prep\u002Findex",[],[265,266,267],"面试技巧","求职","模拟面试",914,"u9uuDLoQyB7DKxVL1SnWn4I6gyNTczD39yOc5PXoXGA",{"path":271},"\u002Fblog\u002Fen\u002Fsystem-design-prep",[273,280,286,293,299,305,312,319,325,333,340,348,355,362,369,376,383,385,391,398],{"path":274,"title":275,"description":276,"cover":277,"tags":278,"date":279},"\u002Fblog\u002Fzh-cn\u002Fask-raise-or-job-hop","公司不涨薪，跳槽还是主动提加薪？我谈崩一次反而看清了答案","先主动提加薪，再决定跳不跳：谈加薪的真正价值是用最低的成本探明公司对你的真实定价。怎么开口、领导三种回应怎么解读、什么信号说明别谈了直接跳——谈崩一次后的完整复盘。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fask-raise-or-job-hop\u002Fcover.webp",[266],"2026-07-09",{"path":281,"title":282,"description":283,"cover":284,"tags":285,"date":279},"\u002Fblog\u002Fzh-cn\u002Ftrial-work-dismissal","试岗期被辞退怎么办：先把这几天的工资拿回来，再谈别的","试岗期被辞退不是白干：「试岗」在劳动法里根本不存在，用工之日起就是劳动关系，干几天就有几天工资。附被辞退当天要做的三件事、证据清单和 12333、劳动仲裁的完整路径。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Ftrial-work-dismissal\u002Fcover.webp",[266],{"path":287,"title":288,"description":289,"cover":290,"tags":291,"date":292},"\u002Fblog\u002Fzh-cn\u002Finterview-dont-know-answer","面试被问到不会的问题怎么办：别硬编，我用三步把「不会」答成了加分项","面试被问到不懂的东西，硬编会被追问链拆穿，直接说不会又怕减分。承认边界、迁移已知、给出推理路径——三步话术把一道不会的题，答成展示学习能力的机会。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Finterview-dont-know-answer\u002Fcover.webp",[265,267],"2026-07-07",{"path":294,"title":295,"description":296,"cover":297,"tags":298,"date":292},"\u002Fblog\u002Fzh-cn\u002Fjob-hop-salary-increase","跳槽涨薪多少才合理：我谈崩过一次，才摸清行情和报价的门道","跳槽涨薪的常规区间是 20%–30%，但 2026 年的行情里 15%–25% 才是常态。从一次报价 50% 被拒的翻车，到用区间报价法拿到 28%——聊聊涨幅怎么定、数字怎么报、什么时候该接受低涨幅。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fjob-hop-salary-increase\u002Fcover.webp",[266,265],{"path":300,"title":301,"description":302,"cover":303,"tags":304,"date":292},"\u002Fblog\u002Fzh-cn\u002Fresign-reason-interview","离职原因怎么说才体面：面了 8 家之后，我总结出一个不踩雷的回答框架","面试被问离职原因，实话吐槽是雷，假话又容易被追问穿帮。客观契机 + 向前看的动机 + 和新公司的连接——一个三段式回答框架，附安全\u002F慎用\u002F禁区的素材分级表。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fresign-reason-interview\u002Fcover.webp",[265,266],{"path":306,"title":307,"description":308,"cover":309,"tags":310,"date":311},"\u002Fblog\u002Fzh-cn\u002Fbackground-check-guide","接到 offer 说要背调，慌不慌？我经历的一次完整背调","入职背调查什么、几天出结果、哪些红线碰不得？虚报薪资、篡改在职时间、隐瞒被辞退是三大 offer 取消雷区——一次真实背调的完整记录与实操建议。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fbackground-check-guide\u002Fcover.webp",[266],"2026-07-06",{"path":313,"title":314,"description":315,"cover":316,"tags":317,"date":311},"\u002Fblog\u002Fzh-cn\u002Fresume-gap-explain","简历上的空窗期，别撒谎也别道歉：陪朋友求职 14 个月空窗的复盘","简历有一两年空窗期怎么处理？三条原则：时间线绝不造假（背调一查就穿）、给空窗一个有产出的叙事、简历一行带过+面试 30 秒话术。真实陪跑复盘。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fresume-gap-explain\u002Fcover.webp",[318,266],"简历优化",{"path":320,"title":321,"description":322,"cover":323,"tags":324,"date":311},"\u002Fblog\u002Fzh-cn\u002Ftwo-offers-how-to-choose","手握两个 offer 反而失眠：我最后用一张打分表做了决定","两个 offer 怎么选？先删掉两个伪标准，再用五维加权打分表（业务生命周期\u002F直属 leader\u002F成长斜率\u002F通勤\u002F总包）做决定——我的真实决策复盘。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Ftwo-offers-how-to-choose\u002Fcover.webp",[266],{"path":326,"title":327,"description":328,"cover":329,"tags":330,"date":332},"\u002Fblog\u002Fzh-cn\u002Fai-interview-copilot-review-2026","三周面了 11 场之后，我把 4 款 AI 面试辅助工具都实测了一遍","远程视频面试实时辅助工具横评：快面、面试猫（Offermore）、面试狗、Final Round AI 实测对比，隐身性、音频捕获、模型语种、定价模式，分场景给结论。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fai-interview-copilot-review-2026\u002Fcover.webp",[331,266],"面试辅助","2026-07-03",{"path":334,"title":335,"description":336,"cover":337,"tags":338,"date":339},"\u002Fblog\u002Fzh-cn\u002Ffresh-grad-resume-no-internship","没有实习经历，应届生简历到底怎么写才不被刷","秋招投了 60 份没回音，我以为是没实习拖了后腿。后来才想明白，问题不在'没经历'，在不会把手里的东西写成'成果'。这篇把应届生没实习怎么挖料、怎么用 STAR 量化、怎么按 JD 定制讲透。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Ffresh-grad-resume-no-internship\u002Fcover.png",[318,266],"2026-07-02",{"path":341,"title":342,"description":343,"cover":344,"tags":345,"date":347},"\u002Fblog\u002Fzh-cn\u002Fhow-to-optimize-resume","如何用快面打造一份对得上目标岗位的简历","从零到导出，跟着这四步走一遍，你就能得到一份针对目标岗位优化过的简历。","\u002Fimages\u002Fproducts\u002Fresume\u002Feditor.webp",[318,346],"使用教程","2026-06-23",{"path":349,"title":350,"description":351,"cover":352,"tags":353,"date":354},"\u002Fblog\u002Fzh-cn\u002Fhow-to-mock-interview","如何用快面在正式面试前打一场逼真的模拟面试","选岗、开场、对话、复盘——跟着这三步走一遍，你就完成了一场带逐题复盘的模拟面试。","\u002Fimages\u002Fproducts\u002Fmock-interview\u002Fsetup.webp",[267,265,346],"2026-06-22",{"path":356,"title":357,"description":358,"cover":359,"tags":360,"date":361},"\u002Fblog\u002Fzh-cn\u002Fhow-to-interview-copilot","如何用快面在真实面试里实时获得答题辅助","下载客户端、选岗、挂起悬浮窗——跟着这三步，真面试时 AI 就坐在你身边。","\u002Fimages\u002Fproducts\u002Finterview-copilot\u002Fassist.webp",[331,265,346],"2026-06-21",{"path":363,"title":364,"description":365,"cover":366,"tags":367,"date":368},"\u002Fblog\u002Fzh-cn\u002Face-ai-interview","用 AI 面试辅助轻松拿下技术面试","实时屏幕共享、系统音频捕获、贴边悬浮提词——快面如何在真实面试中帮你稳定发挥。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Face-ai-interview\u002Fcover.webp",[265,331,266],"2026-06-20",{"path":370,"title":371,"description":372,"cover":373,"tags":374,"date":375},"\u002Fblog\u002Fzh-cn\u002Fhow-to-coding-copilot","如何用快面搞定在线笔试里不会做的代码题","截屏、看思路与代码、对照作答——跟着这三步，难题也能稳过数据量。","\u002Fimages\u002Fproducts\u002Fcoding-copilot\u002Fassist.webp",[331,346],"2026-06-19",{"path":377,"title":378,"description":379,"cover":380,"tags":381,"date":382},"\u002Fblog\u002Fzh-cn\u002Fstar-method-behavioral","行为面试 STAR 法则实战：把经历讲成有说服力的故事","面试官问「讲一个你解决冲突的例子」时，别再流水账。用 STAR 法则把经历拆成情境、任务、行动、结果，让每段回答都有结构、有数字、有说服力。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fstar-method-behavioral\u002Fcover.webp",[265,266,267],"2026-06-18",{"path":260,"title":5,"description":254,"cover":252,"tags":384,"date":253},[265,266,267],{"path":386,"title":387,"description":388,"cover":344,"tags":389,"date":390},"\u002Fblog\u002Fzh-cn\u002Fresume-ats-keywords","简历过 ATS：关键词与排版的实用清单","很多简历还没到 HR 眼前，就被 ATS（简历筛选系统）刷掉了。一份关于关键词匹配、排版避坑和格式选择的实用清单，帮你的简历先过机器这一关。",[318,266],"2026-06-14",{"path":392,"title":393,"description":394,"cover":395,"tags":396,"date":397},"\u002Fblog\u002Fzh-cn\u002Fremote-interview-setup","远程视频面试的设备与环境清单（含面试辅助怎么用得稳）","网络卡顿、收音糊、灯光暗、背景乱——远程面试翻车往往不是因为你不会，而是设备和环境没准备好。一份开播前的设备、网络、环境检查清单。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fremote-interview-setup\u002Fcover.webp",[265,331,266],"2026-06-12",{"path":399,"title":400,"description":401,"cover":402,"tags":403,"date":404},"\u002Fblog\u002Fzh-cn\u002Fsalary-negotiation","拿到 offer 后如何谈薪：节奏、话术与底线","谈薪不是贪心，而是把自己的价值谈到位。从什么时候开口、怎么报数字、如何回应「预算有限」，到守住底线，一套不伤关系又能加钱的谈薪节奏。","\u002Fcontent\u002Fblog\u002Fzh-cn\u002Fsalary-negotiation\u002Fcover.webp",[266],"2026-06-10",1783848899287]