后端岗位面试题 · 系统设计 · Java
题库中标记为“后端”的结构化面试题。
共 89928 道真题 · 当前筛选命中 415 道 · 更新 2026-08-05
筛选题目已选:系统设计 · Java
考察点
技术栈
第 321 题假设一个场景,项目中用到了线程池,在服务上线前你依据自己的经验预设了一些线程池的参数,服务真正上线后,面对C端的流量你无法保证预设的参数是最合适的,就需要去动态地调整这些参数,如何去设计一个具备动态性能的线程池? 考察线程池动态参数调整的设计能力,包括监控、反馈与调优机制第 322 题请介绍Java对象内存分配的主要流程,包括栈上分配与TLAB等机制。 考察对Java对象分配机制及JVM内存模型的掌握第 323 题Java线程池在什么场景下会考虑使用,其基本实现原理是什么? 考察线程池的适用场景认知与核心实现机制理解第 324 题讲解信号量、CountDownLatch 的用法,以及它们的底层实现,同时说明AQS的实现原理。 考察并发工具类的使用、底层实现及AQS核心机制第 325 题请从内存管理开始,系统地介绍一下Java的垃圾回收(GC)机制,并解释它与内存区域划分的关系。 考察对JVM内存结构与GC机制的整体理解和系统表达能力第 326 题介绍一下对线程池的理解。 考察线程池的核心机制、参数配置和实际使用场景第 327 题JVM如何实现线程同步? 考察JVM线程同步机制与底层实现原理第 328 题请结合项目具体说明你是如何使用 SPI 机制的? 考察对 SPI 机制原理的理解和项目中的实际应用能力第 329 题采用Java集合类怎么设计缓存 考察基于Java集合实现缓存的数据结构选择、并发与淘汰策略设计第 330 题请介绍 HashMap 的内部数据结构。 考察对哈希表底层结构设计的理解第 331 题请介绍Java生态中常用的数据库分库分表组件,并比较MyCat和Sharding-JDBC的适用场景。 考察对分库分表组件的理解、选型能力和场景权衡第 332 题在 Java 中,BlockingQueue 的 put 方法在队列满时会阻塞,请说明其可能引发的风险以及如何避免消费者异常导致的永久阻塞。 考察阻塞队列在异常场景下导致线程阻塞的风险与应对第 333 题请谈谈 Java 8 Stream 并行处理原理以及 ForkJoinPool 的工作窃取机制。 考察并行流的底层并发模型与工作窃取算法理解第 334 题一个Java后端项目分层一般怎么做? 考察对Java后端经典分层架构的理解与工程实践第 335 题线程池的工作原理是什么?请结合核心线程、任务队列、非核心线程和拒绝策略说明。 考察对线程池执行流程和任务调度机制的深入理解第 336 题Dubbo、Protobuf、gRPC等RPC框架,底层都是二进制传输的。如果我这里有一个Java对象,有name和age两个字段,想通过二进制序列化后进行传输,应该怎么设计? 考察二进制序列化设计及对RPC框架底层序列化机制的理解第 337 题你了解线程池吗?在项目中你通常如何创建线程池? 考察线程池的基本概念和实际创建方式第 338 题线程池是怎么管理线程的 考察线程池核心机制、线程生命周期与任务调度第 339 题如果让你去自定义一个线程池的话,它有哪些需要去注意的? 考察线程池的核心参数配置、任务队列选择及拒绝策略等关键设计考量第 340 题请解释 volatile 关键字、synchronized 锁以及 AQS(AbstractQueuedSynchronizer)的相关原理,并说明它们各自在并发编程中的应用场景。 考察对 Java 并发基础机制(volatile、synchronized、AQS)的原理理解与应用能力