查看: 474| 回复: 2
跳转到指定楼层
上一主题 下一主题
收起左侧

Oncall Routing 到底在考什么?把我整理到的思路拆一下

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
之前整理 OpenAI 面经的时候,oncall routing 这道出现频率不算低,前两天还有人在我的帖子下面问这道到底考什么。把我记下来的笔记发出来,大家有出入欢迎纠正。先说清楚,我没面过,这就是整理公开面经记的笔记。
题面大概长这样
系统会收到 alerts,每个 alert 属于某个 service,带 severity。要你把 alert 分给对的 oncall,该通知谁、通知不到怎么办,都要设计出来。形式有 coding 也有设计讨论,核心是同一套东西。
我拆下来的几个点
先定数据
  • service 和 team 的映射:一个 alert 先要知道归哪个 team 管
  • oncall schedule:每个 team 谁在值班,rotation 怎么排,时区怎么算
  • alert 本身:service、severity、时间、内容
匹配逻辑
  • 按 service 找到 team,再按当前时间找到正在值班的人
  • severity 高的走更快的通道(直接打电话?),低的可以只发消息攒着
没人理怎么办
  • 发出去之后一段时间没人 ack,就 escalate 到下一个人或者 backup
  • 升级链要提前定好,不能临时现找
防打扰
  • 同一个问题短时间内来一堆 alert,要能合并/dedup,不然 oncall 直接被刷爆
  • 已经有人在处理了,后续相同的 alert 就不要重复通知全组
容易被追问的地方
  • 值班的人请假或者交接中间有空档怎么办
  • alert 风暴:一晚上来几百条,怎么分组、怎么排序
  • 怎么记录谁处理过、处理了多久,后面复盘要用
  • 跨时区 team 怎么交接
我的理解是这道题考的不是某个算法,而是你能不能把一个真实 oncall 系统里乱七八糟的情况都想全。写代码的话,schedule 查找和 escalation 这两块最容易写乱,建议先把数据结构定清楚再往下写。
面过这道的朋友欢迎补充,尤其是 coding 版本到底要求写到哪一步,我整理的时候这块信息最少。

评分

参与人数 1大米 +5 收起 理由
爱丽丝和鲍勃 + 5 祝楼主一切顺利!

查看全部评分


上一篇:Multi-part Practical Coding 怎么练:用 KV Store 和 Iterator 自测的五阶段框架
下一篇:OpenAI 系统设计题为什么总偏基础设施?四个高频题的拆解框架
全局:
coding版可以补一组竞态测试:同一incident的ack和升级timer换序各跑一遍,再把timer重复投递一次。状态变化时递增version,timer带上预期版本,只有状态仍为triggered且版本匹配,才原子更新升级级别并递增版本;ack先成功后旧timer应失效,重复timer也不能多升一级。通知重试和升级状态分开处理,别把状态更新成功当作通知一定送达。ack暂停升级,resolve才表示关闭;如果配置了ack超时,超时后还会恢复升级,PagerDuty文档也区分了这些行为:https://docs.pagerduty.com/incident-management/incidents/overview

评分

参与人数 1大米 +3 收起 理由
爱丽丝和鲍勃 + 3 谢谢分享!

查看全部评分

回复

使用道具 举报

🔗
 楼主| 苹果用户_spkrx 18 小时前 | 只看该作者
全局:
dan_chun 发表于 2026-10-31 15:17:12
coding版可以补一组竞态测试:同一incident的ack和升级timer换序各跑一遍,再把timer重复投递一次。状态变化时递增version,timer
这个点确实是最容易漏的,ack 和 timer 换序那组我之前没想到这么细。你说的 timer 带预期版本我记下了,感觉是防重复升级最干净的做法。想多问一句:如果同一个 alert 的 timer 被重复投递,你会直接按 alert id + version 去重,还是让版本校验本身来挡掉就行?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表