职位题库

Java后端开发工程师面试题库

面向Java后端开发工程师相关面试,围绕系统设计、Redis、Java集合、JVM、MySQL等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

76 道题目建议用时 228 分钟专项面试练习

全部题目 76 道题

13

拷打项目:为什么用分布式锁?

考察候选人对分布式锁的应用场景、实现原理和选型理由的理解,以及项目设计能力。
14

讲一下悲观锁和乐观锁。

考察候选人对悲观锁和乐观锁的基本概念、实现方式、适用场景及优缺点的理解。
15

你的项目是单体的还是分布式的?

考察候选人对项目架构的理解,以及能否清晰描述系统架构和演进过程。
16

String字面量创建和new创建有什么区别?

考察对字符串常量池、堆内存以及对象创建方式的理解。
17

ArrayList是否线程安全?为什么?怎么变成线程安全?

考察对ArrayList非线程安全原因的理解,以及如何实现线程安全。
18

HashMap的key有什么注意事项?为什么不要更改key?put的过程?

考察对HashMap键的设计要求、哈希冲突处理以及put操作流程的理解。
19

synchronized和ReentrantLock讲一下,有什么区别?

考察对Java中两种主要锁机制的理解,包括用法、特性和底层实现。
20

请解释 CAS 和 AQS 的原理,并说明 ABA 问题及 AQS 的底层数据结构。

考察候选人对 Java 并发基础核心组件的理解深度。
21

ConcurrentHashMap在JDK 7和JDK 8中的实现有什么区别?

考察候选人对ConcurrentHashMap底层实现演进的理解,特别是锁粒度、并发度、数据结构的变化,以及为什么进行这样的改进。
22

JVM线上Full GC频繁,你怎么排查?

考察候选人线上JVM问题的排查思路和工具使用能力,是否具备系统化的诊断和解决能力。
23

MySQL的MVCC和间隙锁是怎么配合防止幻读的?

考察候选人对MySQL可重复读隔离级别下幻读防止机制的理解,包括快照读和当前读的区别。
24

Redis的缓存穿透、击穿、雪崩分别是什么,怎么解决?

考察候选人对Redis缓存三大经典问题的理解及解决方案,是否具备高并发场景下的缓存设计能力。
返回面试题库