A · 专业解题与实现
系统设计
澄清需求与约束,设计组件、权衡容量与故障。
分类边界
收录: 收录澄清约束后设计组件、数据流、容量、故障与权衡的问题。
相邻分类判断: 具体实现代码归编码;测试策略、安全控制和可靠性门禁归质量、安全与防护。
这项能力可能会在不同阶段标准中以不同深度出现。 查看阶段要求
74 道问题
按需要了解的证据选择分组。分组依据现有题型,不代表难度或必经顺序。每批最多八题。
概念与边界1
先检视概念、假设和适用条件是否清楚。
第 1–1 题
当前目标在这里暂无匹配题。 ·
判断与方案72
比较目标、约束、方案与取舍依据。
第 1–8 题
- 用户更新账户设置后立即刷新,服务从只读副本读取到旧值。切主读会增加数据库负载,等待同步又可能超时。你会怎样设计一致性体验?
- 新字段需要补算数亿行历史数据,首轮脚本运行后线上锁等待和复制延迟都上升。你会怎样决定暂停、分批、限速或改用在线迁移?
- 服务把读请求切到副本后,写入成功的用户偶尔读不到刚才的修改。你会怎样界定并处理这种陈旧读取?
- 生产者日志显示事件已发布,Broker 也返回确认;消费者没有报错,但业务对象未变化。你会如何区分确认语义、处理失败的消息、过滤、反序列化和重复处理问题?
- 用户请求依次调用四个下游,每个服务都使用完整的 2 秒超时,导致整体尾延迟很高,客户端还会在响应失效后继续计算。你会如何传递截止时间和预算?
- 分片后总体容量充足,但少数租户的热点键仍持续超载。你会怎样重新评估分区策略?
- 两个服务都直接写同一张业务表,短期内不能停机改造,你会怎样逐步建立单一数据所有者?
- 订单已成功更新,但跨服务报表数分钟后才反映变化,产品要求展示“实时状态”。你会怎样定义并实现一致性预期?
当前目标在这里暂无匹配题。 ·
第 9–16 题
- 跨服务流程包含扣款、库存预留和发货。后续步骤失败时,你会怎样确定哪些操作可以补偿、哪些难以撤回?
- 故障在服务交界处反复发生,每个团队都能证明自己的服务健康,但无人负责完整流程恢复。你会怎样修复责任链?
- 多个服务由不同团队维护,但一次小改动常需要三四个团队同步发布,你会怎样判断服务边界是否失效?
- 新功能增加了启动依赖,低端设备的冷启动明显变慢,但高端设备指标正常。你会怎样确定优化顺序?
- 用户离线编辑并排队了多条变更,恢复网络时登录令牌已过期,且部分请求可能已经被服务端处理。你会怎样设计重新登录、避免重复提交和冲突处理?
- 系统用预签名 URL 让用户直接下载私有文件,链接可能被转发或长期留存。你会怎样设计授权与失效边界?
- 一个大型运营后台的权限系统应该怎样设计?角色、数据范围、审批和审计怎样组织,权限越来越多时怎样不失控?
- 怎样设计一个文章编辑和发布系统?草稿、审核、定时发布、多渠道分发和事后修改,状态和数据应该怎样组织?
当前目标在这里暂无匹配题。 ·
第 17–24 题
- 付款后发券原本是同步执行,现在要改成异步队列加重试。请审查这个改动:你最担心哪些失败过程,上线前要演练什么?
- 怎样设计一个音频或视频的在线编辑器?时间线、素材、非破坏性编辑、预览和最终导出,各自应该怎样设计?
- 怎样设计一个让运营自己搭建活动和玩法的平台?活动、玩法、规则和特征怎样抽象成可配置的组件,又怎样保证配置上线后的正确性?
- 怎样设计一个多人实时协同编辑的文档系统?多人同时修改同一段文字时,怎样保证最终一致,离线编辑后又怎样合并?
- 从工程角度,你怎样估算一个系统的整体成本?存储、计算资源这些成本分别怎么算,哪些会随规模线性增长,哪些不会?
- 业务要在多个国家和地区运营,用户数据要跨境流动。你怎样在系统和流程上解决数据合规,遇到规则不明确的灰色地带时,你怎么判断和决策?
- 本地数据库已更新,但缓存同步或下游消息发送失败。你会如何确保状态最终一致,并设计重试、补偿或人工处理?
- 明年大促或业务出海,预期增长五倍。从你现在的系统架构出发,你怎样检查网关、核心请求流程、存储和机器资源中的瓶颈?你打算分几个阶段、投入多少人力提前准备,又怎样验证判断?
当前目标在这里暂无匹配题。 ·
第 25–32 题
- 怎样设计一个人和 AI 一起写作的产品?AI 的修改怎样呈现给用户、怎样接受或拒绝,人和 AI 同时编辑时怎样处理冲突?
- 怎样设计一个沉浸式的音视频信息流,让上下滑动时几乎没有等待?预加载、播放器复用、内存和流量怎样平衡?
- 请设计一个支持大文件上传的产品能力。你会先澄清哪些约束,再怎样逐层展开?
- 怎样设计一个大模型对话系统?流式输出、多轮上下文、历史记录、中断和重试分别怎么处理,成本和延迟怎么控制?
- 一个推荐系统的各项成本是怎么构成的,包括召回、排序、特征服务、存储和实验?你会怎样在效果和成本之间取舍?
- 怎样设计一个邀请裂变类的营销活动?邀请关系、奖励发放、防刷和效果评估分别怎样设计?
- 要做一个类似 Doc、PPT 或 PS 的在线编辑器,核心的数据模型和渲染怎么设计?撤销重做、选区和大文件的性能分别怎么处理?
- 怎样设计一个实时的风控系统?规则、特征、模型和人工审核怎样配合,误杀和漏放之间怎样取舍?
当前目标在这里暂无匹配题。 ·
第 33–40 题
- 怎样设计一个搜索系统?索引、召回、排序怎样分工,中文分词和特征怎样构造,怎样评估搜索的好坏?
- 流媒体的加载和请求策略应该怎么设计,才能既起播快又不卡?分片、码率自适应、预加载和缓存之间怎样取舍?
- 讲一个你做过的项目:当时为什么选这个技术方案,而不是别的?这个决定是怎么做出来的,利弊分别是什么?
- 在交易系统里,优惠券、满减和秒杀应该怎样接入,才不会拖慢核心交易流程?优惠怎样计算、叠加和对账?
- 管理后台需要保留不可随意修改的操作记录,既支持按操作者和对象查询,也要应对数据量逐年增长。你会怎样设计写入、索引和保留策略?
- 消费者处理速度低于生产者,消息队列持续增长,但上游仍显示请求成功。你会怎样确定控制上游发送速度应作用在哪一层,并保护系统恢复能力?
- 支付创建接口需要支持安全重试。你会怎样定义防止重复扣款的请求标识,包括它的作用范围、保存期限和冲突处理规则?
- 订单写入数据库后需要发布事件给下游;进程可能在任一步骤崩溃。你会怎样设计持久化发布机制,并说明如何处理重复与顺序?
当前目标在这里暂无匹配题。 ·
第 41–48 题
- 管理后台按创建时间翻页时,新增和删除会让用户看到重复或漏项。你会比较 offset 与游标分页,并定义何种一致性预期?
- 一个 API 部署在多个实例后,单机请求限制使总额度随实例数增加。你会根据突发容忍度、精度和故障策略设计请求速率限制,并说明状态放在哪里?
- 用户通过外部链接直接打开需要登录的订单详情页。你会怎样设计路由解析、登录回跳和权限校验,避免深链绕过应用内流程?
- 设计一个供多个业务团队提交“在某个时间之后执行”的任务服务,任务可能被取消、改期或重复提交。你会怎样划分数据模型和执行组件?
- 多个服务在请求路径中读取功能开关和分群规则。如何设计控制面与本地求值,让控制服务故障时线上行为仍然可预期?
- 加入鉴权、日志和异常处理中间件后,部分错误没有 trace id,且未授权请求仍触发昂贵的解析逻辑。你会如何分析执行顺序并重新安排边界?
- 一个高流量服务需要把关键表从旧结构迁移到新模型,期间不能暂停读写。你会怎样组织迁移阶段并验证切换安全?
- 一个多人协作工具需要展示成员在线状态和正在编辑的位置;短暂延迟可以接受,但离线成员不能长期显示为在线。你会怎样设计状态更新和过期机制?
当前目标在这里暂无匹配题。 ·
第 49–56 题
- 产品要向数千万用户发送事务通知和可选营销通知,用户可以随时调整渠道偏好。你会如何设计通知发送流程?
- 一个全球服务需要按地区启用不同功能和数据保留规则,同时总部仍要观察整体运行情况。你会怎样划分配置、执行和汇总边界?
- 一个搜索服务需要调整分词和排序特征,同时不能让重建过程造成长时间结果缺失或明显增加写入延迟。你会怎样安排索引演进?
- 一个订阅产品有试用、续费、宽限期、退款和家庭共享。如何设计权益判定,使多个业务服务读取到一致且可追溯的结果?
- 一个按用量计费的 API 产品需要把不同地区的请求事件汇总成客户账单,并允许事后纠错。你会如何设计计量数据处理流程?
- 一个多租户平台要向客户系统发送事件通知(Webhook)。你会如何设计发送和重试流程,并处理客户端长期不可用的情况?
- 多个客户共享异步作业平台,有的租户会提交大量长任务。你会怎样设计调度、隔离、配额,以及用日志、指标和调用记录了解队列运行情况?
- 某些对象成为热点,读取延迟恶化而写入又必须保持顺序。你会怎样划分缓存、分区和写入协调策略?
当前目标在这里暂无匹配题。 ·
第 57–64 题
- 业务要求追溯每次状态变化,并在必要时安全地重新处理历史消息;但部分旧事件格式不完整。你会怎样设计事件版本、保留期限和重新处理范围?
- 跨区域服务需要在区域故障时维持关键功能,但部分数据不能接受冲突覆盖。你会怎样选择故障期间保留哪些功能、如何复制数据,以及如何恢复?
- 实时协作服务有大量长连接,慢客户端会积压更新。你会如何选择丢弃、合并、限制慢客户端接收和重新同步策略?
- 创建、编辑和审核由不同团队负责,表单反馈逐渐不一致。你会如何决定哪些模式统一、哪些保留差异?怎样检查加载、空白、错误和恢复状态?
- 用户可在手机离线修改资料,同时也可能在网页端编辑;设备恢复联网后必须同步,且不能静默覆盖有价值的更改。你会如何设计版本、冲突检测、合并和用户确认机制?
- 一个入口服务同时调用多个下游,其中一个非核心依赖偶尔变慢,导致请求线程耗尽并拖累其他功能。你会如何设计超时、并发隔离、必要时关闭非核心功能和恢复策略?
- 移动端上传大文件时网络可能中断,用户会重复点击重试;系统还按成功处理量计费。你会如何设计分片、校验、续传状态、最终提交和计费时点?
- 一次业务规则修正要求重算多个服务产生的历史记录,但部分消费者已经发送通知或执行外部动作。你会如何列出影响范围,决定哪些历史数据需要重新处理,并防止重复触发外部操作?
当前目标在这里暂无匹配题。 ·
第 65–72 题
- 某依赖服务变慢后,多个调用方同时增加重试,流量反而翻倍并使故障范围扩大。你会如何设计重试预算、退避、抖动和跨服务协调?
- 线上索引需要改变分片键,数据量增长很快且写入不能停止。你会如何规划新旧索引并判断何时切换?
- 多租户查询平台使用共享数据库连接池,某个租户提交大量复杂报表后,其他租户请求延迟明显增加。你会如何隔离和计量?
- 某管理接口能批量改变客户状态,原本只供人工使用,后来被自动化脚本直接调用并造成大范围变更。你会如何重新设计权限和操作保护?
- 用户启动大型数据导出后断开连接,期间其访问权限又被收回。任务需要能续传,但不能继续泄露已无权访问的数据。你会如何设计?
- 产品信息同时存在于应用缓存、CDN 和客户端缓存,价格更新后不同用户看到不同值。你会怎样定义刷新、版本和失效语义?
- 实时仪表盘使用事件时间窗口,财务日报按结算时间汇总并排除未结账交易。负责人认为其中一个报表一定错了。你会怎样解释并治理?
- 每个读请求都写审计日志,成本迅速增加;合规团队又要求保留敏感操作证据。你会如何设计采集和保留分层?
当前目标在这里暂无匹配题。 ·
实现与验证1
检视方案如何执行、验证和纠偏。
第 1–1 题
当前目标在这里暂无匹配题。 ·
当前目标在这项能力中暂无匹配题。 ·