# 1. 如何为在线数据库定义 SLI/SLO(可用性、延迟、数据持久性),并与业务错误预算挂钩? A SLO 设定后无需再评估 B SLO 与业务目标无关 C 错误预算就是可用性,无需计算 D 用 SLI 量化、SLO 定目标,错误预算耗尽时冻结变更并与业务 KPI 挂钩 ✓ 正确答案
# 2. 如何度量“数据正确性”这一最难量化的 SLO(对账、校验和、影子读)? A 数据正确性无法度量 B 只需关注报错,无需对账 C 用对账、校验和、影子读等方法比对参考值,把"一致率/差异率"作为 SLO ✓ 正确答案 D 校验和只能发现已报错问题
# 3. 数据库“静默故障”(主从数据不一致但未报错)如何主动发现? A 复制不报错就代表数据一致 B 需定期校验和/对账/影子读主动比对,发现不一致并修复,同时预防直写从库 ✓ 正确答案 C 静默故障无需预防 D 只监控复制延迟即可
# 4. 数据库变更(DDL/参数)如何纳入错误预算与变更冻结窗口管理? A 变更与错误预算无关 B 高风险变更计为错误预算消耗,通过风险分级、冻结窗口与灰度回滚管控 ✓ 正确答案 C 变更无需冻结窗口 D 变更后无需监控错误预算
# 5. 数据库可用性目标与底层基础设施 SLO 不一致时,如何拆解责任边界? A 数据库 SLO 与底层无关 B 无需故障归因 C 底层故障一律算数据库责任 D 分层定 SLO,故障归因到具体层,数据库用冗余/容灾在底层不足时仍达自身 SLO ✓ 正确答案
# 6. 数据库故障的 MTTR 如何拆解(检测/定位/恢复/验证),并建立运维看板? A MTTR 是单一指标,无法拆解 B 只需关注恢复时间 C 拆成检测/定位/恢复/验证各环节,用看板暴露瓶颈并针对性优化 ✓ 正确答案 D 看板无法驱动改进
# 7. 数据库连接风暴与连接池参数(max/min/idle/超时)的 SLO 联动治理,连接打满的级联雪崩如何预防 A 连接池越大越好,无需限制 B 连接打满无需处理 C 设置 max/超时,连接打满时熔断非核心、快速失败与退避,避免级联雪崩 ✓ 正确答案 D 连接池与 SLO 无关
# 8. 事务隔离级别与锁超时对可用性的影响中死锁、长事务、间隙锁的测试与治理 A 隔离级别越高越好,无需权衡 B 用最低可接受隔离级别、短事务、锁超时、死锁重试与索引优化减少锁竞争 ✓ 正确答案 C 长事务无需处理 D 死锁无需重试
# 9. 冷数据归档与分区表生命周期管理,降低在线库容量的运维策略? A 在线库保留所有历史数据,无需归档 B 冷热分离 + 分区生命周期管理,定期归档/删除过期分区控制容量 ✓ 正确答案 C 分区无需维护 D 归档数据无需可检索
# 10. 分库分表(sharding)后,跨分片查询与热点 key 的运维治理? A 跨分片查询无成本,无需治理 B 分片无需监控均衡 C 热点 key 无需处理 D 用 shard key 就近查询、缓存/汇总表治理跨分片,热点 key 用拆分/缓存分散 ✓ 正确答案
# 11. 备份数据加密(TDE/KMS)与密钥轮换如何在恢复时无缝衔接? A 密钥轮换后旧备份无法恢复 B 用密钥版本化保留旧版本解密能力,恢复自动取对应版本密钥,并保证 KMS 高可用 ✓ 正确答案 C 恢复无需 KMS D 密钥元数据无需记录
# 12. 多租户数据库实例的 SLO 隔离(噪声邻居)如何做? A 用资源配额、连接池隔离、限流与 QoS 防止噪声邻居,按租户定义 SLO ✓ 正确答案 B 多租户共享无需隔离 C 噪声邻居无法避免 D 无需按租户监控
# 13. 如何基于业务峰值预测做数据库容量规划,并预留突发余量? A 容量规划无需预测,按当前用量即可 B 容量规划无需定期更新 C 无需预留余量 D 基于历史峰值与业务增长预测,通过容量模型换算并按一定比例预留突发余量 ✓ 正确答案
# 14. 如何对备份链路做端到端校验(大小/行数/校验和)防止静默损坏? A 备份成功即可,无需校验 B 备份后校验大小/哈希,定期恢复演练并比对行数/校验和,防止静默损坏 ✓ 正确答案 C 静默损坏无法检测 D 无需恢复验证
# 15. 如何用 SLO 驱动数据库容量规划,避免拍脑袋扩容? A 扩容靠经验即可,无需数据 B 把容量使用率与 SLO 关联,用预测数据驱动扩容,避免拍脑袋 ✓ 正确答案 C 容量与 SLO 无关 D 无需预留余量
# 16. 如何用数据库审计日志做异常行为检测(拖库/越权/批量导出)? A 用规则与行为基线检测拖库/越权/批量导出,分级告警并响应 ✓ 正确答案 B 审计日志只用于记录,无需检测 C 审计无需防篡改 D 检测规则无需覆盖异常模式
# 17. 如何设计数据库备份的“可恢复性”持续验证(restore drill)而非只做备份? A 备份成功即可,无需恢复验证 B 演练失败无需处理 C 恢复演练无需自动化 D 定期随机选备份做恢复演练,校验数据一致性并记录 RTO,失败则修复 ✓ 正确答案
# 18. 慢查询与执行计划调优纳入 SLO 回归中 Explain 断言、计划变化告警与索引治理 A 执行计划无需关注 B 索引越多越好 C 用 Explain 断言前置把关、计划变化告警实时发现、索引治理优化,并用延迟 SLO 回归 ✓ 正确答案 D 慢查询无需治理
# 19. 数据库 SLO 违规后的复盘(无指责)模板与改进项闭环? A 用无指责模板聚焦系统与流程,改进项明确负责人与期限并跟进闭环 ✓ 正确答案 B 复盘要追责个人 C 复盘完即可,无需跟进 D 改进项无需验证
# 20. 数据库 SRE 的 on-call 轮值与告警疲劳如何缓解,避免误判主从延迟? A 所有告警都应立即通知 B 告警分级降噪、用上下文判断主从延迟避免误报、自动化处理常见告警 ✓ 正确答案 C 主从延迟无需区分正常与异常 D 告警疲劳无法缓解
# 21. 数据库主从切换演练(failover game day)如何确保不丢数据且应用无感? A 切换无需演练 B 演练后无需校验数据 C 切换期间应用无需感知 D 用同步复制与一致性检查保证不丢数据,路由收敛保证应用无感,定期演练验证 ✓ 正确答案
# 22. 数据库参数模板(参数基线)如何在多实例间统一管理与灰度变更? A 各实例参数独立即可,无需统一 B 参数无需灰度 C 用参数模板统一基线,变更走灰度+监控+回滚,并定期检测参数漂移 ✓ 正确答案 D 参数漂移无需检测
# 23. 数据库备份介质的防勒索(immutable backup / WORM)策略? A 备份可被任意删改 B 备份与生产无需隔离 C 用不可变/WORM 存储、网络隔离与多副本,确保勒索后能恢复干净备份 ✓ 正确答案 D 备份权限无需最小化
# 24. 数据库多地多活下的“脑裂恢复”与冲突合并在运维侧的预案? A 多地多活无需防脑裂 B 无需对账 C 脑裂数据无需合并 D 用仲裁/租约防双写,用冲突解决策略合并数据,恢复后对账修复 ✓ 正确答案
# 25. 数据库大事务导致的复制延迟与锁表,如何在运维侧设置熔断? A 大事务无需处理 B 锁表无需处理 C 复制延迟无需熔断 D 监控大事务并用超时与熔断机制终止,止血后定位根因,避免复制延迟与锁表 ✓ 正确答案
# 26. 数据库探活与健康检查设计中 SQL 探活、读写分离探测与故障转移后的路由收敛验证 A TCP ping 即可,无需 SQL 探活 B 切换后无需验证路由 C 用 SQL 探活、读写分离探测,切换后验证路由收敛到新主 ✓ 正确答案 D 读写分离无需分别探测
# 27. 数据库数据质量(空值/重复/越界)的自动化巡检与告警分级? A 数据质量无需巡检 B 巡检无需结果入库 C 所有质量问题同等级 D 定义空值/重复/越界规则,自动化巡检并按影响分级告警驱动修复 ✓ 正确答案
# 28. 数据库统计信息(statistics)过期引发的性能劣化如何自动巡检? A 统计信息过期无影响 B 采样无需控制成本 C 统计信息无需更新 D 监控统计时效并自动更新,更新后观察执行计划,防止性能劣化 ✓ 正确答案
# 29. 数据库缓冲池(buffer pool)命中率下降时,如何区分是容量还是 SQL 问题? A 命中率下降必然是容量问题 B 命中率下降无需定位 C 先看 top SQL 与扫描量,若是 SQL 扫描大则优化 SQL/索引,数据总量超池则扩容 ✓ 正确答案 D 与 SQL 无关
# 30. 数据库连接池(应用侧 vs 数据库侧)打满的级联雪崩如何快速止血? A 先判断打满侧,用快速失败/限流/熔断/杀连接止损,再定位 SQL 慢/泄漏等根因 ✓ 正确答案 B 连接池打满无需处理 C 只需无限增大连接池 D 级联雪崩无法止血
# 31. 数据库逻辑备份与物理备份各自的恢复点/时间目标差异,如何混合使用? A 只需一种备份即可 B 物理备份无法恢复 C 物理备份快速低 RPO,逻辑备份灵活可移植,按场景混合使用并分别验证 ✓ 正确答案 D 逻辑备份恢复快
# 32. 数据库闪回(flashback)/PITR 时间点恢复在误操作场景下的运维流程? A 误操作无法恢复 B 先确认误操作时间点,选闪回或 PITR,恢复前备份并验证数据完整性 ✓ 正确答案 C 恢复前无需备份 D PITR 无需精确时间点
# 33. 生产慢查询的根因定位链路(执行计划/锁等待/IO 抖动)如何标准化? A 慢查询无需定位根因 B 只需看执行计划 C 按执行计划→锁等待→IO→资源的标准链路排查,逐层定位并优化 ✓ 正确答案 D 慢查询无需回归验证
# 34. 读写分离架构下,从库延迟导致脏读,如何在入口做一致性路由? A 从库延迟不会导致脏读 B 所有读都走从库即可 C 从库延迟无需监控 D 用一致性路由(敏感读走主库、延迟感知降级)配合延迟监控缓解脏读 ✓ 正确答案
# 35. 超大规模库(TB 级)的逻辑备份窗口过长,如何用增量+归档补齐? A 用物理全量+增量/归档补齐,逻辑备份用于灵活场景,缩短窗口并降低 RPO ✓ 正确答案 B 逻辑备份足够,无需优化 C 增量备份无意义 D 备份窗口无需考虑
# 36. 跨地域数据库容灾中,异步复制的 RPO 抖动如何在运维大盘呈现与告警? A RPO 抖动无需告警 B 瞬时抖动就必须告警 C 采集复制延迟为 RPO 指标,大盘呈现,用持续时长与阈值分级告警并与业务 RPO 对齐 ✓ 正确答案 D RPO 与业务容忍无关
# 37. 多类型数据库(MySQL/PG/Redis/ES)的指标语义归一化如何做? A 定义统一指标模型,用采集器与映射表把各库指标归一为统一语义与单位 ✓ 正确答案 B 各库指标天然一致 C 归一化无需定义映射 D 单位无需统一
# 38. 如何通过业务对账(双写校验/总额核对)发现数据库静默数据错误? A 数据库不会产生静默错误 B 用双写校验、总额核对与业务规则等不变量对账,差异告警并定位修复 ✓ 正确答案 C 对账只需做一次 D 对账无法发现错误
# 39. 慢日志采集与聚合(如 pt-query-digest)在海量实例下的采样策略? A 所有实例全量采集 B 按重要性采样、用聚合工具分组、就近预处理与分级,控制成本同时覆盖关键慢查询 ✓ 正确答案 C 采样会漏掉不重要慢查询即可 D 无需聚合
# 40. 数据库 schema 漂移(与 ORM 期望不一致)如何被 CI 与运行时同时发现? A schema 漂移无需发现 B CI 用迁移与 schema 对比前置校验,运行时用探针/错误监控发现现场漂移 ✓ 正确答案 C 运行时无法发现漂移 D CI 校验即可,运行时无需
# 41. 数据库健康检查(health check)与 Kubernetes 探针的对接方式? A 用 liveness 控存活、readiness 控流量摘除,用轻量 SQL 探活并按主从区分 ✓ 正确答案 B 探针失效则重启容器即可 C 探针无需区分主从 D 探针失败不影响路由
# 42. 数据库关键指标(QPS/TPS/连接/复制延迟)如何统一接入可观测平台? A 用 exporter 采集并标准化命名/标签,统一接入可观测平台存储、展示与告警 ✓ 正确答案 B 各库指标各自独立即可 C 指标无需标准化 D 无需统一告警
# 43. 数据库变更前后的指标 diff(如 p99 延迟突变)如何自动比对告警? A 变更后无需对比指标 B 阈值无需合理设置 C 变更前采集基线,变更后自动比对差异,超阈值告警并关联变更,确认劣化则回滚 ✓ 正确答案 D 变更无需回滚
# 44. 数据库锁等待图(deadlock graph)如何可视化并定位代码层根因? A 死锁无法分析 B 锁等待图无法定位根因 C 死锁无需监控 D 采集锁等待关系并可视化死锁环,识别加锁顺序与锁范围,定位代码层根因 ✓ 正确答案