后端岗位面试题更新 2026-08-05

MySQL 在突然断电时,redo log 和 undo log 若尚未刷盘就发生重启,是否会导致数据丢失?请说明其内部的恢复机制与可能的数据不一致场景。

金山WPS后端开发风险判断技术原理InnoDBMySQL

考察说明

考察对 MySQL 持久化机制、redo/undo 日志与崩溃恢复原理的理解

回答思路

  1. 明确指出 redo log 保证已提交事务不丢失,undo log 保证未提交事务可回滚
  2. 说明 redo log 会通过组提交和后台刷盘策略尽量持久化,且其本身有循环写与 checkpoint 机制
  3. 说明崩溃恢复时从 redo log 重放已提交事务,从 undo log 回滚未提交事务
  4. 指出若 redo log 本身未刷盘(如极端掉电)可能丢失最近未持久化的已提交事务,但通常依赖双写缓冲和 page cache 刷盘策略缓解
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。