字节跳动面试题 · InnoDB
字节跳动相关面试题,按最终去重题目聚合。
共 3252 道真题 · 当前筛选命中 32 道 · 更新 2026-08-05
筛选题目已选:InnoDB
考察点
技术栈
第 21 题存储系统在写入过程中发生内存崩溃时,如何利用 redo log 保证数据安全与恢复? 考察 WAL 机制、崩溃恢复流程与原子性保证能力第 22 题临键锁(Next-Key Lock)是如何加锁的?它解决了什么问题? 考察临键锁的组成、加锁方式和在避免幻读中的作用第 23 题可重复读的隔离级别可以解决幻读,那他底层是怎么解决幻读的呢? 考察对可重复读隔离级别下解决幻读的底层机制的理解第 24 题Redo Log 本身也是要写盘的,万一写了一半宕机,为什么仍然能保证数据安全? 考察对 redo log 写入机制与崩溃恢复原理的理解第 25 题请说明 MySQL InnoDB 存储引擎索引所使用的数据结构,并解释其设计原因。 考察对 InnoDB 索引底层数据结构的理解及其优缺点第 26 题事务隔离级别有哪些?为什么MySQL的InnoDB存储引擎默认使用可重复读? 考察对事务隔离级别及其实现机制的理解第 27 题InnoDB的主键索引和非主键索引有什么区别? 考察对聚簇索引与非聚簇索引结构及查询过程的理解第 28 题如果将 WHERE 条件中的 id 改为按普通索引列 x 查询,执行 "UPDATE s SET x=5 WHERE x>5" 时锁的范围和机制会有什么变化? 考察按非主键索引列更新时锁定的范围、回表和可能升级到表锁的情况第 29 题为什么 MySQL 的 InnoDB 索引选择 B+ 树而不是跳表? 考察对数据库索引设计考虑因素及 B+ 树与跳表适配性的理解第 30 题你说Redo Log 是顺序写,那最终还是要改数据文件,那我不还是得随机写一次吗?这性能上怎么算划算? 考察对InnoDB缓冲池、WAL机制与随机写代价的理解第 31 题执行 SQL 语句 "UPDATE s SET x=5 WHERE id>5" 时,InnoDB 会使用什么锁? 考察 InnoDB 在更新操作中按主键范围加锁的类型与机制第 32 题MySQL 中 MVCC 的实现原理是什么?请结合 InnoDB 的隐藏列、事务隔离级别与 undo log 说明它如何保证并发读的隔离性。 考察对数据库并发控制中多版本并发控制核心机制的理解