# 1. SLO 设计方法论中从用户旅程出发定义 SLI(可用性/延迟/吞吐量/质量)、错误预算计算与多窗口燃烧率 A 错误预算等于 1 减去 SLO 目标值,代表系统允许失效的时间比例 ✓ 正确答案 B 内部指标(如 CPU 使用率)应作为 SLI 首选,因为它们最稳定 C 错误预算一旦耗尽就必须立即发布新版本 D 燃烧率告警只用一个长时间窗口即可,窗口越多越冗余
# 2. SLO 评审与业务方对齐流程 A 评审的目标是让业务方理解可靠性目标对应成本,并作为契约签订 ✓ 正确答案 B SLO 只需由研发团队单方面确定,无需业务参与 C SLO 一旦确定就永不修改 D 评审只需要关注延迟,其他指标无关紧要
# 3. SLO-as-code 工具链(OpenSLO/Sloth/Nobl9/Grafana SLO) A OpenSLO 是商业收费的 SLO 平台 B Sloth 从 YAML 生成 Prometheus 录制规则与告警规则,适合 Prometheus 生态 ✓ 正确答案 C Grafana SLO 只能用于 AWS 云 D SLO-as-code 无法实现版本管理
# 4. 基于延迟分位数(P50/P90/P95/P99)的 SLI 如何设定与解读? A P50 代表所有请求中最快的请求延迟 B 分位数越高表示系统越慢,因此应选择尽可能低的分位数 C 平均延迟比 P99 更能反映长尾体验 D P99 与 P50 差距大通常说明存在长尾问题,需要重点排查 ✓ 正确答案
# 5. 基于请求成功率的 SLO 如何设计,即成功口径、统计窗口与目标值如何确定? A 成功口径只按 HTTP 状态码判断,4xx 也计入失败 B 超时请求即使返回 200 也应视为失败,因为用户已放弃等待 ✓ 正确答案 C 滚动窗口与日历窗口没有任何区别 D 目标值可以直接拍脑袋定为 99.999% 以确保高可用
# 6. 多地域部署下,如何为每个 region 独立定义与监控 SLO? A 所有 region 应共用同一个 SLO 定义,无需区分 B region 标签对监控没有帮助 C 全局 SLO 只能用最差 region 计算,不能加权 D 应为每个 region 独立定义 SLI/SLO 并打 region 标签,避免故障被全局平均掩盖 ✓ 正确答案
# 7. 多窗口多燃烧率告警的落地实操 A 只用短窗口即可,无需长窗口 B 燃烧率 14.4x 表示在 99.9% SLO 下约 2 天(50 小时)内耗尽错误预算 ✓ 正确答案 C 燃烧率越高越不紧急 D 所有燃烧率告警都应立即 page 值班
# 8. 如何针对不同客户等级(tier)设计差异化的 SLO 与错误预算? A 所有客户必须共享完全相同的 SLO 目标 B 差异化 SLO 意味着可以完全忽视低价值客户 C 高价值客户(Tier1)应设计更高的可用性目标与更灵敏的告警 ✓ 正确答案 D 客户分级只按合同金额,不需要考虑业务关键度
# 9. 机器学习在线服务的 SLI 如何定义,即模型质量、推理延迟与吞吐指标如何纳入 SLO? A ML 服务只需关注推理延迟,不必关注模型质量 B ML 服务不存在吞吐指标 C 模型质量可用点击率、转化率等代理指标衡量,并监控数据漂移 ✓ 正确答案 D 推理失败不应计入可用性
# 10. 正确性(correctness)类 SLI 如何度量,即数据一致性、计算正确率如何转化为 SLO? A 正确性 SLI 无法度量,因为错误没有参照物 B 可用数据对账差异率、抽样校验正确率等作为正确性 SLI ✓ 正确答案 C 正确性错误通常会体现在延迟指标上,无需单独监控 D 数据一致性不属于正确性范畴
# 11. 移动端应用的 SLI 如何定义,即启动耗时、崩溃率与关键接口成功率如何选取? A 移动端 SLI 只需服务端指标,无需客户端埋点 B 冷启动耗时、崩溃率与关键接口成功率是移动端核心 SLI ✓ 正确答案 C 崩溃率应直接用崩溃次数,不需要归一化 D 不同机型与网络环境对移动端指标没有影响
# 12. SLI 指标选择中请求成功率与延迟分位数的权衡 A 成功率比延迟更重要,应只关注成功率 B 延迟分位数与成功率永远不会同时出问题 C 交互式场景更敏感延迟,应组合可用性与延迟双 SLO ✓ 正确答案 D 批量场景也更重视延迟而非成功率
# 13. SLO dashboard 应展示的关键信息中达成率、错误预算消耗与燃烧率如何可视化? A 只需展示当前 SLI 值,无需看错误预算 B 应展示达成率、错误预算剩余、消耗曲线与燃烧率等关键信息 ✓ 正确答案 C 燃烧率对 SLO 看板没有意义 D 错误预算剩余百分比与时间窗口无关
# 14. SLO scorecard(记分卡)如何设计,即如何汇总各服务达成情况用于评估与汇报? A scorecard 只列服务名,不列达成状态 B scorecard 只能由工程师手动填写 C scorecard 按服务/团队汇总各 SLO 达成情况,用颜色编码便于汇报 ✓ 正确答案 D 所有服务应使用完全相同的权重,无需区分
# 15. SLO 目标(如 99.9%)如何转化为告警阈值与错误预算消耗的预警机制? A 告警阈值与错误预算消耗无关 B 99.9% 目标对应错误率阈值 0.1%,燃烧率是其倍数 ✓ 正确答案 C 燃烧率 1x 表示错误率已达 100% D 错误预算消耗预警只在耗尽后触发
# 16. SLO 错误预算耗尽时的发布冻结与例外审批机制 A 预算耗尽时应冻结所有发布,包括紧急修复 B 错误预算耗尽可触发高风险发布冻结,并通过例外审批放行紧急需求 ✓ 正确答案 C 例外审批无需任何批准人 D 发布冻结与错误预算无关
# 17. 多服务级联依赖下 SLO 如何聚合与分解,全局 SLO 如何避免"和稀泥"? A 全局 SLO 应直接用全局平均,无需关注单服务 B 串联可用性应近似相乘,端点可用性需高于各子服务 ✓ 正确答案 C 端到端延迟在串联链路上应相乘 D 级联场景不需要识别关键路径
# 18. 如何基于错误预算计算服务的可靠性得分(reliability score)? A 可靠性得分 = 100 × (1 - 错误预算累计消耗比例) ✓ 正确答案 B 可靠性得分与错误预算无关 C 可靠性得分只能反映瞬时错误率 D 可靠性得分不能用于发布门禁
# 19. 如何用错误预算消耗评估部署质量,即发布引发的错误预算损失如何量化并改进 MTTR? A 部署质量与错误预算消耗无关 B 发布引发的预算损失 = 错误率 × 影响时长,可通过灰度与快速回滚降低 ✓ 正确答案 C 发布后无需关注错误预算变化 D MTTR 只能衡量服务端,不能衡量发布影响
# 20. 错误预算如何作为发布门禁(release gate),即高消耗或超预算时如何阻断发布? A 错误预算消耗率超过阈值时应在 CI/CD 流水线中阻断发布 ✓ 正确答案 B 发布门禁应忽略错误预算,只看测试结果 C 所有发布都必须无条件通过门禁 D 门禁只需检查瞬时错误率,无需看消耗率
# 21. AI 系统的 SLO 如何定义(幻觉率/安全率/端到端延迟)并纳入错误预算? A 幻觉率、安全率等质量指标需通过评测回路度量,并纳入独立错误预算 ✓ 正确答案 B AI 系统只需关注延迟,无需关注幻觉率 C 安全率无法作为 SLI D 端到端延迟与推理模型无关
# 22. 如何利用错误预算做可靠性验证,即持续跟踪达成情况并验证改进措施是否生效? A 错误预算无法验证改进措施是否生效 B 错误预算只用于考核,不用于验证 C 验证改进无需控制变量 D 可在改进前记录预算消耗基线,改进后对比消耗是否下降来验证效果 ✓ 正确答案