2026 精选 Java 八股文及答案,全面覆盖,直击面试 伴随着互联网行业寒冬的到来各大企业都不敢大肆招聘都是选择收缩发展加上程序员内部越来越卷要求越来越高了要想在 IT 行业继续发展进阶拿高薪的话提升自己是必不可少的。尤其是经历了前不久的裁员事件以后找工作只会更难所以咱们程序员要做的就是进行一个面试技术的一个储备才能在面试时好好拼一把。就在前几天和阿里的 P8 面试官聊一下他给了我两点建议让我颇受感动第一点是程序员如何更好的工作他说到 1-3 年其实就是折腾因为他是从学校然后刚初入职场并且还不太深入一些基础知识需要恶补各门语言需要掌握不能等需要了才去学习就完了而且项目经验积攒的不是很足需要不停学习不停的补充你会的东西别人不会这就是核心竞争力。他说 3-5 年 沉淀这个阶段的程序员基本上是可以自己去完成一个独立的模块或者完成一个系统的开发工作了其实就是让你的工作更有效率然后你需要持续学习多思考他说 5-10 年 优秀做任何一件事情都是有目的、要有意义要有价值你要知道你的终点在哪里走管理还是走技术还是技术管理你比别人优秀的点在哪里比如你整天趴在技术上面而有人技术跟你一样但是人家同时也在做管理就有更多的机会公司也会优先考虑别人而不是你不对的地方你也要及时知止以终为始让自己成为一个优秀的人。第二点是程序员晋升主要要注意些什么积累 沉淀 终身学习练能力 长本事坚持拓宽人脉看完之后不知道大家有没有做深刻的思考看看自己是怎么进行职业规划的怎么进行技术的沉淀与学习的人脉是不是足以支撑未来的发展基石除此之外内这位阿里 P8 面试官让我吃透的他们内部分享的一份 10W 字 java 面试题答案让我成功拿下 Java 高级岗 Offer我真的超级感动。下面我就把这份 10W 字 Java 面试题及答案分享出来让大家一起学习进步。这份 10W 字 Java 面试题总共包含 23 个专题每个专题里面都是非常细化的面试及答案。Ps由于篇幅限制笔记无法全部为大家展示出来就以截图主要内容的形式让大家参考啦需要完整版的小伙伴可以在文末获取Java 基础1、面向对象编程有哪些特征2、JDK 与 JRE 的区别是什么3、Java 有哪几种基本数据类型4、 和 equals 比较有什么区别5、public,private,protected,默认的区别6、this 和 super 有什么区别7、short s1 1; s1 1;有错吗8、short s1 1; s1 s1 1;有错吗9、float n 1.8 有错吗10、i 和 i 的区别11、while 和 do while 有啥区别12、如何跳出 Java 中的循环13、如何跳出 Java 中间的多层嵌套循环14、 和 的区别15、2 * 8 最有效率的计算方法是什么16、数组有没有 length 方法String 呢17、怎么理解价值传递和引用传递18、Java 到底是值传递还是引用传递19、一个 .java 源文件的类型有什么限制20、Java 中的注释有哪些写法21、static 关键字有什么用22、static 变量和普通变量的区别23、static 可以修饰局部变量么24、final 关键字有哪些用法25、final、finally、finalize 有什么区别26、void 和 Void 有什么区别27、为什么 byte 取值范围为 -12812728、char 类型可以存储中文汉字吗29、重载和重写有什么区别30、构造器可以被重写和重载吗31、main 方法可以被重写和重载吗32、私有方法能被重载或者重写吗33、Java 中的断言assert是什么34、Java 异常有哪些分类35、Error 和 Exception 有什么区别36、Java 中常见的异常有哪些37、Java 中常见的运行时异常有哪些38、运行时异常与受检查时异常有什么区别39、什么时候会发生空指针异常40、你知道有哪些避免空指针的方法41、throw 和 throws 的区别42、try-catch-finally 中哪个部分可以省略43、try 里面 returnfinally 还会执行吗44、int 和 Integer 有什么区别45、什么是包装类型有什么用46、什么是自动装厢、拆厢47、你怎么理解 Java 中的强制类型转换48、你怎么理解 Java 中的自动类型转换49、你怎么理解 Java 中的类型提升50、switch 是否能用在 long 上51、switch 是否能用在 String 上52、switch case 支持哪几种数据类型53、String 属于基础的数据类型吗54、String 类似的常用方法都有哪些55、String 的底层实现是怎样的56、String 是可变的吗为什么57、String 类可以被继承吗58、String 真的是不可变的吗59、String 字符串如何进行反转60、String 字符串如何实现编码转换61、String 有没有长度限制是多少62、为什么不能用 拼接字符串63、StringBuffer 和 StringBuilder 的区别64、StringJoiner 有什么用65、Java 所有的祖先类是哪个66、Object 类有哪些常用的方法67、普通类和抽象类有什么区别68、静态内部类和普通内部类有什么区别69、静态方法可以直接调用非静态方法吗70、静态变量和实例变量有什么区别71、内部类可以访问其外部类的成员吗72、接口和抽象类有什么区别73、接口是否可以继承接口74、接口里面可以写方法实现吗75、抽象类必须要有抽象方法吗76、抽象类能使用 final 修饰吗77、抽象类是否可以继承具体类78、抽象类是否可以实现接口79、怎么查看一个 Java 类的字节码80、Java 中的 UUID 是什么?81、Java 类初始化顺序是怎样的82、为什么成员变量命名不建议用 isXXX83、hashCode 有什么用84、hashCode 和 identityHashCode 的区别85、什么是 hash 冲突86、equals 和 hashCode 的区别和联系87、两个对象 equals 相等 hashCode 也相等么88、两个对象 hashCode 相等equals 也相等么89、为什么重写 equals 就要重写 hashCode 方法90、Java 常用的元注解有哪些91、Java 泛型中的 T、R、K、V、E 分别指什么92、Java 金额计算怎么避免精通丢失93、Java 语法糖是什么意思94、transient 关键字有什么用95、如何实现对象克隆96、对象克隆浅拷贝和深拷贝的区别97、Java 反射机制有什么用98、Java 反射机制的优缺点99、Java 反射机制 Class 类有哪些常用方法100、Java 反射可以访问私有方法吗101、Java 反射可以访问私有变量吗102、Class.forName 和 ClassLoader 的区别103、什么是宏变量和宏替换104、什么是逃逸分析105、什么是伪共享有什么解决方案106、Java 有没有 goto 关键字107、Java 中有没有指针的概念108、Java 中的 classpath 环境变量作用109、Math.round(1.5) 等于多少110、Math.round(-1.5) 等于多少111、Java 8 都新增了哪些新特性112、Java 8 中的 Lambda 表达式有啥用113、Java 8 中的 Optional 类有什么用114、Java 8 中的 Stream 有啥用115、Java 8 中的 Repeatable 注解有什么用116、Java 8 中的方法引用是指什么117、Java 8 中的函数式编程怎么用118、怎么创建一个 Stream 流119、Oracle JDK 和 OpenJDK 有啥区别Java 集合1、说说常见的集合有哪些2、哪些集合类可对元素的随机访问3、Comparable 和 Comparator 接口的区别4、Collection 和 Collections 的区别5、Enumeration 和 Iterator 接口的区别6、集合使用泛型有什么优点7、List、Set、Map 之间的区别是什么8、为什么 Map 接口不继承 Collection 接口9、常用的线程安全的 Map 有哪些10、HashMap 与 Hashtable 的区别11、HashMap 和 TreeMap 怎么选12、HashMap 的数据结构是什么13、HashMap 在 JDK 8 中有哪些改变14、HashMap 的 put 方法逻辑15、HashMap 的 get 方法逻辑16、HashMap 是线程安全的吗17、HashMap 是怎么解决 hash 冲突的18、HashMap 是怎么扩容的19、HashMap 如何实现同步?20、HashMap 中的负载因子是什么21、Hashtable 为什么不叫 HashTable22、ConcurrentHashMap 的数据结构23、ArrayList 是线程安全的么24、常用的线程安全的 List 集合有哪些25、循环删除 List 集合可能会发生什么异常26、ArrayList 和 LinkedList 的区别27、ArrayList 和 Vector 的区别28、什么是 CopyOnWriteArrayList29、什么是 fail-safe30、什么是 fail-fast31、fail-fast 与 fail-safe 有什么区别32、HashSet 的底层实现原理是什么33、怎么确保一个集合不能被修改JVM1、Java 为什么能一次编写处处运行2、JVM 是什么3、HotSpot 是什么4、JVM 内存区域分类哪些5、堆和栈区别是什么6、JVM 哪块内存区别不会发生内存溢出7、什么情况下会发生栈内存溢出8、对象都是在堆上分配的吗9、你怎么理解强、软、弱、虚引用10、常用的 JVM 参数有哪些11、Java 8 中的内存结构有什么变化12、Java 8 中的永久代为什么被移除了13、什么是类加载器14、类加载器的分类及作用15、什么是双亲委派模型16、为什么要打破双亲委派模型17、可以自定义一个 java.lang.String 吗18、什么是 JVM 内存模型19、JVM 内存模型和 JVM 内存结构的区别20、什么是指令重排序21、内存屏障是什么22、什么是 Happens-Before 原则23、GC 是什么为什么需要 GC24、什么是 MinorGC 和 FullGC25、一次完整的 GC 流程是怎样的26、JVM 如何判断一个对象可被回收27、常用的垃圾收集器有哪些28、常用的垃圾回收算法有哪些29、什么是内存泄漏30、为什么会发生内存泄漏31、如何防止内存泄漏32、什么是直接内存33、直接内存有什么用34、怎样访问直接内存35、常用的 JVM 调优命令有哪些36、常用的 JVM 问题定位工具有哪些37、常用的主流 JVM 虚拟机都有哪些多线程并发编程1、进程和线程的区别2、什么是原子性、可见性、有序性3、为什么要使用多线程4、创建线程有哪几种方式5、什么是守护线程6、线程的状态有哪几种怎么流转的7、线程的优先级有什么用8、我们常说的 JUC 是指什么9、i 是线程安全的吗10、join 方法有什么用什么原理11、如何让一个线程休眠12、启动一个线程是用 start 还是 run 方法13、start 和 run 方法有什么区别14、sleep 和 wait 方法有什么区别15、Thread.yield 方法有什么用16、yield 和 sleep 有什么区别17、怎么理解 Java 中的线程中断18、你怎么理解多线程分组19、你怎么理解 wait、notify、notifyAll20、同步和异步的区别21、什么是死锁22、怎么避免死锁23、什么是活锁24、什么是无锁25、什么是线程饥饿26、什么是 CAS27、阻塞和非阻塞的区别28、并发和并行的区别29、为什么不推荐使用 stop 停止线程30、如何优雅地终止一个线程31、Synchronized 同步锁有哪几种用法32、什么是重入锁ReentrantLock33、Synchronized 与 ReentrantLock 的区别34、synchronized 锁的是什么?35、什么是读写锁36、公平锁和非公平锁的区别37、有哪些锁优化的方式38、什么是偏向锁39、什么是轻量级锁40、什么是自旋锁41、什么是锁消除42、什么是锁粗化43、什么是重量级锁44、什么是线程池45、使用线程池有什么好处46、创建一个线程池有哪些核心参数47、线程池的工作流程是怎样的48、Java 里面有哪些内置的线程池49、为什么阿里不让用 Executors 创建线程池50、线程池的拒绝策略有哪几种51、如何提交一个线程到线程池52、线程池 submit 和 execute 有什么区别53、如何查看线程池的运行状态54、如何设置线程池的大小55、如何关闭线程池56、AQS 是什么57、AQS 的底层原理是什么58、Java 中的 Fork Join 框架有什么用59、ThreadLocal 有什么用60、ThreadLocal 有什么副作用61、volatile 关键字有什么用62、volatile 有哪些应用场景63、CyclicBarrier 有什么用64、CountDownLatch 有什么用65、CountDownLatch 与 CyclicBarrier 的区别66、Semaphore 有什么用67、Exchanger 有什么用68、LockSupport 有什么用69、Java 中原子操作的类有哪些70、什么是 ABA 问题怎么解决71、Java 并发容器你知道几个72、什么是阻塞队列73、阻塞队列有哪些常用的应用场景74、Java 中的阻塞的队列有哪些75、什么是幂等性IO网络编程1、什么是 IO2、常用的 IO 类有哪些3、你怎么理解 IO、BIO、NIO、AIO4、什么是比特(Bit)、字节(Byte)、字符(Char)5、Java 有哪几种类型的流6、字节流和字符流的区别7、Java 序列化是什么8、怎么序列化一个对象9、Java 有哪两种序列化方式10、怎么控制类中的某些变量不被序列化11、静态变量能不能被序列化12、OSI 的七层模型都有哪些13、tcp 和 udp 协议的区别14、tcp 为什么要三次握手两次不行吗Web 编程1、http 和 https 的区别2、get 和 post 的区别3、forward 和 redirect 的区别4、Servlet 是什么5、Servlet 生命周期是怎样的6、Servlet 有哪些核心的方法7、Servlet 是线程安全的么8、Servlet 支持异步处理吗9、Servlet 是单例还是多例10、Servlet 和 JSP 有什么区别和联系11、JSP 是什么12、JSP 有哪些内置对象13、JSP 有哪些基本动作14、JSP 有哪几种作用域15、JSP 有哪些常用指令16、如何实现隐藏的表单域17、AJAX 应用和传统 Web 应用有什么不同18、怎么优化 Web 前端的性能19、什么是 MVC分别代表什么20、拦截器和过滤器的区别21、Cookie 和 Session 的区别22、什么是跨域有哪些解决方案Spring1、Spring 框架是什么2、Spring 常用的注解有哪些3、Spring 框架的好处有哪些4、Spring 由哪些主要模块组成5、Spring IOC 容器是什么6、Spring IOC 的好处有哪些7、BeanFactory 和 ApplicationContext 的区别8、Spring 依赖注入是什么意思9、Spring 依赖注入有哪几种方式10、Spring bean 支持哪几种作用域11、Spring bean 生命周期是怎样的12、Spring bean 为什么默认为单例13、Spring bean 是线程安全的吗14、Spring 这几个注解的区别15、Spring Autowired 注解有什么用16、Spring Required 注解有什么用17、Spring Qualifier 注解有什么用18、Spring 怎么注入 Java 集合类型19、Spring 装配是指什么20、Spring 自动装配有哪些方式21、Spring 自动装配有什么局限性22、Spring AOP 是什么23、Spring AOP 有什么作用24、Spring AOP 有哪些实现方式25、Spring AOP 和 AspectJ AOP 的区别26、Spring 支持哪些事务管理类型27、Spring 框架用到了哪些设计模式28、Spring MVC 框架有什么用29、Spring MVC DispatcherServlet 的工作流程30、Spring MVC 常用的注解有哪些31、Spring MVC RequestMapping 有啥用Spring Boot1、Spring Boot 是什么2、Spring Boot 有哪些优缺点3、Spring Boot 框架的核心思想是什么4、Spring Boot 有哪些核心模块5、Spring Boot 的核心配置文件有哪些6、Spring Boot 的配置文件有哪几种格式7、Spring Boot 的核心注解是哪个8、SpringBootApplication 注解包含哪几个注解9、Spring Boot 最核心的注解有哪些10、Spring Boot 怎么根据指定条件注册 bean11、Spring Boot 有哪些条件注解12、Spring Boot 有哪两种方式集成13、Spring Boot 需要独立的容器运行吗14、Spring Boot 中的默认内嵌容器是15、Spring Boot 中间的内嵌容器可以替换成别的么16、Spring Boot 自动配置原理是什么17、Spring Boot 开启自动配置的注解是18、Spring Boot 自动配置的类型在哪注册19、Spring Boot 自动配置报告怎么查看20、Spring Boot 怎么排除某些自动配置21、Spring Boot 怎么开启和关闭自动配置22、Spring Boot 的目录结构是怎样的23、Spring Boot 中的 Starters 是什么24、Spring Boot Starters 有什么命名规范25、Spring Boot Starters 官方有哪些分类26、Spring Boot 怎么自定义一个 Starter27、Spring Boot 有哪几种运行方式28、Spring Boot 支持哪些应用打包方式29、Spring Boot 应用怎么 Debug 调试30、Spring Boot 可以配置随机端口吗31、Spring Boot 怎么打一个可执行的 Jar 包32、Spring Boot 支持 https 配置吗33、Spring Boot 怎么注册 Servlet34、Spring Boot Runner 是什么35、Spring Boot 支持哪些模板引擎36、Spring Boot 支持 Velocity 模板引擎吗37、Spring Boot 怎么做单元测试38、Spring Boot 支持哪些日志框架39、Spring Boot 有哪几种部署方式40、Spring Boot 配置加载顺序是怎样的41、Spring Boot 如何定义不同环境的配置42、Spring Boot 怎么兼容老 Spring 项目43、Spring Boot 应用有哪些保护手法44、Spring Boot 怎么注册事件监听器45、Spring Boot 应用如何监控和健康检查46、Spring Boot 怎么解决跨域问题47、Spring Boot 2.X 有什么新特性48、Spring Boot 怎么定制启动图案49、Spring Boot 怎么关闭启动图案50、Spring Boot 的默认编码是51、Spring Boot 怎么指定编码格式52、Spring Boot 应用如何优雅关闭Spring Cloud1、Spring Cloud 是什么2、Spring Cloud 和 Spring Boot 的关系3、Spring Cloud 有哪些重要的组件4、Spring Cloud 和 Dubbo 的区别5、Spring Cloud 版本号怎么理解6、Spring Cloud Eureka 保护机制是什么7、Spring Cloud 注册中心有哪些实现方案8、Spring Cloud 配置中心有哪些实现方案9、Spring Cloud 如何保证微服务调用安全性10、Spring Cloud 中的 Ribbon 是什么11、Spring Cloud 中的 Feign 是什么12、Spring Cloud Feign 和 ribbon 的区别13、Spring Cloud Gateway VS Zuul 怎么选14、Spring Cloud for Alibaba 是什么Dubbo1、Dubbo 是什么框架2、为什么要用 Dubbo3、Dubbo 里面有哪几种节点角色4、Dubbo 停止维护了吗5、Dubbo 必须依赖的包有哪些6、Dubbo 支持哪些注册中心推荐哪种7、Dubbo 内置了哪几种服务容器8、Dubbo 需要 Web 容器吗9、Dubbo 的服务注册和发现流程10、Dubbo 服务暴露的过程11、Dubbo 有哪几种配置方式12、Dubbo 核心的配置有哪些13、Provider 可以配置 Consumer 哪些属性14、Dubbo 启动时依赖的服务不可用会怎样15、Dubbo 都支持什么协议推荐用哪种16、Dubbo 支持什么通信框架默认哪种17、Dubbo 支持的序列化框架有哪些18、Dubbo 有哪些集群容错方案默认哪种19、Dubbo 有哪些负载均衡策略默认哪种20、有多个同名服务时如果连接指定的服务21、Dubbo 支持服务多协议吗22、Dubbo 服务上线怎么兼容旧版本23、Dubbo 一个服务接口有多种实现怎么区分24、Dubbo 可以对结果进行缓存吗25、Dubbo 服务之间的调用是阻塞的吗26、Dubbo 支持分布式事务吗27、Dubbo telnet 命令能做什么28、Dubbo 支持服务降级吗29、Dubbo 如何优雅停机30、Dubbo 服务提供者失效自动下线是什么原理31、Dubbo 服务调用链过长如何解决32、Duboo 服务读写容错策略怎么做33、Dubbo 的管理控制台能做什么34、Dubbo 能集成 Spring Boot 吗35、Dubbo 使用过程中都遇到了些什么问题36、Dubbo 的源码你有读过吗37、Dubbo 和 Spring Cloud 哪个好38、Dubbo 你们的推荐用法有哪些39、你怎么理解 Dubbo SPI40、Dubbo 之外你还了解别的 RPC 框架吗41、Dubbox 是什么和 Dubbo 有啥区别MySQL数据库1、主键、外键有什么区别2、怎么理解三范式和反范式3、范式和反范式的优缺点4、什么是事务5、事务有哪几个特性6、什么是脏读、幻读、不可重复读7、MySQL 有哪些事务隔离级别8、MySQL 默认的事务隔离级别是9、什么是索引10、索引有什么用11、索引为什么能提高查询效率12、索引的设计有哪些原则13、什么情况下应不建或少建索引14、MySQL 索引的种类有哪些15、MySQL 索引最左匹配原则怎么理解16、MySQL 数据库引擎怎么选择17、MySQL 默认数据库引擎是什么18、MySQL 引擎 MyISAM 和 InnoDB 的区别19、char 和 varchar 的区别20、MySQL 的 drop、delete、truncate 区别21、MySQL 怎么实现分页查询22、MySQL 的高可用方案有哪些23、如何分析一条 SQL 语句的执行计划和性能24、MySQL 查询优化有哪些方法25、MySQL 为什么不建议默认 null 值26、MySQL 为什么尽量选择最小数据类型27、怎么理解数据库中的乐观锁和悲观锁28、MySQL 中的 MVCC 是指什么29、MySQL InnoDB 的 MVCC 实现机制30、MySQL 中的 MVCC 支持哪些事务隔离级别31、MySQL 支持哪三种级别的锁32、MySQL InnoDB 支持什么锁33、MySQL 中的表锁有哪些34、MySQL 中的行锁有哪些35、MySQL 中的意向锁有什么用36、MySQL 中的意向锁的分类37、MySQL 中的意向锁是表锁还是行锁38、MySQL 中的自增锁有什么用39、MySQL 行锁是锁的是什么40、MySQL 行锁实现的几种算法41、MySQL 什么情况会发生死锁42、MySQL 死锁怎么排查43、MySQL 如何解决死锁44、MySQL 如何避免死锁45、MySQL 和 MariaDB 的区别46、MySQL 日志 undo 和 redo 的区别47、什么是表分区48、表分区有什么好处49、表分区与分表的区别50、MySQL 支持的分区类型有哪些51、MySQL 分区表有哪些限制因素52、MySQL 为什么要分库分表53、MySQL 分库分表怎么做54、MySQL 分库分表工具有哪些55、MySQL 分库分表会产生哪些问题56、MySQL 批量插入如何不插入重复数据Redis缓存1、Redis 是什么2、Redis 有哪些应用场景3、Redis 有什么优势4、Redis 为什么这么快5、Redis 主要消耗什么物理资源6、Redis 到底是单线程还是多线程7、Redis 和 Memcache 有什么区别8、Redis 支持哪些数据类型9、Redis 默认支持多少个数据库怎么修改10、Redis 最大 key 大小11、Redis String 值最大存储多少12、Redis 事务有什么用13、Redis 事务相关的命令有哪几个14、Redis 持久化有什么用15、Redis 有哪几种持久化方式16、Redis 持久化方式如何选择17、Redis 内存满了怎么办18、Redis 有哪些淘汰策略19、Redis 如何提高多核 CPU 利用率20、Redis 如何实现大量数据插入21、Redis 的回收进程如何工作的22、Redis 中的管道有什么用23、Redis 有哪些高可用方案24、Redis 集群如何选择数据库25、Redis 哈希槽怎么理解26、Redis 支持的 Java 客户端有哪些27、Redisson 是什么框架28、Redis 和 Redisson 有什么关系29、Jedis 和 Redisson 对比有什么优缺点30、Redis 为什么不提供 Windows 版本31、Redis 如何设置密码访问32、Redis 如何分析慢查询操作33、什么是缓存预热和热备34、什么是缓存雪崩如何解决35、什么是缓存穿透如何解决36、什么是缓存击穿如何解决37、什么是缓存抖动如何解决38、什么是缓存无底洞现象如何解决39、Redis 和数据库双写一致性问题如何解决40、Redis 有哪些危险命令如何防范41、Redis 如何统计独立用户访问量Zookeeper1、ZooKeeper 是什么2、ZooKeeper 有哪些特性3、ZooKeeper 有哪些应用场景4、Zookeeper 支持哪些数据节点类型5、Zookeeper 常用的命令有哪些6、Zookeeper 服务器有哪几种角色7、Zookeeper 服务器有哪几种工作状态8、Zookeeper 支持哪些 Java 客户端9、ZooKeeper 有几种部署模式10、Zookeeper 集群最少要几台机器为什么?11、Zookeeper 集群支持动态添加机器吗12、ZooKeeper 是如何实现分布式事务的13、ZooKeeper 是如何实现分布式锁的14、Zookeeper 中的文件系统怎么理解15、Zookeeper 和 Chubby 的区别16、怎么理解 ZAB 协议17、ZAB 和 Paxos 算法的联系与区别分布式1、什么是 SOA2、SOA 和微服务架构有什么区别3、什么是 CAP 原则4、什么是 BASE 原则5、什么是 RMI6、什么是 RPC7、RMI 和 RPC 有什么区别8、分布式系统下会遇到哪些问题9、分布式 Session 共享怎么实现10、分布式唯一 ID 怎么实现11、什么是分布式事务12、分布式事务的解决方案有哪些13、什么是微服务14、微服务架构有什么优势15、微服务架构有什么缺点16、什么是服务治理17、什么是服务降级18、服务降级的方案有哪些19、什么是服务雪崩20、什么是服务熔断MyBatis1、MyBatis 是什么框架2、MyBatis 和 ORM 的区别3、MyBatis 为什么是半自动 ORM 映射4、MyBatis 框架的应用场景5、MyBatis 有哪些优点6、MyBatis 有哪些缺点7、MyBatis 和 Hibernate 的区别8、MyBatis 和 JPA 的区别9、MyBatis 有哪几种 SQL 编写形式10、MyBatis 支持哪些传参数的方法11、MyBatis 的 $ 和 # 传参的区别12、MyBatis 可以映射到枚举类吗13、MyBatis 怎么封装动态 SQL14、Mybatis trim 标签有什么用15、MyBatis 怎么实现分页16、MyBatis 流式查询有什么用17、MyBatis 模糊查询 like 语句该怎么写18、MyBatis 配置文件中的 SQL id 是否能重复19、MyBatis 如何防止 SQL 注入20、MyBatis 如何获取自动生成的主键 id21、MyBatis 使用了哪些设计模式22、MyBatis 中的缓存机制有啥用23、MyBatis 一级缓存和二级缓存的区别24、MyBatis-Plus 是什么框架消息队列1、消息队列有什么用2、消息队列有哪些应用场景3、消息队列有什么优缺点4、消息队列怎么选型5、有了多线程为什么还要消息队列6、消息队列和多线程应该怎么选择呢7、使用消息队列会遇到哪些问题8、消息队列如何处理消息重复消费问题9、消息队列为什么会产生消息丢失10、消息队列如何解决消息丢失问题11、消息队列如何保证消息顺序消费12、消息延迟推送有哪些应用场景13、什么是拉模式和推模式14、什么是消息持久化15、消息持久化有什么缺点16、什么是 JMS17、什么是 RabbitMQ18、RabbitMQ 有哪些优点19、RabbitMQ 有哪些重要的组件20、RabbitMQ 有哪些重要的角色21、RabbitMQ 交换器类型有哪些22、RabbitMQ 消息基于什么传输23、RabbitMQ 怎么避免消息丢失24、RabbitMQ 怎么保证消息的稳定性25、RabbitMQ 支持事务消息吗26、RabbitMQ 事务消息在什么情况下无效27、RabbitMQ 接收到消息之后必须消费吗28、RabbitMQ 如何确保每个消息能被消费29、RabbitMQ 消息持久化的条件30、RabbitMQ 中的死信队列是什么31、RabbitMQ 队列中的消息是否有数量限制?32、RabbitMQ 怎么实现消息延迟推送Linux1、Linux 是什么2、Linux 和 Unix 的区别3、Linux 系统有哪些优势4、Linux 怎么查看内核版本5、RedHat、CentOS、Ubuntu 有什么区别6、Linux 和 Windows 正反斜杠的区别7、Linux 环境变量配置有哪几种方式8、Linux 安装软件有哪几种方式9、Linux 普通用户怎么以管理员身份执行指令10、Linux 的 root 和 home 目录有什么不同11、Linux 系统 root 和普通用户的区别12、Linux 怎么区分 root 和普通用户13、Linux 怎么切换用户14、Linux 中的 bash 是什么15、Linux 中的 Shell 是什么16、Linux 怎么显示目录下的文件17、Linux 中 ll 和 ls 命令的区别18、Linux 怎么创建文件19、Linux 怎么创建目录20、Linux 怎么切换目录21、Linux 怎么切换到上 N 级目录22、Linux 怎么切换到之前所在的目录23、Linux 怎么切换到当前用户主目录24、Linux 怎么查看当前目录所在路径25、Linux 下的权限有哪几种26、Linux 文件调用权限分为哪 3 级27、Linux 怎么修改文件权限28、Linux 怎么修改文件所有者和所属组29、Linux 怎么查看磁盘的使用情况30、Linux 怎么查看内存的使用情况31、Linux 怎么查看资源消耗最多的进程32、Linux 怎么看端口被哪个进程占用33、Linux 怎么查找某个进程34、Linux 怎么结束某个进程35、Linux 怎么清屏36、Linux 控制台怎么设置超时自动注销37、Linux vim 和 vi 命令的区别38、Linux vim 命令怎么使用39、Linux 软链接和硬链接区别40、Linux 怎么创建软、硬链接41、Linux 中的零拷贝是指什么42、Linux 下 select,poll,epoll 的区别尾声本文的主体内容是务实实战。在面试场上充分的发挥我们所学的内容和背的面试题。不管你现在在不在面试的路上还是储备知识在你准备向面试或 it 行业更好的迈进前希望有本书助你一臂之力Ps由于篇幅限制笔记无法全部为大家展示出来就以截图主要内容的形式让大家参考啦有需要的可以点击下方名片获取