AI-Agent 高频面试题汇总 - MySQL进阶篇

1. InnoDB 的核心组成有哪些?

核心包括:Buffer Pool、Redo Log、Undo Log、Change Buffer、Doublewrite Buffer、自适应哈希索引(AHI)。面试重点:知道它们分别解决“性能”和“可靠性”问题。

2. Buffer Pool 是什么?为什么重要?

Buffer Pool 是 InnoDB 的内存缓存区,缓存数据页和索引页,减少磁盘 IO。命中率越高,查询越快。

3. Redo Log 和 Undo Log 区别是什么?

  • Redo Log:保证事务持久性(崩溃恢复)
  • Undo Log:保证事务原子性和 MVCC(回滚、快照读)

4. 什么是 WAL(Write-Ahead Logging)?

先写日志再写数据页,崩溃后可通过日志恢复,提升可靠性与吞吐。

5. 什么是 Doublewrite?解决什么问题?

防止页写入“半页损坏”(partial page write)。先写 doublewrite 区,再写表空间页,崩溃时可恢复。

6. MySQL 中的一条 UPDATE 大致经历什么流程?

连接器 → 解析器 → 优化器 → 执行器 → 引擎层更新 Buffer Pool → 写 Undo/Redo → 事务提交(刷日志策略)。

7. 什么是 MVCC?解决了什么问题?

多版本并发控制。让“读不阻塞写、写不阻塞读”(快照读场景),提升并发性能。

8. Read View 是什么?

事务进行快照读时生成的可见性视图,用于判断某版本数据是否可见。

9. 当前读和快照读有什么区别?

  • 当前读:读最新版本,并可能加锁(select ... for update
  • 快照读:读历史可见版本(普通 select

10. RR 隔离级别下,InnoDB 如何避免幻读?

通过 Next-Key Lock(记录锁+间隙锁) 在当前读场景抑制幻读。

11. 什么是 Next-Key Lock?

锁定“记录 + 前后间隙”的组合锁,用于范围条件下防止并发插入造成幻读。

12. 什么是意向锁?有什么作用?

表级锁,表示“事务将对某些行加锁”。作用是协调表锁与行锁,提升锁冲突判断效率。

13. 什么情况下容易发生死锁?

高并发下,事务以不同顺序锁定多行/多表资源时容易死锁。典型:事务A先锁1后锁2,事务B先锁2后锁1。

14. 如何查看最近一次死锁信息?

SHOW ENGINE INNODB STATUS\G

15. 死锁和锁等待超时的区别?

  • 死锁:循环等待,InnoDB会主动回滚一个事务
  • 锁等待超时:未形成环,但等待超过阈值后报错

16. 如何减少死锁概率?

固定访问顺序、缩短事务、走索引减少锁范围、避免大事务。

17. explain 的 type 至少要达到什么级别?

通常至少要避免 ALL(全表扫描),尽量做到 range/ref/c

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论
Redo Log刷盘策略?
点赞 回复 分享
发布于 03-10 23:38 河北
真的赞
点赞 回复 分享
发布于 03-10 22:18 云南
(⊙﹏⊙) 原来这么多东西 我还以为会个增删改查就可以了
点赞 回复 分享
发布于 03-10 21:49 黑龙江

相关推荐

评论
5
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务