Q1正确率 41%
线上接口 P99 突然从 80ms 涨到 900ms,你怎么排查?
我会按网关、应用、下游三层自顶向下排查。先看网关耗时确定范围,再比对近期发布、配置变更与流量突增点。接着看容器 CPU、GC 停顿与连接池状态,排查是否出现慢 SQL 或三方依赖超时。我曾在项目中通过链路追踪迅速定位到慢调用,降级后 P99 立即恢复。
解析
考点:故障定位方法论。高分答案要给出分层链路(网关→应用→中间件→下游)与变更优先原则,并说明用链路追踪与火焰图定位。常见失分:上来就猜数据库慢。
系统设计、高并发、Go/Rust 高频手写题,覆盖一面到三面全流程。
我会按网关、应用、下游三层自顶向下排查。先看网关耗时确定范围,再比对近期发布、配置变更与流量突增点。接着看容器 CPU、GC 停顿与连接池状态,排查是否出现慢 SQL 或三方依赖超时。我曾在项目中通过链路追踪迅速定位到慢调用,降级后 P99 立即恢复。
考点:故障定位方法论。高分答案要给出分层链路(网关→应用→中间件→下游)与变更优先原则,并说明用链路追踪与火焰图定位。常见失分:上来就猜数据库慢。
G 是协程,M 是系统线程,P 是调度上下文持有本地队列,通过工作窃取和系统调用解绑实现高效并发。泄漏通常用 pprof 抓取 goroutine 堆栈分析堆积点,常见诱因是向无缓冲 channel 发送数据无接收者,或是 context 未调用 cancel 导致子协程常驻阻塞。
考点:调度模型与内存排查。要讲清 P 的本地队列、工作窃取与 sysmon 抢占,泄漏排查落到 pprof goroutine 堆栈。常见失分:只背概念,说不出泄漏的三类典型成因。