拿下技术面上传简历

线上一个服务 QPS 约 5000,某核心接口 P99 约 200ms。存在一个约万分之一概率的数据不一致问题,平均每天出现 3~5 次,本地和压测环境都复现不出来,下一次上线窗口在一周后。现在要在生产现场抓这个问题的证据。请具体说明:你会用日志还是断点(或动态追踪)?日志打在哪一层、打哪些字段、如何控制采样?如果在 5000 QPS 的进程上挂一个阻塞式断点,会造成什么后果,你用什么手段规避?

代码能力与调试排障调试排障3-5 年知识点 1 个

面试官在考什么

判断候选人是否理解生产环境取证的成本约束,能否在“日志量/性能开销/可复现性”三者间做具体取舍,而不是只会说“加日志”或“打断点看看”。

日志与断点

回答框架 · 前两步

  1. 优先用可热开启、可条件过滤、可自动关闭的动态追踪或条件日志,而不是 IDE 远程调试式的阻塞断点;阻塞断点会挂起线程,5000 QPS 下几十秒就能堆积数万请求,触发上游超时、线程池或连接池耗尽。
  2. 日志要带 traceId / correlation id 与关键状态快照,采用结构化日志,打在状态变更的入口和出口,形成可还原的因果链;注意异步线程、回调、线程池切换时上下文传递丢失的问题。

还有 3 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

同一能力域的其他题