职位题库

Java开发工程师面试题库

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

193 道题目建议用时 579 分钟专项面试练习

全部题目 193 道题

145

线程安全集合类使用过哪些?ConcurrentHashMap 使用时的具体场景是什么?

考察对线程安全集合类的了解程度,以及 ConcurrentHashMap 的实际应用经验。
146

线程池的核心参数有哪些?你使用线程池时选择哪种拒绝策略?为什么?

考察对线程池核心参数的掌握程度,以及拒绝策略的选择理由。
147

MySQL 的联合索引是什么?MySQL 常见的三种典型日志文件有哪些?

考察对 MySQL 联合索引的理解以及常见日志文件的掌握。
148

请说明HashMap的底层结构和扩容机制。

考察候选人对Java集合框架核心类的理解深度,包括数据结构、哈希冲突处理、扩容条件与过程。
149

ConcurrentHashMap 和 HashMap 有什么区别?ConcurrentHashMap 的锁是怎么实现的?

考察候选人对并发容器的理解,包括线程安全机制、锁粒度、与 HashMap 的差异。
150

请说明线程池的七个参数、工作流程和拒绝策略。

考察候选人对线程池核心机制的理解,包括参数含义、任务调度流程和饱和策略。
151

请说明 JVM 内存区域划分、垃圾回收算法和常见回收器。

考察候选人对 JVM 内存模型和垃圾回收机制的系统性理解。
152

请说明 synchronized 和 volatile 的区别,以及 synchronized 的锁升级过程。

考察候选人对 Java 内存模型和锁机制的理解,包括关键字语义、锁优化。
153

请说明 String a = "s"、String b = "s"、String c = new String("s") 这三行代码分别创建了几个对象,并解释原因。

考察候选人对字符串常量池、堆内存对象创建以及引用赋值机制的理解。
154

线程池 core=5、max=10、queue=10 时,依次提交 4、9、14、25 个任务分别会怎样执行?拒绝策略有哪些?

考察候选人对线程池任务提交顺序、核心线程数、最大线程数和队列容量之间关系的掌握。
155

Spring 框架中使用了哪些常见设计模式?请结合具体组件说明。

考察候选人对 Spring 核心机制背后设计模式的理解,以及能否把模式与具体组件对应起来。
156

请设计一个 10 万人抢 10 件商品的秒杀系统,并说明如何保证一人只能抢一件、如何识别羊毛党、以及 10 万 QPS 下 Redis 扛不住时怎么办。

考察候选人在高并发场景下的系统设计能力,包括流量控制、库存一致性、幂等防重、风控和缓存抗压。
返回面试题库