后端岗位面试题 · 问题排查 · InnoDB
题库中标记为“后端”的结构化面试题。
共 89928 道真题 · 当前筛选命中 60 道 · 更新 2026-08-05
筛选题目已选:问题排查 · InnoDB
考察点
技术栈
第 21 题undo log 是怎么查找的?它记录的是什么内容,是具体的值吗? 考察对 InnoDB undo log 存储结构、查找机制及内容类型的理解第 22 题间隙锁怎么理解? 考察对数据库间隙锁机制及其解决幻读问题的理解第 23 题在 InnoDB 中,一张表有 30 个 varchar(80) 字段,另一张表有 60 个同样的字段,各插入 100 万行后用主键查询一行。两个查询在效率上有差别吗?为什么? 考察 InnoDB 行存储结构、主键索引叶节点大小及 IO 对查询性能的影响第 24 题请解释 MySQL 中锁的实现机制,包括锁的类型、加锁方式和常见的死锁问题。 考察对 MySQL 锁机制的理解,包括锁粒度、实现原理与死锁处理第 25 题InnoDB 中存在 (A, B) 联合索引,执行 SELECT B FROM 表 WHERE A = 1 时,该查询是否走索引?是否会回表?请解释你的判断依据及可能不走索引的情况。 考察联合索引前缀规则、覆盖索引与执行计划分析能力第 26 题可重复读可能会带来什么问题,如何解决? 考察数据库隔离级别下可重复读的缺陷及应对方案第 27 题redo log 是怎么实现的? 考察对 InnoDB redo log 的写入机制、崩溃恢复流程及关键参数的理解第 28 题MySQL里的redo log是什么? 考察对MySQL redo log作用、写入机制和崩溃恢复原理的理解第 29 题redo log主要是为了实现什么?它存在的意义是什么? 考察对数据库持久性与崩溃恢复原理的理解第 30 题存储系统在写入过程中发生内存崩溃时,如何利用 redo log 保证数据安全与恢复? 考察 WAL 机制、崩溃恢复流程与原子性保证能力第 31 题对一张表执行 SELECT ... FOR UPDATE 时,如果 WHERE 条件命中联合索引的列,能否对该索引或记录加锁?请说明锁的粒度与生效条件。 考察数据库行锁机制、索引对加锁的影响及 InnoDB 加锁原理第 32 题请介绍MySQL的日志体系,并解释随机写改为追加写时底层实现的关键点,尤其是日志内容与偏移量处理。 考察MySQL日志类型、作用及随机写转追加写的底层机制理解第 33 题请描述MySQL执行一条UPDATE语句更新一行数据的完整内部流程。 考察对MySQL存储引擎、执行器、日志机制和事务处理的整体理解第 34 题请分析MySQL间隙锁死锁的常见原因,并给出排查思路和预防措施? 考察死锁原理、场景识别及系统化排查预防能力第 35 题请解释数据库中的 undo log、redo log 和 binlog 分别是什么,以及它们各自的作用。 考察对数据库日志体系核心原理的理解第 36 题redo log 的底层刷盘机制是什么? 考察对 InnoDB redo log 刷盘时机、策略与故障恢复关系的理解第 37 题redo log也是写一个数、mysql写脏页也是写一个数。mysql的数据持久性是redo log保证的,怎么保证redo log写这个数的持久性呢? 考察对MySQL redo log持久性机制的理解,包括缓冲、刷盘时机与故障恢复第 38 题InnoDB 要求表有主键吗?有了主键索引,为什么还要额外建索引来提升查询效率? 考察 InnoDB 聚簇索引原理与二级索引的查询优化逻辑第 39 题请讲一讲MySQL InnoDB存储引擎的索引机制。 考察对InnoDB索引结构、工作原理及设计原则的理解深度第 40 题请解释数据库中的间隙锁(Gap Lock)是什么? 考察对 InnoDB 间隙锁概念、作用场景及与行锁、临键锁区分的理解