主题
系统设计
这些题与问题库里的是同一批,这里按各自主要考察的能力分组。
88 道问题
本页为第 1–50 题,共 88 题。
A · 专业解题与实现49
- 一个生成式功能的回答质量不错,但高峰时延和单次成本都超过产品约定。你会如何判断问题出在模型、上下文、检索还是调用链?
- 公司要做一个内部知识问答助手,而文档权限会随人员变动。你会怎样让它既答得有依据,又不泄露不该看到的内容?
- 新增索引后查询变快了,但写入延迟和存储增长明显恶化。你会怎样判断索引是否值得保留?
- 用户请求依次调用四个下游,每个服务都使用完整的 2 秒超时,导致整体尾延迟很高,客户端还会在响应失效后继续计算。你会如何传递截止时间和预算?
- 分片后总体容量充足,但少数租户的热点键仍持续超载。你会怎样重新评估分区策略?
- 老系统持续叠加新业务,代码越来越难维护。你会如何在新旧系统之间建立适配边界,避免旧规则和数据模型渗入新业务?请说明迁移步骤,以及必须接受的妥协和风险。
- 说一次架构升级。为什么当时必须升级,而不是继续修补?迁移中遇到了哪些挑战,怎样保证业务不中断,最后收益是否兑现?
- 一项能力,你怎样决定是自研、采用开源,还是购买?自研和开源在成本、可控性、维护和风险上分别有什么差异,什么时候该从一种换成另一种?
- 你所在的技术方向,行业正在怎样发展?你的方案是在适配这个趋势,还是在逆着它走?
- 这个项目带来了哪些技术上的收益?你怎样衡量它们,又为此付出了什么复杂度和维护成本?
- 用户在一个子应用完成登录后,切换到另一个应用却丢失权限或会话状态。你会如何设计认证上下文的共享边界?
- 一个子应用发布“订单已完成”事件,其他模块各自解释不同,导致重复请求和页面状态分叉。你会怎样定义跨应用事件接口约定?
- 用户报告跨子应用跳转后页面空白,但各团队监控都没有异常。你会怎样补齐日志、指标和调用链,让团队可以跟踪用户从跳转到页面加载的完整过程?
- 独立开发的子应用集成后出现样式覆盖、主题不一致和弹层被裁剪,你会如何选择样式隔离策略?
- 多个前端模块都能独立构建,但上线仍必须同步协调。你会用什么证据判断它们是否真正具备独立交付边界?
- 一个大型前端难以并行交付,但一次性拆成多个子应用风险很高。你会怎样规划渐进迁移并判断每一步有效?
- 一个子应用启动异常会阻塞整个工作台,用户无法访问其他模块。你会怎样隔离故障,并在必要时关闭非核心功能、保住其他模块?
- 多个子应用依赖不同版本的 React 和组件库,重复下载与运行时冲突同时出现,你会怎样治理共享依赖?
- 多个子应用共享浏览器地址栏,浏览器前进后退、深链和登录重定向行为不一致。你会怎样定义路由接口约定?
- 两个服务都直接写同一张业务表,短期内不能停机改造,你会怎样逐步建立单一数据所有者?
- 订单已成功更新,但跨服务报表数分钟后才反映变化,产品要求展示“实时状态”。你会怎样定义并实现一致性预期?
- 跨服务流程包含扣款、库存预留和发货。后续步骤失败时,你会怎样确定哪些操作可以补偿、哪些难以撤回?
- 故障在服务交界处反复发生,每个团队都能证明自己的服务健康,但无人负责完整流程恢复。你会怎样修复责任链?
- 多个服务由不同团队维护,但一次小改动常需要三四个团队同步发布,你会怎样判断服务边界是否失效?
- 新接入的外部服务会接触用户数据并触发内部操作,你会怎样做轻量但有效的威胁建模?
- 一个大型运营后台的权限系统应该怎样设计?角色、数据范围、审批和审计怎样组织,权限越来越多时怎样不失控?
- 怎样设计一个文章编辑和发布系统?草稿、审核、定时发布、多渠道分发和事后修改,状态和数据应该怎样组织?
- 付款后发券原本是同步执行,现在要改成异步队列加重试。请审查这个改动:你最担心哪些失败过程,上线前要演练什么?
- 一段视频从文件或网络到画面和声音播放出来,中间经历了哪些环节?解码、音画同步、卡顿和硬件加速分别怎样影响体验?
- 怎样设计一个音频或视频的在线编辑器?时间线、素材、非破坏性编辑、预览和最终导出,各自应该怎样设计?
- 怎样设计一个让运营自己搭建活动和玩法的平台?活动、玩法、规则和特征怎样抽象成可配置的组件,又怎样保证配置上线后的正确性?
- 在画任何架构图之前,你会用哪几个数字来判断一个服务要不要拆分、要不要加缓存?请用一个你熟悉的服务来说明。
- 怎样设计一个多人实时协同编辑的文档系统?多人同时修改同一段文字时,怎样保证最终一致,离线编辑后又怎样合并?
- 从工程角度,你怎样估算一个系统的整体成本?存储、计算资源这些成本分别怎么算,哪些会随规模线性增长,哪些不会?
- 业务要在多个国家和地区运营,用户数据要跨境流动。你怎样在系统和流程上解决数据合规,遇到规则不明确的灰色地带时,你怎么判断和决策?
- 本地数据库已更新,但缓存同步或下游消息发送失败。你会如何确保状态最终一致,并设计重试、补偿或人工处理?
- 明年大促或业务出海,预期增长五倍。从你现在的系统架构出发,你怎样检查网关、核心请求流程、存储和机器资源中的瓶颈?你打算分几个阶段、投入多少人力提前准备,又怎样验证判断?
- 怎样设计一个人和 AI 一起写作的产品?AI 的修改怎样呈现给用户、怎样接受或拒绝,人和 AI 同时编辑时怎样处理冲突?
- 怎样设计一个沉浸式的音视频信息流,让上下滑动时几乎没有等待?预加载、播放器复用、内存和流量怎样平衡?
- 请设计一个支持大文件上传的产品能力。你会先澄清哪些约束,再怎样逐层展开?
- 怎样设计一个大模型对话系统?流式输出、多轮上下文、历史记录、中断和重试分别怎么处理,成本和延迟怎么控制?
- 一个推荐系统的各项成本是怎么构成的,包括召回、排序、特征服务、存储和实验?你会怎样在效果和成本之间取舍?
- 怎样设计一个邀请裂变类的营销活动?邀请关系、奖励发放、防刷和效果评估分别怎样设计?
- 要做一个类似 Doc、PPT 或 PS 的在线编辑器,核心的数据模型和渲染怎么设计?撤销重做、选区和大文件的性能分别怎么处理?
- 怎样设计一个实时的风控系统?规则、特征、模型和人工审核怎样配合,误杀和漏放之间怎样取舍?
- 怎样设计一个搜索系统?索引、召回、排序怎样分工,中文分词和特征怎样构造,怎样评估搜索的好坏?
- 流媒体的加载和请求策略应该怎么设计,才能既起播快又不卡?分片、码率自适应、预加载和缓存之间怎样取舍?
- 讲一个你做过的项目:当时为什么选这个技术方案,而不是别的?这个决定是怎么做出来的,利弊分别是什么?
- 在交易系统里,优惠券、满减和秒杀应该怎样接入,才不会拖慢核心交易流程?优惠怎样计算、叠加和对账?
当前目标在这里暂无匹配题。 ·
B · 业务理解与领域建模1
当前目标在这里暂无匹配题。 ·