后端岗位面试题 · 问题排查 · InnoDB
题库中标记为“后端”的结构化面试题。
共 89928 道真题 · 当前筛选命中 60 道 · 更新 2026-08-05
筛选题目已选:问题排查 · InnoDB
考察点
技术栈
第 1 题有哪些常见的索引失效场景? 考察对索引使用条件和查询优化器的理解第 2 题执行 SELECT ... WHERE a = 1 FOR UPDATE 会在数据库层面加哪些锁?请分别讨论数据存在、数据不存在以及 a 列是否有索引的情况。 考察数据库行锁、间隙锁、索引与锁机制的深入理解第 3 题请详细说明 MySQL InnoDB 中当前读的加锁机制,包括不同索引条件下的加锁范围。 考察对 InnoDB 当前读锁机制、锁粒度及索引影响的理解第 4 题为什么在数据更新时不直接写磁盘,而是先写redo log再更新?这背后有什么性能瓶颈? 考察对数据库WAL机制及磁盘IO性能瓶颈的理解第 5 题undo log、binlog和redo log的生成顺序? 考察对MySQL事务日志生成顺序与崩溃恢复机制的理解第 6 题redo日志和buffer pool的关系是什么? 考察MySQL持久化机制中redo日志与缓冲池的协作原理第 7 题Redo Log和Binlog的区别你知道吗?为什么要两份日志? 考察数据库日志机制、事务持久化与主从复制原理的理解第 8 题请解释 MySQL 中 redo log 和 binlog 是如何写入磁盘的,以及两阶段提交是如何运作的。 考察对 MySQL 持久化机制和崩溃恢复一致性的理解第 9 题InnoDB 是如何实现事务管理的? 考察对 InnoDB 事务特性、ACID 保证和底层机制的理解第 10 题请解释数据库间隙锁的设计目的,并说明它主要解决什么问题。 考察对数据库并发控制中间隙锁作用与适用场景的理解第 11 题死锁发生时,InnoDB 是怎么处理的?会怎么判断哪一个事务要被回滚? 考察对 InnoDB 死锁检测与回滚策略的理解第 12 题请说明CAS(比较并交换)在MySQL源码中的具体使用场景,并指出MVCC实现中哪些环节运用了CAS。 考察对MySQL源码中底层并发原语(CAS)及MVCC实现细节的理解第 13 题行锁锁的是数据行还是索引? 考察数据库行锁机制与索引之间的关系第 14 题请说明InnoDB的三种主要日志文件及其作用 考察对InnoDB日志机制、事务持久性和崩溃恢复的理解第 15 题如果一个表的普通索引字段被加行锁,该锁是加在主键索引上还是普通索引上? 考察数据库索引结构、行锁挂载位置及InnoDB加锁机制第 16 题行锁是根据什么定位到数据的? 考察对数据库索引与行锁定位机制的理解第 17 题请解释数据库中的“回表”概念,并说明其产生的原因及如何避免。 考察对数据库索引机制、查询执行流程及性能优化的理解第 18 题MySQL默认隔离级别是可重复读,可重复读还会有幻读现象,那MySQL会有幻读吗? 考察对InnoDB可重复读隔离级别下幻读发生场景及MVCC和间隙锁机制的理解第 19 题请说明 undo log 和 redo log 分别在什么时机起作用,并详述其工作原理。 考察对 InnoDB 事务日志与崩溃恢复机制的理解第 20 题有一个学生表,执行 SELECT ... FOR UPDATE,条件为 age > 18,请分析加锁情况。 考察数据库行锁与间隙锁机制及索引对加锁范围的影响