Java后端面试题汇总
整理时间: 2026-03-17 来源: 牛客网面经抓取 + 面试题库整合 整理规则: 相同/相似知识点合并为一道,保留原始问题描述,全面详细回答
整理时间: 2026-03-17 来源: 牛客网面经抓取 + 面试题库整合 整理规则: 相同/相似知识点合并为一道,保留原始问题描述,全面详细回答
在微服务分布式架构中,几乎所有开发者都会产生一个核心疑问:RocketMQ 已经提供了同步刷盘、主从复制、重试队列、死信队列、事务消息等极致的消息可靠性保障,为什么还需要 XXL-JOB 做定时数据对齐?两者到底是什么关系? 本文将从职责边界、能力上限、协作架构、落地场景四个维度,彻底讲透两者的互补
文档版本:V1.0 | 适用版本:Spring Framework 5.x+/Spring Boot 2.x+/3.x | 面向人群:Java初学者、Spring开发工程师、需规范生产代码的研发人员 开篇:先搞懂「@Autowired 和 @Resource 到底是什么?」 一句话生动定义 @Aut
(专业系统化+生动类比+全流程实操+正反案例对比) 文档版本:V1.0 | 适用版本:Apache Cassandra 4.x | 面向人群:从0入门的初学者、需生产落地的开发/运维工程师 开
从 fileFeignApi.test() 看微服务全流程 一、开篇小故事:学校里的“铁三角” 上回我们说到,OpenFeign 是帮你“打电话”的智能小助手。今天,学校里又来了两个新角色,和小助手组成了“铁三角”: <
一、先从一个“学校秘密日记”的故事讲起(基础概念) 假设你们学校有个**“秘密日记存放处”**: 每个同学都要交一本日记,不能直接写名字(不然别人一看就知道是谁的)。 老师有个**“魔法印章”**:把名字盖一下,就会变成一串谁也看不懂的“乱码”(比如“小明”变成“$%#@!*”)。
本文以“快递员送快递”为生活类比,从0开始系统化讲解线程、ThreadLocal及线程池的相关知识,兼顾专业性与通俗性,让新手轻松理解。首先介绍线程的基础概念(单线程、多线程),随后引入ThreadLocal工具及其“单线程数据隔离”的核心作用,指出其父子线程无法传递数据的痛点;接着讲解InheritableThreadLocal如何解决父子线程数据传递问题,同时剖析其“仅复制一次、线程池场景无效”的致命弊端;之后引入线程池的概念、核心参数及使用场景,说明线程池“线程复用”的特点为何让InheritableThreadLocal失效;最后介绍阿里开源的TransmittableThreadLocal(TTL),详解其解决线程池场景下上下文传递和脏数据问题的原理、使用方法,并通过最佳实践与非最佳实践的对比,明确实际开发中的正确用法,最终梳理出ThreadLocal、InheritableThreadLocal、TTL三者的进化关系与适用场景。
本文档全程采用校园生活类比,将复杂的微服务架构、网关、Redis、Sa-Token等专业概念翻译成小学生也能听懂的大白话,从0开始系统化讲解如何搭建一套完整的微服务全局权限校验系统。文档包含完整的架构设计、核心流程、可直接复制的代码样例,以及生产环境最佳实践(含非最佳实践对比案例)。
整理时间:2026年03月 数据来源:牛客网2026年3月Java面经、面试题库整合 整理规则:相同/相似知识点合并去重,按面试模块逻辑归类,保留原始核心问题描述
RocketMQ:高可靠分布式消息中间件。 发:同步(可靠)、异步(吞吐)、单向(日志)、顺序/延迟/批量 消:并发/顺序消费 + 重试 + 死信队列 三防:幂等(业务键去重)、防丢(同步刷盘+双写+本地表)、防堆(扩容+优化) 精髓:核心业务强一致,消费“先业务后提交”,监控兜底。