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

执行 SELECT ... WHERE a = 1 FOR UPDATE 会在数据库层面加哪些锁?请分别讨论数据存在、数据不存在以及 a 列是否有索引的情况。

度小满后端开发金融风险判断技术原理问题排查InnoDBMySQL

考察说明

考察数据库行锁、间隙锁、索引与锁机制的深入理解

回答思路

  1. 能区分主键索引与非唯一索引的加锁差异
  2. 说明记录存在与否对间隙锁的影响
  3. 理解锁的兼容性与并发阻塞关系
  4. 能结合隔离级别说明锁范围
  5. 能解释为何索引选择性影响锁范围