职位题库

Java后端开发面试题库

面向Java后端开发相关面试,围绕MySQL、Java并发、执行计划、索引优化、性能调优等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

5 道题目建议用时 15 分钟专项面试练习

全部题目 5 道题

01

MySQL在RR隔离级别下,一条范围UPDATE语句为什么可能锁住并不存在的记录?如果该SQL使用了非唯一索引,锁范围会如何变化?

考察候选人对InnoDB在RR隔离级别下Next-Key Lock、Gap Lock、Record Lock机制的理解,以及非唯一索引对锁范围的影响。
02

ConcurrentHashMap在扩容过程中允许多个线程同时迁移数据,它是怎样避免节点重复迁移、数据丢失和新旧数组访问冲突的?

考察候选人对JDK 8 ConcurrentHashMap协作式扩容机制的理解,包括迁移区间分配、ForwardingNode、读写路径切换等。
03

在跨境电商库存预占与履约编排系统中,如果库存预占成功,但订单服务在记录预占结果之前发生重启,如何避免库存长期占用以及补偿过程中产生重复释放?

考察候选人在分布式系统中处理幂等、状态机、超时补偿和最终一致性的设计能力。
04

CAS操作即使不存在ABA问题,也不意味着业务更新一定正确。请解释原因,并说明在复杂状态更新中如何设计版本控制。

考察候选人对CAS原子性边界的理解,以及如何通过不可变对象、版本号或数据库乐观锁保证业务不变量。
05

MySQL一条SQL的执行计划显示使用了索引,但实际执行时间仍然很长,如何区分是回表成本、索引扫描成本还是优化器统计信息失真?

考察候选人分析SQL执行慢的系统性方法,包括索引选择性、回表成本、统计信息失真和覆盖索引设计。
返回面试题库