面试题库

全部 Django Elasticsearch FastAPI Flask Function Call JVM Java IO Java 后端 Java 基础 Java 并发 Java 新特性 Java 集合 JavaWeb Kafka LLM LangChain LangGraph MongoDB MyBatis MySQL Netty Nginx Python RAG RabbitMQ Redis RocketMQ Spring Spring AI SpringBoot SpringCloud SpringMVC ZooKeeper 分布式 后端技术 大厂面经 大数据 微服务 提示词工程 操作系统 数据库 数据结构 智能体 海康威视2026秋季社招专项 消息队列 监控运维 算法 系统设计 缓存 计算机基础 计算机网络 设计模式 面试题 高可用 高并发
MySQL 中等

为什么在高并发写场景要慎用 SELECT ... FOR UPDATE 大范围锁?替代方案有哪些?

MySQL 困难

如何通过"排队 + 乐观重试"替代长事务持锁?给出扣减余额的伪代码。

MySQL 中等

为什么建议把能提前的查询、计算放到事务外?一个订单扣库存的示例如何重构?

MySQL 困难

如何用 innodb_deadlock_detect 开关 + innodb_lock_wait_timeout 的组合来缓解高并发死锁风暴?

MySQL 中等

缩小事务范围(把无关语句移出事务)为什么能同时降低死锁与锁等待?代价是什么?

MySQL 中等

为什么"统一按主键顺序访问"能显著降低死锁概率?给出正反两个代码示例。

MySQL 简单

应用层避免死锁的通用原则有哪些?请从加锁顺序、事务范围、持锁时间三方面说明。

MySQL 简单

为什么同一条 SQL 在单机不超时、上了主从或分库后却频繁死锁?环境差异在哪里?

MySQL 简单

一个 UPDATE 影响多行时,InnoDB 是"一次性全锁"还是"逐行加锁"?这如何影响死锁概率?

MySQL 中等

死锁发生后,应用层应该怎样重试?为什么重试也要加随机退避?

MySQL 困难

为什么 SHOW ENGINE INNODB STATUS 只能看到最近一次死锁?如何持久化历史死锁日志?

MySQL 简单

死锁与"锁等待超时"的兜底策略分别是什么?为什么 InnoDB 优先检测死锁而非等待超时?