AI-Agent 高频面试题汇总 - MySQL基础篇

1. MySQL 常见存储引擎有哪些?有什么区别?

常见是 InnoDBMyISAM

  • InnoDB:支持事务、行锁、外键,适合高并发 OLTP(线上业务)
  • MyISAM:不支持事务和行锁,读多写少场景才会考虑AI-Agent 在线系统一般优先 InnoDB。

2. 什么是事务?事务四大特性(ACID)是什么?

事务是“一组操作要么都成功要么都失败”。ACID:

  • A 原子性
  • C 一致性
  • I 隔离性
  • D 持久性

3. MySQL 事务隔离级别有哪些?

四级:

  1. Read Uncommitted
  2. Read Committed
  3. Repeatable Read(MySQL 默认)
  4. Serializable隔离级别越高,并发性能通常越低。

4. 脏读、不可重复读、幻读分别是什么?

  • 脏读:读到别人未提交数据
  • 不可重复读:同一行前后两次读值不同
  • 幻读:同条件两次查询,行数不同(出现“新行”)

5. 如何开启、提交、回滚事务?

START TRANSACTION;
-- SQL...
COMMIT;
-- 或
ROLLBACK;

6. 什么是索引?为什么能加速查询?

索引是高效数据结构(常见 B+Tree),减少全表扫描,降低 IO 次数,从而加速查询。

7. 索引有哪些常见类型?

  • 主键索引(PRIMARY)
  • 唯一索引(UNIQUE)
  • 普通索引(INDEX)
  • 联合索引(多列)
  • 前缀索引(字符串前缀)
  • 全文索引(FULLTEXT,特定场景)

8. 什么时候索引会失效?

常见失效场景:

  • 对索引列做函数/计算
  • 隐式类型转换
  • 联合索引不满足最左前缀
  • like '%xx' 前导模糊
  • or 条件一侧无索引

9. 什么是最左前缀原则?

联合索引 (a,b,c) 能命中 aa,ba,b,c,一般不能直接命中 b,c

10. 如何查看 SQL 是否走索引?

EXPLAIN SELECT * FROM t_user WHERE **********';

重点看 typekeyrowsExtra

11. EXPLAIN 中常见字段怎么看?

  • type:访问类型(const/ref/range/all
  • key:实际使用的索引
  • rows:预估扫描行数(越小越好)
  • Extra:如 Using filesortUsing temporary 需关注

12. 什么是覆盖索引?

查询字段全部可在索引中拿到,不用回表。性能通常更好。(Extra 常见 Using index

13. 什么是回表?

二级索引命中后,再回主键索引取完整行数据。回表多会增加 IO。

14. 如何创建/删除索引?

CREATE INDEX idx_user_email ON t_user(email);
CREATE UNIQUE INDEX uk_order_no ON t_order(order_no);
DROP INDEX idx_user_email ON t_user;

15. 什么是慢查询?如何排查?

执行时间长、扫描行多的 SQL。排查:慢日志 + EXPLAIN + 索引优化 + SQL 改写。

16. 如何开启慢查询日志?

SHOW VARIABLES LIKE 'slow_query_log';
SHOW VARIABLES LIKE 'long_query_time';

(生产通常在配置文件里持久化开启)

17. count(*)、count(1)、count(列) 区别?

  • count(*):统计行数(推荐)
  • count(1):本质接近
  • count(列

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

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

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

全部评论
太感谢了
点赞 回复 分享
发布于 03-10 22:18 云南
感谢分享 写的好全面
点赞 回复 分享
发布于 03-10 21:51 黑龙江

相关推荐

04-01 18:06
已编辑
门头沟学院 Java
末9cs本科,现在在做低代码开发+写sql做报表的工作,base 深圳byd,月入12k左右,地处郊区房租几百块,目前生活属于比上不足比下有余。但是是外地人,早晚离开深圳,老家陕西,个人原因想以后在浙江发展。半年多没写代码,代码能力约等于0。家里觉得现在这个工作没前景,低代码市面需求太少了跳槽难,还容易失业,想让申27fall港硕,刷个应届生身份再回来考公、投央国企之类。我个人感觉本科学历确实发展比较受限,起薪啥的都比研究生低(目前公司同岗研究生底薪18k),晋升也不被优先考虑,考公本科岗位也少一些,能有个研究生学历当然锦上添花,现在的工作内容也不太满意,离开这个公司≈失业,现在公司也在降本,薪资不断减少,岗位调动很随意,低代码的工作也不能干长久,随时可能被调去做其他工作。确实不想做这个工作,想换个方向做一些IT相关的。申请港硕的话现在要开始学雅思,家里人说这件事之前原计划自学数据分析下半年投简历转行数据分析(也没什么把握,没有数分工作经历)。目前主要担心,一年制硕+中间gap两年,还交了社保,央国企可能不认可,代码能力也不好,回来去浙江找工作也是外地人,对比土著有劣势,可能还找不到现在这样的工作,现在虽然工作没啥前景,但收入也还凑合,害怕折腾一番回来反而失业了。本科时候学习还可以,排名在年级靠前,主要就是没有实习+学历只有本科,加上代码能力确实差,没有什么亮眼项目,校招all in国企,几乎没有面试,只拿到个陕西7k的offer,没有去。不知道去港硕回来会比那时候更好吗,值得去吗,还是按原计划准备转行数分?关于数分相关的也补充一下:现在工作中偶尔会做一点报表,本人也在备考软考中级数据库,原本打算再学点Python之类的,下半年包装一下投数分岗。假如要申港硕,英语一般,六级只有468分,势必要把更多时间花在考雅思上,两手抓感觉更不好,只能抓一头。
如果公司降薪,你会跳槽吗...
点赞 评论 收藏
分享
评论
5
8
分享

创作者周榜

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