后端岗位面试题 · 系统设计 · Java
题库中标记为“后端”的结构化面试题。
共 89928 道真题 · 当前筛选命中 415 道 · 更新 2026-08-05
筛选题目已选:系统设计 · Java
考察点
技术栈
第 1 题请解释 Redisson 中的 RateLimiter 机制,并说明在项目中如何实施分布式限流,以及你所采用的限流策略。 考查对 Redisson RateLimiter 工作原理的理解以及实际项目中分布式限流方案的设计与策略选型。第 2 题请结合项目实践,说明 Dubbo RPC 框架的使用流程,包括服务提供方和消费方的关键配置与调用过程。 考查候选人对 Dubbo 框架在实际项目中应用流程的理解,以及配置和调用链路的掌握程度。第 3 题请说明 Dubbo 的基本定义,并描述其整体架构设计的关键组成部分。 考查对 Dubbo 框架定义及其架构设计的理解程度。第 4 题请解释 CompletableFuture 的概念,并结合实际项目说明你是如何使用它来实现并发搜索的。 考查对 Java 并发编程中 CompletableFuture 的理解及其在真实场景中落地并发搜索的能力。第 5 题请介绍判题机模块的整体架构,并重点说明代码沙箱的抽象调用接口及其实现类设计。 考查候选人对判题系统尤其是代码沙箱模块的架构理解与抽象设计能力。第 6 题设计一个 HashMap,给出你的设计思路,包括数据结构、哈希函数、冲突处理、扩容机制以及并发安全等关键方面,并说明你的设计取舍。 考查候选人对于哈希表核心原理的掌握程度,以及系统设计中的权衡能力。第 7 题当Spring Cloud Gateway返回500错误时,通常会从哪些方面入手进行系统排查?请详细说明排查思路和可能的原因。 考察候选人面对网关500错误时的系统性排查能力和对网关内部机制的理解。第 8 题请描述 Java NIO 的基本模型,并说明 Netty 在其之上做了哪些设计来支持高并发网络编程。 考察对 Java NIO 模型与 Netty 核心机制的理解第 9 题请描述你如何设计并实现一个系统,用于统计每个接口在每分钟内的调用次数? 考查候选人对实时计数统计的系统设计能力,包括数据结构、并发处理、时间窗口管理和数据存储方案。第 10 题请描述Sentinel实现限流的基本原理与核心机制,包括其工作流程、关键组件以及漏桶和令牌桶等限流算法的应用方式。 考查对Sentinel限流实现原理和核心机制的理解。第 11 题阻塞队列有哪些类型? 考察对 Java 阻塞队列分类、特性和适用场景的掌握第 12 题在 Java 中,有哪些线程安全的数据结构可以替代 HashMap? 考察对并发容器和同步机制的理解与选型能力第 13 题如果要你从零设计一个高并发网络服务框架,你会如何设计? 考察网络编程的系统设计能力与并发模型理解第 14 题请深入分析Netty为何能获得高性能表现?从IO模型、线程模型、内存管理和底层优化等方面阐述其核心技术原理。 考查对Netty高性能核心机制的理解,包括IO多路复用、事件驱动、线程模型及内存优化。第 15 题设计线程安全的数据修改策略时有哪些不同思路? 考察对锁、CAS、协程等方案的权衡与选型第 16 题在 JDK NIO 中,空轮询 Bug 会导致 Selector 在无事件时仍返回,进而造成 CPU 空转。请说明 Netty 针对该问题的具体处理策略与机制,包括其检测方式、重建 Selector 的流程以及防止 CPU 飙高的手段。 考查对 Netty 解决 JDK NIO 空轮询 Bug 机制的理解,以及故障处理与系统设计能力。第 17 题很多仓库每天需要统计数量(卖了多少、剩多少),可以使用线程池吗?具体怎么使用? 考察并发场景下线程池的应用能力与数据一致性处理第 18 题如果将线程池的任务队列设置为无界队列,会对服务有什么影响? 考察对无界队列风险的理解,特别是内存和线程资源第 19 题请介绍 Java 线程池的核心组成以及你在项目中如何选择和使用线程池参数。 考察对线程池核心概念、参数意义与工程应用的理解第 20 题你阅读过Web容器(如Tomcat)的源码吗?结合源码谈谈传统线程池是否适用于Web服务容器,以及Tomcat在并发处理上有哪些特殊设计? 考察对Web容器并发模型的理解、源码阅读深度及线程池适用性分析