目录
1.线上问题处理原则
1.1 先恢复,再排查
1.2 先止损,再追责
1.3 保留现场,不盲目重启
1.4 日志第一,证据链完整
2. 接口超时排查
2.1 排查顺序(必背)
- 看日志(错误、堆栈、参数)
- 看SQL(慢查询、未加索引、锁等待)
- 看Redis(连接、缓存、超时)
- 看第三方(支付、平台、接口)
- 看锁(分布式锁、事务锁)
2.2 常见原因
- 慢SQL
- 缓存击穿
- 第三方超时
- 死锁
- 大事务
2.3 解决方案
- 加索引
- 加缓存
- 异步化
- 重试降级
- 分页优化
3. 内存泄漏排查
3.1 现象
- 内存持续上涨
- OOM自动重启
- 响应越来越慢
3.2 常见原因
- 连接未释放(DB/Redis/HTTP)
- 全局列表无限增长
- 缓存无过期
- 闭包/装饰器持有大对象
- 循环引用
3.3 解决方案
- 连接池
- 及时释放资源
- 限制缓存大小
- 定时清理
- 弱引用
4. 数据错乱排查
4.1 常见原因
- 并发更新
- 事务未控制
- 未加锁
- 边界未处理
- 第三方重复回调
4.2 解决方案
- 分布式锁
- 事务
- 乐观锁/版本号
- 幂等
- 状态机
5. 高负载/CPU飙升排查
5.1 排查
- 慢SQL
- 死循环
- 高频递归
- 大量正则
- 密集计算
5.2 解决
- 优化SQL
- 加缓存
- 异步
- 拆分任务
- 扩容
6. 线上标准处理SOP(面试满分回答)
- 保留现场(日志、截图、堆栈、参数)
- 紧急止损(回滚、降级、熔断、限流)
- 复现问题
- 定位根因
- 修复发布
- 观察验证
- 复盘预防
7. 面试高频扩展知识点
7.1 你遇到过最难的问题
基因报告生成错乱、支付掉单、接口超时、缓存击穿、数据不一致。
7.2 你如何排查
看日志 → 看SQL → 看缓存 → 看第三方 → 复现 → 修复 → 预防。
7.3 面试必背总结
我具备完整线上问题排查能力,能快速定位、快速恢复、可复盘、可预防,保证系统稳定运行。
评论区