linux-sre-handbook

02-场景设计题

设计题 1:设计一个健康检查系统

要求:监控 1000+ 服务实例的健康状态,支持 HTTP/TCP/自定义脚本检查。

考察点

回答框架

  1. 每个节点部署 Agent → 上报到中央 Server
  2. Server 使用时间轮 + 分区存储
  3. Prometheus + Blackbox Exporter 也是一种实现

设计题 2:设计一个限流系统

要求:支持 QPS 限流,支持多维度(接口/用户/IP),分布式支持。

考察点

设计题 3:设计发布系统

要求:支持灰度发布、回滚、发布暂停,100+ 微服务。

考察点

设计题 4:监控系统数据存储

要求:每秒 100 万数据点写入,保留 30 天,支持聚合查询。

考察点

场景模拟:线上故障

面试官:凌晨 2 点收到告警,核心 API 错误率 50%,你怎么办?

回答结构:
1. 确认告警 → 快速看监控面板 (1 min)
2. 判断影响 → 内部/外部用户? 全部/部分? (1 min)
3. 止损优先 → 回滚/切流/限流 (3 min)
4. 宣布事故 → IC 接管,拉人 (2 min)
5. 恢复后 → 根因分析 + 复盘

延伸阅读