后端岗位面试题 · 方案权衡 · Java
题库中标记为“后端”的结构化面试题。
共 89928 道真题 · 当前筛选命中 3203 道 · 更新 2026-08-05
筛选题目已选:方案权衡 · Java
考察点
技术栈
第 1 题你在项目中使用了 Easy Excel 进行批量导入数据库,请说明其具体的使用方式以及相比传统方式的优势。 考查候选人对 Easy Excel 原理、核心 API 和数据导入实践的理解,以及能否讲清其优势与适用边界。第 2 题请说明自定义线程池的创建方式,并解释如何确定核心线程数、最大线程数、队列容量、拒绝策略等参数。 考察对线程池核心参数的理解及基于业务场景合理配置参数的能力。第 3 题在优化首页加载速度时,你结合了 Spring Scheduler 定时任务和分布式锁,那么请从底层机制的角度说明定时任务的执行流程,并分析在这个场景中分布式锁具体解决了什么问题。 考查候选人能否准确描述 Spring Scheduler 的调度机制和分布式锁在防止重复执行中的作用,以及如何联合使用它们解决缓存刷新或预加载问题。第 4 题HashMap和ConcurrentHashMap的对比? 考察Java集合框架中线程安全与非线程安全实现的理解第 5 题请解释 Redisson 中的 RateLimiter 机制,并说明在项目中如何实施分布式限流,以及你所采用的限流策略。 考查对 Redisson RateLimiter 工作原理的理解以及实际项目中分布式限流方案的设计与策略选型。第 6 题请说明线程池的核心配置参数有哪些,并解释在你们的项目中为什么选择 IO 密集型线程池的配置方案。 考查对线程池参数的理解以及根据任务类型(IO密集型)选择线程池配置的实战判断。第 7 题请比较 Java 中 ArrayList 和 LinkedList 常见操作的时间复杂度,并说明它们的线程安全性。 考察对 Java 常用集合实现原理与并发安全的掌握第 8 题能否为线程池中的特定线程设置过期时间? 考察线程池线程生命周期管理与资源回收的理解第 9 题线程池怎么确定各个参数? 考察线程池核心参数的计算依据、业务场景适配和调优方法第 10 题请详细说明 Java 线程池处理任务的核心流程,包括核心线程数、阻塞队列、最大线程数和拒绝策略各自的作用与协作关系。 考察对线程池核心参数含义及任务调度机制的理解第 11 题Lock和Synchronized两种锁的区别。 考察并发编程中两种锁机制的原理与应用选择第 12 题请说明线程池的底层实现原理。 考察对线程池核心组件、任务执行流程和参数优化的理解第 13 题AQS如何实现公平锁和非公平锁 考察对AQS同步队列、tryAcquire差异化实现的原理理解第 14 题ConcurrentHashMap怎么实现线程安全 考察对 ConcurrencyHashMap 分段锁、CAS 与 synchronized 演进的理解第 15 题HashMap 在多线程环境下为什么不安全?应该如何保证线程安全? 考察对 HashMap 并发问题的理解及线程安全替代方案第 16 题请介绍 Java 中 Hashtable 的基本特性及其与 HashMap 的主要区别。 考察对经典集合类特性、线程安全与性能取舍的理解第 17 题请介绍判题机模块的整体架构,并重点说明代码沙箱的抽象调用接口及其实现类设计。 考查候选人对判题系统尤其是代码沙箱模块的架构理解与抽象设计能力。第 18 题ConcurrentHashMap 是如何实现线程安全的? 考察对 ConcurrentHashMap 线程安全机制及其演进的理解第 19 题请列举 Java 中常见的锁类型,并说明各自的适用场景与区别。 考察对 Java 并发锁机制的理解、对比与场景权衡能力第 20 题synchronized锁在字节码层面是如何实现的?它与显式锁(Lock)相比有何优势和不足? 考察对synchronized底层原理、锁升级及与Lock对比的理解