后端岗位面试题更新 2026-08-05

在InnoDB中,执行“SELECT ... WHERE student_id=1 FOR UPDATE”(student_id上有索引,隔离级别为默认的REPEATABLE READ)时,数据库会加哪些锁?请解释加锁过程。

百度后端开发专业服务技术原理InnoDBMySQL

考察说明

考察InnoDB行锁、间隙锁及索引条件下加锁的理解

回答思路

  1. 指出会使用索引定位记录并加排他行锁
  2. 说明在REPEATABLE READ下会加间隙锁或临键锁防止幻读
  3. 区分单值等值匹配和非唯一索引等值匹配的锁范围
  4. 能够结合当前读(FOR UPDATE)说明加锁语义
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。