A · 专业解题与实现
工程体系
构建、发布、仓库协作与质量保障等工程基础设施。
分类边界
收录: 收录构建、发布、仓库、开发环境和工程协作基础设施。
相邻分类判断: 题目主要考察测试策略或防护控制时归质量、安全与防护;系统运行架构归系统设计。
这项能力可能会在不同阶段标准中以不同深度出现。 查看阶段要求
49 道问题
按需要了解的证据选择分组。分组依据现有题型,不代表难度或必经顺序。每批最多八题。
概念与边界1
先检视概念、假设和适用条件是否清楚。
第 1–1 题
判断与方案47
比较目标、约束、方案与取舍依据。
第 1–8 题
- 值班人员每天收到大量告警,但用户投诉和服务目标违约仍会漏报。你会如何重新整理告警?
- 老系统持续叠加新业务,代码越来越难维护。你会如何在新旧系统之间建立适配边界,避免旧规则和数据模型渗入新业务?请说明迁移步骤,以及必须接受的妥协和风险。
- 说一次架构升级。为什么当时必须升级,而不是继续修补?迁移中遇到了哪些挑战,怎样保证业务不中断,最后收益是否兑现?
- 一项能力,你怎样决定是自研、采用开源,还是购买?自研和开源在成本、可控性、维护和风险上分别有什么差异,什么时候该从一种换成另一种?
- 仓库允许外部贡献者提交代码,自动检查与构建流程会读取测试凭证并构建发布包。你会怎样检查流水线中的信任边界和凭证暴露风险?
- 云成本连续上升,财务要求削减开支;与此同时,团队正处于可靠性改善阶段。你会怎样找出可削减成本且不转嫁风险的方案?
- 技术债怎样识别、记录,并在不停下业务交付的前提下还掉?哪些债值得还,哪些可以一直留着,你怎么判断?
- 你的方案依赖一个底层服务或库。如果它发生重大变化,你会怎样迁移、回退到保留核心功能的方案,或替换它?
当前目标在这里暂无匹配题。 ·
第 9–16 题
- 一次故障还没有找到根因,但业务方要求你给出恢复时间。你会如何更新进展、表达不确定性并避免承诺误导?
- 你所在的技术方向,行业正在怎样发展?你的方案是在适配这个趋势,还是在逆着它走?
- 生产环境中的部分资源与代码声明不一致,其中一些差异来自未记录的紧急手工修复。你会怎样区分有意变更与无法解释的配置差异,评估覆盖风险,恢复可信状态并减少复发?
- 一次发布需要覆盖数千个运行节点,但节点版本和网络状态并不一致。你会怎样设计分批发布、健康验证和暂停条件?
- 一次发布后出现问题,团队说“我们可以回滚”。你会怎样检验这句话是真的,而不只是方案里写了回滚?
- 公司的多个前端项目分散在不同仓库,有人提议合并成 monorepo。你会怎样判断该不该做,又怎样分步验证?
- 应用发布可以回滚,但数据库迁移已经删除旧字段,旧版本因此无法启动。你会怎样重新设计发布顺序和回退策略?
- 这个项目带来了哪些技术上的收益?你怎样衡量它们,又为此付出了什么复杂度和维护成本?
当前目标在这里暂无匹配题。 ·
第 17–24 题
- 升级前端框架后没有编译错误,但渲染时机、默认缓存或副作用顺序改变。你会怎样验证升级不会改变产品行为?
- 用户在一个子应用完成登录后,切换到另一个应用却丢失权限或会话状态。你会如何设计认证上下文的共享边界?
- 一个子应用发布“订单已完成”事件,其他模块各自解释不同,导致重复请求和页面状态分叉。你会怎样定义跨应用事件接口约定?
- 用户报告跨子应用跳转后页面空白,但各团队监控都没有异常。你会怎样补齐日志、指标和调用链,让团队可以跟踪用户从跳转到页面加载的完整过程?
- 独立开发的子应用集成后出现样式覆盖、主题不一致和弹层被裁剪,你会如何选择样式隔离策略?
- 多个前端模块都能独立构建,但上线仍必须同步协调。你会用什么证据判断它们是否真正具备独立交付边界?
- 一个大型前端难以并行交付,但一次性拆成多个子应用风险很高。你会怎样规划渐进迁移并判断每一步有效?
- 一个子应用启动异常会阻塞整个工作台,用户无法访问其他模块。你会怎样隔离故障,并在必要时关闭非核心功能、保住其他模块?
当前目标在这里暂无匹配题。 ·
第 25–32 题
- 多个子应用依赖不同版本的 React 和组件库,重复下载与运行时冲突同时出现,你会怎样治理共享依赖?
- 多个子应用共享浏览器地址栏,浏览器前进后退、深链和登录重定向行为不一致。你会怎样定义路由接口约定?
- 代码改动后,构建系统有时漏掉受影响应用,有时又重建整个仓库。你会怎样验证依赖图和缓存失效规则?
- 一个仓库包含多个团队和生产部署配置,代码所有者规则无法覆盖临时管理员和自动化账号。你会怎样审视权限与审查边界?
- 两个产品包形成依赖环,拆分后又需要共享领域类型。你会怎样调整边界,避免用新公共包掩盖循环?
- 团队决定把一个大型仓库拆成多个仓库,但代码历史、自动检查与构建流程、包发布和代码所有权都有关联。你会怎样安排迁移顺序?
- monorepo 中公共包经常由某个团队顺手修改,使用方却在升级后才发现行为变化。你会怎样建立包所有权与兼容接口约定?
- 不同包发布节奏差异很大,但共享版本号让无关团队被迫同步发版。你会怎样设计版本与发布策略?
当前目标在这里暂无匹配题。 ·
第 33–40 题
- 仓库有数百个包,完整自动检查与构建耗时很长,团队准备只测试受变更影响的部分。你会怎样证明选择性测试没有漏掉关键依赖?
- 构建仓库需要清理多年积累的镜像,但线上仍有服务依赖旧版本回滚。你会如何确定保留策略和制品可恢复要求?
- 组织要把多个仓库从旧的自动构建与检查平台迁到新平台,但团队不能同时停下交付。你会怎样分批迁移,并判断哪些仓库可以进入下一批?
- 客户端需要上传大文件,但系统可能随时暂停或终止后台任务。你会如何拆分任务、保存进度并保证重复调度不会破坏结果?
- 数百个仓库都锁定了不同版本的第三方依赖,安全团队发现高危漏洞时很难知道影响范围。你会怎样建立依赖更新和风险处置机制?
- 一个缺陷只在线上出现,开发和预发环境都无法复现。你会如何判断问题来自环境差异、流量形态还是数据特征,并改进环境设计?
- 多个团队共享仓库却有不同发布节奏,公共包变更经常阻塞无关团队。你会如何设计边界、影响分析和发布约定?
- 同一版本在不同集群表现不同,配置变更又没有完整审计。你会如何建立配置来源、差异检测和回滚能力?
当前目标在这里暂无匹配题。 ·
第 41–47 题
- 多个团队复制共享组件并增加自有变体,产品体验逐渐不一致。你会如何判断哪些差异应进入共享设计系统,哪些应保留为团队特例?怎样让团队参与规则维护?
- 一个共享库发布了向后兼容的版本,但多个应用仓库因依赖锁定、生成代码或发布窗口不同,无法及时升级;安全修复因此被长期阻塞。你会如何设计兼容策略和依赖升级流程?
- 一个功能已全量发布,但多年未清理的开关仍控制多个代码分支;团队不清楚哪些开关可删除,回滚时也依赖人工记忆。你会如何建立开关生命周期和清理责任?
- 多个团队可独立发布微前端模块,但页面加载、导航、错误提示和无障碍行为开始不一致。你会如何决定哪些能力由平台统一、哪些留给业务团队?
- 后端 API 同时生成 TypeScript、Java 和 Swift SDK,各语言的可空类型、枚举和错误模型逐渐不一致。你会如何设计接口约定源、生成流程和跨语言兼容测试?
- 生产环境发现一个依赖包与仓库标签对应的构建产物校验值不一致,团队无法确认来源是否经过预期的自动检查与构建流程。你会如何建立构建追溯、制品校验和发布授权?
- 新客户端已切到新版 API,但用户长期不升级,旧版本仍占有明显流量;继续兼容又限制服务端演进。你会如何确定支持窗口、能力探测、迁移提醒和停止服务的条件?
当前目标在这里暂无匹配题。 ·
实现与验证1
检视方案如何执行、验证和纠偏。
第 1–1 题
当前目标在这项能力中暂无匹配题。 ·