5 年经验面试:数据团队的值班和故障响应机制怎么设计?

第 1129 题 约 2 分钟读完

本文目录
  1. 面试怎么回答
  2. 先定故障分级
  3. 值班怎么排
  4. 让值班的人处理得了
  5. 故障之后

面试怎么回答

我会先给任务和表分级,梳理核心链路和 SLA,再按影响定故障级别,比如核心报表中断或数据错误是 P1,15 分钟内响应、负责人到场;重要报表延迟是 P2,当天解决;非核心问题工作时间处理。值班每周一主一备,所有人轮流包括组长,值班期间少排开发任务,夜间只处理核心链路,并给调休或补贴。为了让值班的人处理得了,要有常见问题的运维手册,告警只发需要人处理的、带上负责人和手册链接,除了任务失败还监控核心表的产出时间、数据量和关键指标,并做自动重试、上游延迟等待这类自动化。P1、P2 都要复盘,定期统计告警和问题类型、平均恢复时间,持续治理最多的问题。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

数据团队最常见的状态是:每天早上业务方在群里问「报表怎么还没出」,然后所有人一起翻日志;半夜任务失败,只有最熟的那个人会被打电话叫醒。面试官问这道题,是想看你能不能把「靠人顶」变成「靠机制」。

先定故障分级

级别 例子 响应要求
P1 核心经营报表、对外数据服务中断或数据明显错误 15 分钟内响应,负责人到场,持续同步进展
P2 重要报表延迟超过 SLA,部分业务受影响 30 分钟内响应,当天解决
P3 非核心任务失败、个别数据问题 工作时间处理

分级的前提是先给任务和表分级:哪些是核心链路、SLA 是几点,要提前梳理清楚,打上标签。

值班怎么排

  • 轮值:每周一人主值班、一人后备,所有人轮流,包括组长;
  • 值班职责:处理告警和任务失败、回答业务方的数据问题、记录值班日志;值班期间少安排开发任务;
  • 夜间只处理核心链路:非核心任务失败可以早上再处理,避免频繁半夜被叫醒;
  • 给补偿:夜间和节假日值班有调休或补贴,否则机制难以长期维持。

让值班的人处理得了

  • 运维手册(Runbook):常见失败(资源不足、上游延迟、数据量异常、小文件过多)的排查和处理步骤;
  • 告警要准:只对需要人处理的问题发告警,告警信息带上任务、负责人、上下游、处理手册链接;告警太多会让人麻木;
  • 基线监控:不只看任务是否失败,还要看核心表是否按时产出、数据量和关键指标是否异常;
  • 自动化:上游延迟自动等待、失败自动重试一次、恢复后自动通知下游。

故障之后

  • P1、P2 都要复盘,记录时间线、根因和改进项;
  • 定期统计值班数据:告警数、哪类问题最多、平均恢复时间,针对性地治理。