百度面试题 · tech:innodb
百度相关面试题,按最终去重题目聚合。
共 3071 道真题 · 当前筛选命中 18 道 · 更新 2026-08-05
筛选题目已选:tech:innodb
考察点
技术栈
第 1 题在InnoDB中,执行“SELECT ... WHERE student_id=1 FOR UPDATE”(student_id上有索引,隔离级别为默认的REPEATABLE READ)时,数据库会加哪些锁?请解释加锁过程。 考察InnoDB行锁、间隙锁及索引条件下加锁的理解第 2 题同样的语句“SELECT ... WHERE student_id != 1 FOR UPDATE”(student_id上有索引,InnoDB默认隔离级别)会加什么锁?与等值查询有何不同? 考察范围查询下InnoDB锁范围与全表扫描锁行为的理解第 3 题为什么MySQL的InnoDB索引不使用跳表而使用B+树? 考察对数据库索引底层数据结构选择的理解,以及B+树与跳表在磁盘IO、范围查询等场景的优劣对比第 4 题请说明 InnoDB 支持的隔离级别有哪些? 考察对数据库事务隔离级别及 InnoDB 实现的掌握程度第 5 题事务A开启后未执行操作,事务B执行update student set name=李四 where id=2,事务A查询id=2的数据是什么?请结合可重复读隔离级别下快照的生成时机说明。 考察可重复读隔离级别下快照生成时机和MVCC一致性读机制第 6 题请对比 InnoDB 与 MyISAM 存储引擎的主要差异。 考察对关系型数据库存储引擎核心特性的理解与对比能力第 7 题MySQL InnoDB 中一棵三层 B+ 树大约能存储多少行数据? 考察对 InnoDB 存储结构、页大小与主键大小的理解,以及数量级估算能力第 8 题回表操作一定会在非聚簇索引中发生吗? 考察对非聚簇索引回表机制的理解及其适用条件第 9 题为什么用InnoDB做默认存储引擎? 考察对InnoDB核心特性与MySQL默认选择原因的理解第 10 题在可重复读隔离级别下,5个线程并发执行 update b = b + 1 where b = 5,最后b的值是多少? 考察数据库并发控制与可重复读隔离级别的行为理解第 11 题联合索引的叶子节点会存具体的数据吗? 考察对联合索引底层存储结构与回表机制的理解第 12 题MySQL 事务的四大特性是什么?请分别解释。 考察对 ACID 事务特性的理解与准确表述第 13 题MySQL的原子性底层是如何通过undo log实现的? 考察对MySQL事务原子性实现机制的理解第 14 题InnoDB的索引结构为何是B+树? 考察对B+树结构特性及其在存储引擎中优势的理解第 15 题请说明你使用的 MySQL 版本及其存储引擎,并解释选择该版本和引擎的原因。 考察对 MySQL 版本特性与存储引擎选型的基本理解第 16 题InnoDB存储引擎与MyISAM引擎的区别。 考察对MySQL存储引擎核心特性的理解与对比能力第 17 题如果有一张存储全国用户数据的表,每个用户一行,用户名字段已有索引但值可能不唯一。在一个事务中,当通过用户名查询某个用户的信息时,InnoDB 的锁范围是什么?此时能否插入新数据? 考察 InnoDB 索引锁与间隙锁的实际应用及边界条件第 18 题MVCC用什么方式实现的 考察对多版本并发控制机制的理解