使用场景
外部求职面试
这些题与问题库里的是同一批,这里按各自主要考察的能力分组。
1324 道问题
本页为第 51–100 题,共 1324 题。
A · 专业解题与实现50
- 老系统持续叠加新业务,代码越来越难维护。你会如何在新旧系统之间建立适配边界,避免旧规则和数据模型渗入新业务?请说明迁移步骤,以及必须接受的妥协和风险。
- 说一次架构升级。为什么当时必须升级,而不是继续修补?迁移中遇到了哪些挑战,怎样保证业务不中断,最后收益是否兑现?
- 一项能力,你怎样决定是自研、采用开源,还是购买?自研和开源在成本、可控性、维护和风险上分别有什么差异,什么时候该从一种换成另一种?
- 仓库允许外部贡献者提交代码,自动检查与构建流程会读取测试凭证并构建发布包。你会怎样检查流水线中的信任边界和凭证暴露风险?
- 云成本连续上升,财务要求削减开支;与此同时,团队正处于可靠性改善阶段。你会怎样找出可削减成本且不转嫁风险的方案?
- 一个长期凭证被多个服务共享,安全要求尽快轮换,但无法一次性停掉所有依赖方。你会怎样推进?
- 技术债怎样识别、记录,并在不停下业务交付的前提下还掉?哪些债值得还,哪些可以一直留着,你怎么判断?
- 你的方案依赖一个底层服务或库。如果它发生重大变化,你会怎样迁移、回退到保留核心功能的方案,或替换它?
- 一次故障还没有找到根因,但业务方要求你给出恢复时间。你会如何更新进展、表达不确定性并避免承诺误导?
- 你所在的技术方向,行业正在怎样发展?你的方案是在适配这个趋势,还是在逆着它走?
- 生产环境中的部分资源与代码声明不一致,其中一些差异来自未记录的紧急手工修复。你会怎样区分有意变更与无法解释的配置差异,评估覆盖风险,恢复可信状态并减少复发?
- 一次发布需要覆盖数千个运行节点,但节点版本和网络状态并不一致。你会怎样设计分批发布、健康验证和暂停条件?
- 一次发布后出现问题,团队说“我们可以回滚”。你会怎样检验这句话是真的,而不只是方案里写了回滚?
- 公司的多个前端项目分散在不同仓库,有人提议合并成 monorepo。你会怎样判断该不该做,又怎样分步验证?
- 应用发布可以回滚,但数据库迁移已经删除旧字段,旧版本因此无法启动。你会怎样重新设计发布顺序和回退策略?
- 这个项目带来了哪些技术上的收益?你怎样衡量它们,又为此付出了什么复杂度和维护成本?
- 你接手一个即将上线、测试覆盖率很低的模块,时间有限。你会怎样决定先补哪些测试,并向团队解释这个顺序?
- 框架允许界面在后台并发更新,但慢请求的旧结果偶尔覆盖新选择。你会怎样设计并发状态更新?
- 复杂表单同时有字段校验、跨字段规则和服务端错误,用户编辑时状态彼此覆盖。你会怎样划分框架状态与业务状态?
- 多个页面共用服务端数据,框架缓存减少请求,却在用户切换账号后暴露旧结果。你会怎样设计缓存键和失效边界?
- 升级前端框架后没有编译错误,但渲染时机、默认缓存或副作用顺序改变。你会怎样验证升级不会改变产品行为?
- 用户在一个子应用完成登录后,切换到另一个应用却丢失权限或会话状态。你会如何设计认证上下文的共享边界?
- 一个子应用发布“订单已完成”事件,其他模块各自解释不同,导致重复请求和页面状态分叉。你会怎样定义跨应用事件接口约定?
- 用户报告跨子应用跳转后页面空白,但各团队监控都没有异常。你会怎样补齐日志、指标和调用链,让团队可以跟踪用户从跳转到页面加载的完整过程?
- 独立开发的子应用集成后出现样式覆盖、主题不一致和弹层被裁剪,你会如何选择样式隔离策略?
- 多个前端模块都能独立构建,但上线仍必须同步协调。你会用什么证据判断它们是否真正具备独立交付边界?
- 一个大型前端难以并行交付,但一次性拆成多个子应用风险很高。你会怎样规划渐进迁移并判断每一步有效?
- 一个子应用启动异常会阻塞整个工作台,用户无法访问其他模块。你会怎样隔离故障,并在必要时关闭非核心功能、保住其他模块?
- 多个子应用依赖不同版本的 React 和组件库,重复下载与运行时冲突同时出现,你会怎样治理共享依赖?
- 多个子应用共享浏览器地址栏,浏览器前进后退、深链和登录重定向行为不一致。你会怎样定义路由接口约定?
- 两个服务都直接写同一张业务表,短期内不能停机改造,你会怎样逐步建立单一数据所有者?
- 订单已成功更新,但跨服务报表数分钟后才反映变化,产品要求展示“实时状态”。你会怎样定义并实现一致性预期?
- 跨服务流程包含扣款、库存预留和发货。后续步骤失败时,你会怎样确定哪些操作可以补偿、哪些难以撤回?
- 故障在服务交界处反复发生,每个团队都能证明自己的服务健康,但无人负责完整流程恢复。你会怎样修复责任链?
- 多个服务由不同团队维护,但一次小改动常需要三四个团队同步发布,你会怎样判断服务边界是否失效?
- 新功能增加了启动依赖,低端设备的冷启动明显变慢,但高端设备指标正常。你会怎样确定优化顺序?
- 用户离线编辑并排队了多条变更,恢复网络时登录令牌已过期,且部分请求可能已经被服务端处理。你会怎样设计重新登录、避免重复提交和冲突处理?
- 代码改动后,构建系统有时漏掉受影响应用,有时又重建整个仓库。你会怎样验证依赖图和缓存失效规则?
- 一个仓库包含多个团队和生产部署配置,代码所有者规则无法覆盖临时管理员和自动化账号。你会怎样审视权限与审查边界?
- 两个产品包形成依赖环,拆分后又需要共享领域类型。你会怎样调整边界,避免用新公共包掩盖循环?
- 团队决定把一个大型仓库拆成多个仓库,但代码历史、自动检查与构建流程、包发布和代码所有权都有关联。你会怎样安排迁移顺序?
- monorepo 中公共包经常由某个团队顺手修改,使用方却在升级后才发现行为变化。你会怎样建立包所有权与兼容接口约定?
- 不同包发布节奏差异很大,但共享版本号让无关团队被迫同步发版。你会怎样设计版本与发布策略?
- 仓库有数百个包,完整自动检查与构建耗时很长,团队准备只测试受变更影响的部分。你会怎样证明选择性测试没有漏掉关键依赖?
- 异步任务启动后,调用方立刻修改了传入对象,偶发结果因此变化。你会如何判断这是共享可变状态、复制语义还是所有权问题?
- 两个看起来相同的用户名在系统里却被判断为不同,或两个不同写法被误认为相同。你会怎样分析 Unicode 规范化与身份比较?
- 核心流程只通过鼠标测试通过,键盘或屏幕阅读器用户无法完成操作,你会怎样把无障碍要求纳入交付门禁?
- 一项跨多个页面和服务的关键用户流程经常回归,你会怎样确定自动化测试的边界和优先级?
- 用户要求删除个人数据,但部分记录进入了备份、分析仓库和下游系统,你会怎样设计可验证的删除流程?
- 一个广泛使用的依赖被披露存在高危漏洞,但升级可能带来兼容性问题,你会怎样安排处置顺序?
当前目标在这里暂无匹配题。 ·