主题
调试
这些题与问题库里的是同一批,这里按各自主要考察的能力分组。
34 道问题
A · 专业解题与实现32
- 知识问答助手的用户满意度下降,但离线检索指标没有变化。你会从哪些环节拆查这次退化?
- 写代码时,你通常怎样处理空值、空字符串、越界和非法输入?说一次你因为没做前置校验,在测试或线上出了问题的经历,你从中改变了什么习惯?
- 宏和代码生成经过多层展开后,编译错误只指向生成文件,使用者无法定位原始代码。你会怎样设计诊断信息?
- 两个任务单独运行都正常,一起运行时偶尔会卡死。死锁需要满足哪些条件,你会怎样确认是不是它?
- 一个长时间运行的进程内存持续增长,但没人能指出明显的泄漏。你怎样区分真正的泄漏、正常的缓存增长和内存碎片?
- 新增索引后查询变快了,但写入延迟和存储增长明显恶化。你会怎样判断索引是否值得保留?
- 你的接口本地测试正常,联调时前端同学坚持说接口报错或没返回数据。你会用哪些手段去定位,又怎样拿出让对方信服的证据?
- 缓存失效后,大量请求同时回源,服务恢复时又出现第二次流量尖峰。你会怎样定位并抑制缓存击穿与预热风暴?
- 线上偶尔出现同一订单被提交两次,你在本地无法复现。你会怎样缩小范围,并决定先止血还是先补观测?
- 一个接口从昨天开始变慢,但没有任何发布记录。给你日志、监控和数据库慢查询记录,你会按什么顺序排查?
- 把一个很大的前端包拆成多个小包以后,首屏反而更慢了。你会怀疑哪些原因,怎样验证?
- 缓存键已失效,应用日志显示重新读取数据库,但部分用户仍看到旧资料;切换到主库后问题减少却没有消失。你会怎样沿缓存、副本和客户端定位?
- 分片后总体容量充足,但少数租户的热点键仍持续超载。你会怎样重新评估分区策略?
- 框架允许界面在后台并发更新,但慢请求的旧结果偶尔覆盖新选择。你会怎样设计并发状态更新?
- 异步任务启动后,调用方立刻修改了传入对象,偶发结果因此变化。你会如何判断这是共享可变状态、复制语义还是所有权问题?
- 数据库字段变更完成后,只有部分下游任务间歇性失败。你会怎样找出仍在使用旧接口约定的消费者,并确定回滚还是兼容修复?
- 对账任务发现同一业务对象的事件时间顺序偶尔倒置,日志又分布在多个区域。你会如何判断是时钟偏差、异步延迟还是业务排序规则的问题?
- 月度汇总与明细报表最初一致,几周后差异逐渐扩大。你会如何把问题缩小到规则变更、迟到数据、重复处理或历史回补?
- 一个关键依赖只在某个区域间歇性超时,整体健康检查仍显示正常。你会如何判断影响面,并安全地隔离或临时关闭非核心功能?
- 消息积压经常在扩容后下降,几小时后又反弹。你会检查哪些生产者、消费者和消息特征,以判断真正瓶颈在哪里?
- 服务平均耗时基本不变,但最慢 1% 的请求连续一周变慢,投诉集中在少数大客户。你会如何定位问题并决定先验证什么?
- 一个关键完整流程测试偶尔失败,团队开始重跑直到通过。你会怎样确定它是否真实暴露产品风险,并改进测试流程?
- 一次跨时区交接期间,关键告警已发送,但原值班人以为新值班人会处理,新值班人又没有收到确认;故障因此延迟升级。你会怎样还原责任链,修复告警确认与交接机制,并验证改动有效?
- 一次下游抖动后,上游流量没有明显增加,但请求数和队列长度翻倍,多个服务开始超时。你会怎样判断是否出现重试放大?
- 用户反馈答案听起来合理,却漏掉文档中的关键限制条件。你会怎样定位问题发生在解析、切分、召回、排序还是生成阶段?
- 平均耗时稳定,但最慢 1% 请求的响应时间逐步变长,且不同租户差异明显。你会怎样区分排队、锁竞争、下游调用和资源隔离问题?
- 高峰时入口记录了请求,但下游没有对应事件,重试还会放大流量。你会如何沿着请求经过的服务逐段查找丢失和重复的位置?
- 服务刚发布时耗时正常,运行数小时后最慢 1% 请求逐步变慢,重启后暂时恢复;CPU 平稳,但连接数和堆内存缓慢增长。你会怎样拆解假设并设计低风险验证?
- 某功能在公司网络和多数家庭网络正常,但在特定运营商或弱网环境下请求经常超时;服务端错误率没有同步上升。你会如何定位客户端、网络路径、协议和重试策略之间的原因?
- 客户端只看到一次提交,但服务端偶尔出现两条相同记录;问题通常发生在请求超时后重试,且日志没有明显异常。你会如何重建调用时间线并验证重复写入发生在哪一层?
- 页面默认语言下布局正常,切换到另一种语言后少数按钮溢出、表格错位;错误只出现在窄屏和系统字体放大时。你会如何缩小问题范围并建立回归验证?
- 新安装设备正常,但升级过多个版本的用户报告本地草稿消失;问题无法稳定复现,服务端没有对应删除记录。你会如何保护现场并调查迁移、缓存清理和生命周期回调?
当前目标在这里暂无匹配题。 ·
C · 价值判断与方向规划1
当前目标在这里暂无匹配题。 ·
D · 交付执行与持续运营1
当前目标在这里暂无匹配题。 ·