# 1. 火焰图(Flame Graph)的真实生产应用 A 火焰图宽度代表单个函数调用的耗时 B 采样率越高越好,不会影响线上性能 C 火焰图只能用于 Java,其他语言无法生成 D 火焰图通过采样调用栈聚合展示 CPU 时间分布,解读看栈宽与深度,生产采样需低频短时并先经监控确认问题窗口 ✓ 正确答案
# 2. 慢日志(Slow Log)分析的工程方法 A 慢日志分析就是逐条人工阅读定位 B 慢日志只对数据库有用,应用层不需要 C 慢日志阈值越低越好,全量记录最科学 D 应规范化采集、按模式聚类并与系统指标对齐,以"频率 × 单次影响"排序改进项并回验闭环 ✓ 正确答案
# 3. 再现率低于 10% 的偶发故障应如何设计实验性复现条件 A 低概率故障只能靠运气复现 B 变量越多越好,应一次改变多个条件 C 复现实验不需要记录失败结果 D 通过强化条件扩大复现窗口、单变量正交实验收缩变量空间,无法复现时用现场捕获与统计关联收集证据 ✓ 正确答案
# 4. 第三方库的 Bug 排查应上溯到何种深度再决定绕行 A 任何第三方库 Bug 都必须追到内核层根因才能处置 B 遇到库的 Bug 一律立即换库 C 上溯到"能定位可行动根因"的深度即可,用影响面、可控性、升级前景等标准决策绕行,并配注释、监控与跟进 ✓ 正确答案 D 绕行之后不需要再关注上游修复
# 5. 偶发故障只在特定流量、数据或时刻出现时,如何用条件日志、采样与可复现实验逐步缩小变量范围? A 按流量、数据、时间、环境四维度分割变量,用条件日志与分层采样捕获现场,用单变量复现实验逐轮验证排除 ✓ 正确答案 B 偶发故障只能扩大日志范围全量记录慢慢找 C 采样策略会漏掉关键样本,应禁止采样 D 一轮实验可以同时改变多个维度加快收敛
# 6. 对新成员调试思路的 review 应聚焦在哪些思维断点 A 应聚焦跳过验证、证据不足、无终止条件等思维断点,用提问引导其补全"假设-验证"推理链 ✓ 正确答案 B review 时应直接告诉新成员正确答案,效率最高 C 调试能力主要靠天赋,review 无法提升 D 只要结果正确,过程断点无需关注
# 7. 阅读他人 RFC/PR 时识别'隐藏假设'的常见信号 A RFC 中未写的场景都是作者验证过的,无需质疑 B 绝对化表述、无出处的数字、省略的失败路径与类比迁移是隐藏假设的常见信号,应显式化并设计验证 ✓ 正确答案 C 隐藏假设只存在于外部开源 RFC,内部文档没有 D 识别隐藏假设只是挑毛病,没有实际价值
# 8. tcpdump 与 Wireshark 在分布式调试的真实使用 A tcpdump 负责抓包(过滤、环形缓冲、双侧观测),Wireshark 负责分析(跟踪流、重传统计、协议解码),用于定位超时、连接异常与协议不符 ✓ 正确答案 B 抓包只要在服务端一侧进行即可定位所有问题 C Wireshark 只能看明文 HTTP,无法解析其他协议 D 生产环境禁止抓包,只能靠日志推断
# 9. 系统化调试中二分定位、日志埋点与最小复现的适用场景、组合顺序与终止条件如何设定? A 三种方法应同时大量使用,越多越好 B 最小复现建实验场、二分定位收缩范围、埋点补证细节,按"先复现、再二分、埋点补证"组合,并设双向终止与止损换法规则 ✓ 正确答案 C 二分定位适合所有类型的问题 D 终止条件只会让排查半途而废,应避免设置
# 10. 调试从现象描述、假设生成到根因验证的循环中,如何用证据检验避免跳过验证直接下结论? A 按"现象-假设-验证-根因-修复-回验"分层推进,用可证伪预测、贴标签与证据链五环检查防止跳过验证 ✓ 正确答案 B 经验丰富的工程师可以直接跳过验证层凭经验修复 C 假设不需要可证伪的预测,只要能解释现象即可 D 修复后无需回验,日志正常即算完成
# 11. 面对海量源码与文档,如何带着 3 个具体问题做问题驱动式阅读并产出结论? A 源码阅读应从 README 开始按顺序读完全部代码 B 问题驱动只适合初学者,资深工程师不需要 C 阅读不需要产出物,读得多自然懂 D 带着真实、可回答、有产出的问题进入,按"入口-主线-求证"路径阅读,并用一页纸结论与最小实验固化成果 ✓ 正确答案
# 12. strace、ltrace、perf、eBPF 等工具在生产调试的真实使用 A 四个工具功能相同,任选其一即可 B eBPF 需要修改应用代码才能使用 C strace 可以全量长期跟踪线上进程,不影响性能 D 按问题层级选工具:IO/网络卡顿用 strace 或 eBPF、CPU 热点用 perf、调用行为用 ltrace,生产使用先评估侵入性与权限 ✓ 正确答案
# 13. 如何从入口函数、数据流与关键路径三个视角快速建立大型代码库的心智模型? A 读大型代码库应从最底层的工具类开始逐行阅读 B 三个视角互相冲突,只能选一个 C 心智模型只能靠长时间浸泡自然形成 D 入口函数建框架、数据流打通主链路、关键路径确定深读重点,三视角配合并用三张图沉淀心智模型 ✓ 正确答案
# 14. debugger、分布式 trace 与 profiler 分别适合哪类调试问题,如何组合定位跨层故障? A 调试工具可以随意选用,效果都一样 B 分布式 trace 只能看延迟,不能定位失败服务 C debugger 是生产环境定位问题的首选工具 D trace 定位跨服务范围、profiler 定位资源热点、debugger 定位逻辑问题,跨层故障按"收缩-深挖-交叉验证"组合 ✓ 正确答案
# 15. 复杂问题如何拆解成可验证的小块? A 按可独立验证、正交、由粗到细的原则,用链路、假设、依赖、维度等方法拆解,每块配验证标准与预期结果 ✓ 正确答案 B 大问题无法拆解,只能整体分析 C 拆得越细越好,无需考虑验证成本 D 拆解只适用于性能问题
# 16. 调试经验如何固化为团队工具与文档? A 优先沉淀高频、高损、难复现问题,能自动化做成工具、流程做成 playbook,并配 owner、版本与使用反馈闭环维护 ✓ 正确答案 B 所有调试经验都应该写成详细文档 C 沉淀物上线后不需要更新,一次写成就行 D 调试经验属于个人资产,不应沉淀给团队
# 17. 系统阅读的架构笔记、调用图与定期复盘如何沉淀为团队可复用知识资产? A 架构笔记只要写一次,系统演进后无需更新 B 调用图与代码脱节不影响使用价值 C 架构笔记沉淀设计意图、调用图沉淀关系导航、复盘沉淀演进记录,配统一索引与 owner 评审,以"减少重复问答"衡量复用价值 ✓ 正确答案 D 系统阅读产出物只对写作者本人有用