进大厂是大部分程序员的梦想而进大厂的门槛也是比较高的所以这里整理了一份阿里、美团、滴滴、头条等大厂面试大全其中概括的知识点有Java 基础、spring、springmvc、springboot、springcloud、JVM、Tomcat、dubbo、netty、zookeeper 共有 500道面试题面试题整理十分全面文末还有答案解析文章比较长耐心看完让你面试提升一大截Ps由于篇幅限制笔记无法全部为大家展示出来就以截图主要内容的形式让大家参考啦需要完整版的小伙伴可以在文末获取Java 基础Java 概述何为编程什么是 Javajdk1.5 之后的三大版本JVM、JRE 和 JDK 的关系什么是跨平台性原理是什么Java 语言有哪些特点什么是字节码采用字节码的最大好处是什么什么是 Java 程序的主类应用程序和小程序的主类有何不同Java 应用程序与小程序之间有那些差别Java 和 C的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java 有哪些数据类型switch 是否能作用在 byte 上是否能作用在 long 上是否能作用在 String 上用最有效率的方法计算 2 乘以 8Math.round(11.5) 等于多少Math.round(-11.5)等于多少float f3.4;是否正确short s1 1; s1 s1 1;有错吗?short s1 1; s1 1;有错吗编码Java 语言采用何种编码方案有何特点注释什么 Java 注释访问修饰符访问修饰符 public,private,protected,以及不写默认时的区别运算符和 的区别关键字Java 有没有 gotofinal 有什么用final finally finalize 区别this 关键字的用法super 关键字的用法this 与 super 的区别static 存在的主要意义static 的独特之处static 应用场景static 注意事项流程控制语句break ,continue ,return 的区别及作用在 Java 中如何跳出当前的多重嵌套循环面向对象面向对象概述面向对象和面向过程的区别面向对象三大特性面向对象的特征有哪些方面什么是多态机制Java 语言是如何实现多态的面向对象五大基本原则是什么可选类与接口抽象类和接口的对比普通类和抽象类有哪些区别抽象类能使用 final 修饰吗创建一个对象用什么关键字对象实例与对象引用有何不同变量与方法成员变量与局部变量的区别有哪些在 Java 中定义一个不做事且没有参数的构造方法的作用在调用子类构造方法之前会先调用父类没有参数的构造方法其目的是一个类的构造方法的作用是什么若一个类没有声明构造方法该程序能正确执行吗为什么构造方法有哪些特性静态变量和实例变量区别静态变量与普通变量区别静态方法和实例方法有何不同在一个静态方法内调用一个非静态成员为什么是非法的什么是方法的返回值返回值的作用是什么内部类什么是内部类内部类的分类有哪些静态内部类成员内部类局部内部类匿名内部类内部类的优点内部类有哪些应用场景局部内部类和匿名内部类访问局部变量的时候为什么变量必须要加上 final内部类相关看程序说出运行结果重写与重载构造器constructor是否可被重写override重载Overload和重写Override的区别。重载的方法能否根据返回类型进行区分对象相等判断 和 equals 的区别是什么hashCode 与 equals (重要)对象的相等与指向他们的引用相等两者有什么不同值传递当一个对象被当作参数传递到一个方法后此方法可改变这个对象的属性并可返回变化后的结果那么这里到底是值传递还是引用传递为什么 Java 中只有值传递值传递和引用传递有什么区别Java 包JDK 中常用的包有哪些import java 和 javax 有什么区别IO 流java 中 IO 流分为几种?BIO,NIO,AIO 有什么区别?Files 的常用方法都有哪些反射什么是反射机制反射机制优缺点反射机制的应用场景有哪些Java 获取反射的三种方法网络编程常用 APIString 相关字符型常量和字符串常量的区别什么是字符串常量池String 是最基本的数据类型吗String 有哪些特性String 为什么是不可变的吗String 真的是不可变的吗是否可以继承 String 类String stri与 String strnew String(i)一样吗String s new String(xyz);创建了几个字符串对象如何将字符串反转数组有没有 length()方法String 有没有 length()方法String 类的常用方法都有那些在使用 HashMap 的时候用 String 做 key 有什么好处String 和 StringBuffer、StringBuilder 的区别是什么String 为什么是不可变的Date 相关包装类相关自动装箱与拆箱int 和 Integer 有什么区别Integer a 127 与 Integer b 127 相等吗常用工具类库单元测试日志JVM说一下 JVM 的主要组成部分及其作用说一下 JVM 运行时数据区说一下堆栈的区别队列和栈是什么有什么区别对象的创建为对象分配内存处理并发安全问题对象的访问定位句柄访问直接指针内存溢出异常Java 会存在内存泄漏吗请简单描述垃圾收集器简述 Java 垃圾回收机制GC 是什么为什么要 GC垃圾回收的优点和原理。并考虑 2 种回收机制垃圾回收器的基本原理是什么垃圾回收器可以马上回收内存吗有什么办法主动通知虚拟机进行垃圾回收Java 中都有哪些引用类型怎么判断对象是否可以被回收在 Java 中对象什么时候可以被垃圾回收JVM 中的永久代中会发生垃圾回收吗说一下 JVM 有哪些垃圾回收算法标记-清除算法复制算法标记-整理算法分代收集算法说一下 JVM 有哪些垃圾回收器详细介绍一下 CMS 垃圾回收器新生代垃圾回收器和老年代垃圾回收器都有哪些有什么区别简述分代垃圾回收器是怎么工作的简述 java 内存分配与回收策率以及 Minor GC 和 Major GC对象优先在 Eden 区分配大对象直接进入老年代长期存活对象将进入老年代简述 java 类加载机制?描述一下 JVM 加载 Class 文件的原理机制什么是类加载器类加载器有哪些?说一下类装载的执行过程什么是双亲委派模型说一下 JVM 调优的工具常用的 JVM 调优的参数都有哪些SpringSpring 概述10什么是 spring?Spring 框架的设计目标设计理念和核心是什么Spring 的优缺点是什么Spring 有哪些应用场景Spring 由哪些模块组成Spring 框架中都用到了哪些设计模式详细讲解一下核心容器spring context 应用上下文) 模块Spring 框架中有哪些不同类型的事件Spring 应用程序有哪些不同组件使用 Spring 有哪些方式Spring 控制反转(IOC)13什么是 Spring IOC 容器控制反转(IoC)有什么作用IOC 的优点是什么Spring IoC 的实现机制Spring 的 IoC 支持哪些功能BeanFactory 和 ApplicationContext 有什么区别Spring 如何设计容器的BeanFactory 和 ApplicationContext 的关系详解ApplicationContext 通常的实现是什么什么是 Spring 的依赖注入依赖注入的基本原则依赖注入有什么优势有哪些不同类型的依赖注入实现方式构造器依赖注入和 Setter 方法注入的区别Spring Beans19什么是 Spring beans一个 Spring Bean 定义 包含什么如何给 Spring 容器提供配置元数据Spring 有几种配置方式Spring 配置文件包含了哪些信息Spring 基于 xml 注入 bean 的几种方式你怎样定义类的作用域解释 Spring 支持的几种 bean 的作用域Spring 框架中的单例 bean 是线程安全的吗Spring 如何处理线程并发问题解释 Spring 框架中 bean 的生命周期哪些是重要的 bean 生命周期方法 你能重载它们吗什么是 Spring 的内部 bean什么是 Spring inner beans在 Spring 中如何注入一个 java 集合什么是 bean 装配什么是 bean 的自动装配解释不同方式的自动装配spring 自动装配 bean 有哪些方式使用 Autowired 注解自动装配的过程是怎样的自动装配有哪些局限性你可以在 Spring 中注入一个 null 和一个空字符串吗Spring 注解8什么是基于 Java 的 Spring 注解配置? 给一些注解的例子怎样开启注解装配Component, Controller, Repository, Service 有何区别Required 注解有什么作用Autowired 注解有什么作用Autowired 和 Resource 之间的区别Qualifier 注解有什么作用RequestMapping 注解有什么用Spring 数据访问14解释对象/关系映射集成模块在 Spring 框架中如何更有效地使用 JDBC解释 JDBC 抽象和 DAO 模块spring DAO 有什么用spring JDBC API 中存在哪些类JdbcTemplate 是什么使用 Spring 通过什么方式访问 Hibernate使用 Spring 访问 Hibernate 的方法有哪些如何通过 HibernateDaoSupport 将 Spring 和 Hibernate 结合起来Spring 支持的事务管理类型 spring 事务实现方式有哪些Spring 事务的实现方式和实现原理说一下 Spring 的事务传播行为说一下 spring 的事务隔离Spring 框架的事务管理有哪些优点你更倾向用那种事务管理类型Spring 面向切面编程(AOP)13什么是 AOPSpring AOP and AspectJ AOP 有什么区别AOP 有哪些实现方式JDK 动态代理和 CGLIB 动态代理的区别如何理解 Spring 中的代理解释一下 Spring AOP 里面的几个名词Spring 在运行时通知对象Spring 只支持方法级别的连接点在 Spring AOP 中关注点和横切关注的区别是什么在 spring aop 中 concern 和 cross-cutting concern 的不同之处Spring 通知有哪些类型什么是切面 Aspect解释基于 XML Schema 方式的切面实现解释基于注解的切面实现有几种不同类型的自动代理Spring 80 道面试题答案SpringMVC什么是 Spring MVC简单介绍下你对 Spring MVC 的理解Spring MVC 的优点Spring MVC 的主要组件什么是 DispatcherServlet什么是 Spring MVC 框架的控制器Spring MVC 的控制器是不是单例模式,如果是,有什么问题,怎么解决请描述 Spring MVC 的工作流程描述一下 DispatcherServlet 的工作流程MVC 是什么MVC 设计模式的好处有哪些注解原理是什么Spring MVC 常用的注解有哪些SpingMvc 中的控制器的注解一般用哪个,有没有别的注解可以替代Controller 注解的作用RequestMapping 注解的作用ResponseBody 注解的作用PathVariable 和 RequestParam 的区别Spring MVC 与 Struts2 区别Spring MVC 怎么样设定重定向和转发的Spring MVC 怎么和 AJAX 相互调用的如何解决 POST 请求中文乱码问题GET 的又如何处理呢Spring MVC 的异常处理如果在拦截请求中我想拦截 get 方式提交的方法,怎么配置怎样在方法里面得到 Request,或者 Session如果想在拦截的方法里面得到从前台传入的参数,怎么得到如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象Spring MVC 中函数的返回值是什么Spring MVC 用什么对象从后台向前台传递数据的怎么样把 ModelMap 里面的数据放入 Session 里面Spring MVC 里面拦截器是怎么写的介绍一下 WebApplicationContextSpringBoot什么是 Spring BootSpring Boot 有哪些优点Spring Boot 的核心注解是哪个它主要由哪几个注解组成的什么是 JavaConfigSpring Boot 自动配置原理是什么你如何理解 Spring Boot 配置加载顺序什么是 YAMLYAML 配置的优势在哪里 ?Spring Boot 是否可以使用 XML 配置 ?spring boot 核心配置文件是什么bootstrap.properties 和 application.properties 有何区别 ?什么是 Spring Profiles如何在自定义端口上运行 Spring Boot 应用程序如何实现 Spring Boot 应用程序的安全性比较一下 Spring Security 和 Shiro 各自的优缺点 ?Spring Boot 中如何解决跨域问题 ?什么是 CSRF 攻击Spring Boot 中的监视器是什么如何在 Spring Boot 中禁用 Actuator 端点安全性我们如何监视所有 Spring Boot 微服务什么是 WebSockets什么是 Spring Data ?什么是 Spring Batch什么是 FreeMarker 模板如何集成 Spring Boot 和 ActiveMQ什么是 Apache Kafka什么是 Swagger你用 Spring Boot 实现了它吗前后端分离如何维护接口文档 ?如何重新加载 Spring Boot 上的更改而无需重新启动服务器Spring Boot 项目如何热部署您使用了哪些 starter maven 依赖项Spring Boot 中的 starter 到底是什么 ?spring-boot-starter-parent 有什么用 ?Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?运行 Spring Boot 有哪几种方式Spring Boot 需要独立的容器运行吗开启 Spring Boot 特性有哪几种方式如何使用 Spring Boot 实现异常处理如何使用 Spring Boot 实现分页和排序微服务中如何实现 session 共享 ?Spring Boot 中如何实现定时任务 ?Spring Cloud为什么需要学习 Spring Cloud什么是 Spring Cloud设计目标与优缺点设计目标优缺点Spring Cloud 发展前景整体架构主要项目Spring Cloud ConfigSpring Cloud NetflixSpring Cloud BusSpring Cloud ConsulSpring Cloud SecuritySpring Cloud SleuthSpring Cloud StreamSpring Cloud TaskSpring Cloud ZookeeperSpring Cloud GatewaySpring Cloud OpenFeignSpring Cloud 的版本关系Spring Cloud 和 SpringBoot 版本对应关系Spring Cloud 和各子项目版本对应关系SpringBoot 和 SpringCloud 的区别使用 Spring Boot 开发分布式微服务时我们面临以下问题服务注册和发现是什么意思Spring Cloud 如何实现Spring Cloud 和 dubbo 区别?负载平衡的意义什么什么是 Hystrix它如何实现容错什么是 Hystrix 断路器我们需要它吗什么是 Netflix Feign它的优点是什么什么是 Spring Cloud Bus我们需要它吗Spring Cloud 断路器的作用什么是 Spring Cloud Config?什么是 Spring Cloud Gateway?SpringCloud 34 道面试答案MyBatisMyBatis 是什么ORM 是什么为什么说 Mybatis 是半自动 ORM 映射工具它与全自动的区别在哪里传统 JDBC 开发存在的问题JDBC 编程有哪些不足之处MyBatis 是如何解决这些问题的Mybatis 优缺点MyBatis 框架适用场景Hibernate 和 MyBatis 的区别MyBatis 的解析和运行原理MyBatis 编程步骤是什么样的请说说 MyBatis 的工作原理MyBatis 的功能架构是怎样的MyBatis 的框架架构设计是怎么样的Mybatis 都有哪些 Executor 执行器它们之间的区别是什么Mybatis 中如何指定使用哪一种 Executor 执行器Mybatis 是否支持延迟加载如果支持它的实现原理是什么#{}和 ${}的区别模糊查询 like 语句该怎么写在 mapper 中如何传递多个参数Mybatis 如何执行批量操作如何获取生成的主键当实体类中的属性名和表中的字段名不一样 怎么办Mapper 编写有哪几种方式什么是 MyBatis 的接口绑定有哪些实现方式使用 MyBatis 的 mapper 接口调用时有哪些要求最佳实践中通常一个 Xml 映射文件都会写一个 Dao 接口与之对应请问这个 Dao 接口的工作原理是什么Dao 接口里的方法参数不同时方法能重载吗Mybatis 的 Xml 映射文件中不同的 Xml 映射文件id 是否可以重复简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系Mybatis 是如何将 sql 执行结果封装为目标对象并返回的都有哪些映射形式Xml 映射文件中除了常见的 select|insert|updae|delete 标签之外还有哪些标签Mybatis 映射文件中如果 A 标签通过 include 引用了 B 标签的内容请问B 标签能否定义在 A 标签的后面还是说必须定义在 A 标签的前面MyBatis 实现一对一一对多有几种方式怎么操作的Mybatis 是否可以映射 Enum 枚举类Mybatis 动态 sql 是做什么的都有哪些动态 sql能简述一下动态 sql 的执行原理不Mybatis 是如何进行分页的分页插件的原理是什么简述 Mybatis 的插件运行原理以及如何编写一个插件。Mybatis 的一级、二级缓存Mybatis 面试答案Redis什么是 RedisRedis 有哪些优缺点为什么要用 Redis /为什么要用缓存为什么要用 Redis 而不用 map/guava 做缓存?Redis 为什么这么快Redis 有哪些数据类型Redis 的应用场景什么是 Redis 持久化Redis 的持久化机制是什么各自的优缺点如何选择合适的持久化方式Redis 持久化数据和缓存怎么做扩容Redis 的过期键的删除策略Redis key 的过期时间和永久有效分别怎么设置我们知道通过 expire 来设置 key 的过期时间那么对过期的数据怎么处理呢?MySQL 里有 2000w 数据redis 中只存 20w 的数据如何保证 redis 中的数据都是热点数据Redis 的内存淘汰策略有哪些Redis 主要消耗什么物理资源Redis 的内存用完了会发生什么Redis 如何做内存优化Redis 线程模型什么是事务Redis 事务的概念Redis 事务的三个阶段Redis 事务相关命令事务管理ACID概述Redis 事务支持隔离性吗Redis 事务保证原子性吗支持回滚吗Redis 事务其他实现哨兵模式官方 Redis Cluster 方案(服务端路由查询)基于客户端分配基于代理服务器分片Redis 主从架构Redis 集群的主从复制模型是怎样的生产环境中的 redis 是怎么部署的说说 Redis 哈希槽的概念Redis 集群会有写操作丢失吗为什么Redis 集群之间是如何复制的Redis 集群最大节点个数是多少Redis 集群如何选择数据库Redis 是单线程的如何提高多核 CPU 的利用率为什么要做 Redis 分区你知道有哪些 Redis 分区实现方案Redis 分区有什么缺点Redis 实现分布式锁如何解决 Redis 的并发竞争 Key 问题分布式 Redis 是前期做还是后期规模上来了再做好为什么什么是 RedLock缓存雪崩缓存穿透缓存击穿缓存预热缓存降级热点数据和冷数据缓存热点 keyRedis 支持的 Java 客户端都有哪些官方推荐用哪个Redis 和 Redisson 有什么关系Jedis 与 Redisson 对比有什么优缺点Redis 与 Memcached 的区别如何保证缓存与数据库双写时的数据一致性Redis 常见性能问题和解决方案Redis 官方为什么不提供 Windows 版本一个字符串类型的值能存储最大容量是多少Redis 如何做大量数据插入假如 Redis 里面有 1 亿个 key其中有 10w 个 key 是以某个固定的已知的前缀开头的如果将它们全部找出来使用 Redis 做过异步队列吗是如何实现的Redis 如何实现延时队列Redis 回收进程如何工作的Redis 回收使用的是什么算法Dubbo为什么要用 DubboDubbo 是什么Dubbo 的使用场景有哪些Dubbo 核心功能有哪些Dubbo 核心组件有哪些Dubbo 服务器注册与发现的流程Dubbo 的整体架构设计有哪些分层?Dubbo Monitor 实现原理Dubbo 类似的分布式框架还有哪些Dubbo 和 Spring Cloud 有什么关系Dubbo 和 Spring Cloud 有什么哪些区别Dubbo 和 Dubbox 之间的区别Dubbo 有哪些注册中心Dubbo 的注册中心集群挂掉发布者和订阅者之间还能通信么Dubbo 集群提供了哪些负载均衡策略Dubbo 的集群容错方案有哪些Dubbo 配置文件是如何加载到 Spring 中的说说核心的配置有哪些Dubbo 超时设置有哪些方式服务调用超时会怎么样Dubbo 使用的是什么通信框架?Dubbo 支持哪些协议它们的优缺点有哪些Dubbo 用到哪些设计模式服务上线怎么兼容旧版本Dubbo telnet 命令能做什么Dubbo 支持服务降级吗Dubbo 如何优雅停机Dubbo SPI 和 Java SPI 区别Dubbo 支持分布式事务吗Dubbo 可以对结果进行缓存吗Dubbo 必须依赖的包有哪些Dubbo 支持哪些序列化方式Dubbo 在安全方面有哪些措施服务调用是阻塞的吗服务提供者能实现失效踢出是什么原理同一个服务多个注册的情况下可以直连某一个服务吗Dubbo 服务降级失败重试怎么做Dubbo 使用过程中都遇到了些什么问题为什么要有 RPC什么是 RPCPRC 架构组件RPC 和 SOA、SOAP、REST 的区别RPC 框架需要解决的问题RPC 的实现基础RPC 使用了哪些关键技术主流 RPC 框架有哪些RPC 的实现原理架构图TomcatTomcat 是什么Tomcat 的缺省端口是多少怎么修改tomcat 有哪几种 Connector 运行模式(优化)Tomcat 有几种部署方式tomcat 容器是如何创建 servlet 类实例用到了什么原理Tomcat 工作模式Tomcat 顶层架构Tomcat 顶层架构小结Connector 和 Container 的微妙关系Container 架构分析Container 如何处理请求ZooKeeperZooKeeper 是什么ZooKeeper 提供了什么Zookeeper 文件系统Zookeeper 怎么保证主从节点的状态同步四种类型的数据节点 ZnodeZookeeper Watcher 机制 -- 数据变更通知客户端注册 Watcher 实现服务端处理 Watcher 实现客户端回调 WatcherACL 权限控制机制Chroot 特性会话管理服务器角色Zookeeper 下 Server 工作状态数据同步zookeeper 是如何保证事务的顺序一致性的分布式集群中为什么会有 Master 主节点zk 节点宕机如何处理zookeeper 负载均衡和 nginx 负载均衡区别Zookeeper 有哪几种几种部署模式集群最少要几台机器集群规则是怎样的集群中有 3 台服务器其中一个节点宕机这个时候 Zookeeper 还可以使用吗集群支持动态添加机器吗Zookeeper 对节点的 watch 监听通知是永久的吗为什么不是永久的?Zookeeper 的 java 客户端都有哪些chubby 是什么和 zookeeper 比你怎么看说几个 zookeeper 常用的命令。ZAB 和 Paxos 算法的联系与区别Zookeeper 的典型应用场景Zookeeper 都有哪些功能说一下 Zookeeper 的通知机制Zookeeper 和 Dubbo 的关系NettyNetty 是什么Netty 的特点是什么Netty 的优势有哪些Netty 的应用场景有哪些Netty 高性能表现在哪些方面BIO、NIO 和 AIO 的区别NIO 的组成Netty 的线程模型TCP 粘包/拆包的原因及解决方法什么是 Netty 的零拷贝Netty 中有哪种重要组件Netty 发送消息有几种方式默认情况 Netty 起多少线程何时启动了解哪几种序列化协议如何选择序列化协议Netty 支持哪些心跳类型设置Netty 和 Tomcat 的区别NIOEventLoopGroup 源码JDK 原生 NIO 程序的问题Netty 的特点Netty 常见使用场景I/O 模型阻塞 I/OI/O 复用模型基于 buffer线程模型事件驱动模型Reactor 线程模型Netty 线程模型异步处理Bootstrap、ServerBootstrapFuture、ChannelFutureChannelSelectorNioEventLoopNioEventLoopGroupChannelHandlerChannelHandlerContextChannelPipline面试答案汇总小编整理 Java 面试宝典分享给大家复习Java 核心知识覆盖了 JVM、锁、并发、Java 反射、Spring 原理、微服务、Zookeeper、数据库、数据结构等大量知识点Ps由于篇幅限制笔记无法全部为大家展示出来就以截图主要内容的形式让大家参考啦需要完整版的小伙伴可以点击下方名片获取
Java后端面试题大全(附答案详解),1000道大厂高频题全收录
进大厂是大部分程序员的梦想而进大厂的门槛也是比较高的所以这里整理了一份阿里、美团、滴滴、头条等大厂面试大全其中概括的知识点有Java 基础、spring、springmvc、springboot、springcloud、JVM、Tomcat、dubbo、netty、zookeeper 共有 500道面试题面试题整理十分全面文末还有答案解析文章比较长耐心看完让你面试提升一大截Ps由于篇幅限制笔记无法全部为大家展示出来就以截图主要内容的形式让大家参考啦需要完整版的小伙伴可以在文末获取Java 基础Java 概述何为编程什么是 Javajdk1.5 之后的三大版本JVM、JRE 和 JDK 的关系什么是跨平台性原理是什么Java 语言有哪些特点什么是字节码采用字节码的最大好处是什么什么是 Java 程序的主类应用程序和小程序的主类有何不同Java 应用程序与小程序之间有那些差别Java 和 C的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java 有哪些数据类型switch 是否能作用在 byte 上是否能作用在 long 上是否能作用在 String 上用最有效率的方法计算 2 乘以 8Math.round(11.5) 等于多少Math.round(-11.5)等于多少float f3.4;是否正确short s1 1; s1 s1 1;有错吗?short s1 1; s1 1;有错吗编码Java 语言采用何种编码方案有何特点注释什么 Java 注释访问修饰符访问修饰符 public,private,protected,以及不写默认时的区别运算符和 的区别关键字Java 有没有 gotofinal 有什么用final finally finalize 区别this 关键字的用法super 关键字的用法this 与 super 的区别static 存在的主要意义static 的独特之处static 应用场景static 注意事项流程控制语句break ,continue ,return 的区别及作用在 Java 中如何跳出当前的多重嵌套循环面向对象面向对象概述面向对象和面向过程的区别面向对象三大特性面向对象的特征有哪些方面什么是多态机制Java 语言是如何实现多态的面向对象五大基本原则是什么可选类与接口抽象类和接口的对比普通类和抽象类有哪些区别抽象类能使用 final 修饰吗创建一个对象用什么关键字对象实例与对象引用有何不同变量与方法成员变量与局部变量的区别有哪些在 Java 中定义一个不做事且没有参数的构造方法的作用在调用子类构造方法之前会先调用父类没有参数的构造方法其目的是一个类的构造方法的作用是什么若一个类没有声明构造方法该程序能正确执行吗为什么构造方法有哪些特性静态变量和实例变量区别静态变量与普通变量区别静态方法和实例方法有何不同在一个静态方法内调用一个非静态成员为什么是非法的什么是方法的返回值返回值的作用是什么内部类什么是内部类内部类的分类有哪些静态内部类成员内部类局部内部类匿名内部类内部类的优点内部类有哪些应用场景局部内部类和匿名内部类访问局部变量的时候为什么变量必须要加上 final内部类相关看程序说出运行结果重写与重载构造器constructor是否可被重写override重载Overload和重写Override的区别。重载的方法能否根据返回类型进行区分对象相等判断 和 equals 的区别是什么hashCode 与 equals (重要)对象的相等与指向他们的引用相等两者有什么不同值传递当一个对象被当作参数传递到一个方法后此方法可改变这个对象的属性并可返回变化后的结果那么这里到底是值传递还是引用传递为什么 Java 中只有值传递值传递和引用传递有什么区别Java 包JDK 中常用的包有哪些import java 和 javax 有什么区别IO 流java 中 IO 流分为几种?BIO,NIO,AIO 有什么区别?Files 的常用方法都有哪些反射什么是反射机制反射机制优缺点反射机制的应用场景有哪些Java 获取反射的三种方法网络编程常用 APIString 相关字符型常量和字符串常量的区别什么是字符串常量池String 是最基本的数据类型吗String 有哪些特性String 为什么是不可变的吗String 真的是不可变的吗是否可以继承 String 类String stri与 String strnew String(i)一样吗String s new String(xyz);创建了几个字符串对象如何将字符串反转数组有没有 length()方法String 有没有 length()方法String 类的常用方法都有那些在使用 HashMap 的时候用 String 做 key 有什么好处String 和 StringBuffer、StringBuilder 的区别是什么String 为什么是不可变的Date 相关包装类相关自动装箱与拆箱int 和 Integer 有什么区别Integer a 127 与 Integer b 127 相等吗常用工具类库单元测试日志JVM说一下 JVM 的主要组成部分及其作用说一下 JVM 运行时数据区说一下堆栈的区别队列和栈是什么有什么区别对象的创建为对象分配内存处理并发安全问题对象的访问定位句柄访问直接指针内存溢出异常Java 会存在内存泄漏吗请简单描述垃圾收集器简述 Java 垃圾回收机制GC 是什么为什么要 GC垃圾回收的优点和原理。并考虑 2 种回收机制垃圾回收器的基本原理是什么垃圾回收器可以马上回收内存吗有什么办法主动通知虚拟机进行垃圾回收Java 中都有哪些引用类型怎么判断对象是否可以被回收在 Java 中对象什么时候可以被垃圾回收JVM 中的永久代中会发生垃圾回收吗说一下 JVM 有哪些垃圾回收算法标记-清除算法复制算法标记-整理算法分代收集算法说一下 JVM 有哪些垃圾回收器详细介绍一下 CMS 垃圾回收器新生代垃圾回收器和老年代垃圾回收器都有哪些有什么区别简述分代垃圾回收器是怎么工作的简述 java 内存分配与回收策率以及 Minor GC 和 Major GC对象优先在 Eden 区分配大对象直接进入老年代长期存活对象将进入老年代简述 java 类加载机制?描述一下 JVM 加载 Class 文件的原理机制什么是类加载器类加载器有哪些?说一下类装载的执行过程什么是双亲委派模型说一下 JVM 调优的工具常用的 JVM 调优的参数都有哪些SpringSpring 概述10什么是 spring?Spring 框架的设计目标设计理念和核心是什么Spring 的优缺点是什么Spring 有哪些应用场景Spring 由哪些模块组成Spring 框架中都用到了哪些设计模式详细讲解一下核心容器spring context 应用上下文) 模块Spring 框架中有哪些不同类型的事件Spring 应用程序有哪些不同组件使用 Spring 有哪些方式Spring 控制反转(IOC)13什么是 Spring IOC 容器控制反转(IoC)有什么作用IOC 的优点是什么Spring IoC 的实现机制Spring 的 IoC 支持哪些功能BeanFactory 和 ApplicationContext 有什么区别Spring 如何设计容器的BeanFactory 和 ApplicationContext 的关系详解ApplicationContext 通常的实现是什么什么是 Spring 的依赖注入依赖注入的基本原则依赖注入有什么优势有哪些不同类型的依赖注入实现方式构造器依赖注入和 Setter 方法注入的区别Spring Beans19什么是 Spring beans一个 Spring Bean 定义 包含什么如何给 Spring 容器提供配置元数据Spring 有几种配置方式Spring 配置文件包含了哪些信息Spring 基于 xml 注入 bean 的几种方式你怎样定义类的作用域解释 Spring 支持的几种 bean 的作用域Spring 框架中的单例 bean 是线程安全的吗Spring 如何处理线程并发问题解释 Spring 框架中 bean 的生命周期哪些是重要的 bean 生命周期方法 你能重载它们吗什么是 Spring 的内部 bean什么是 Spring inner beans在 Spring 中如何注入一个 java 集合什么是 bean 装配什么是 bean 的自动装配解释不同方式的自动装配spring 自动装配 bean 有哪些方式使用 Autowired 注解自动装配的过程是怎样的自动装配有哪些局限性你可以在 Spring 中注入一个 null 和一个空字符串吗Spring 注解8什么是基于 Java 的 Spring 注解配置? 给一些注解的例子怎样开启注解装配Component, Controller, Repository, Service 有何区别Required 注解有什么作用Autowired 注解有什么作用Autowired 和 Resource 之间的区别Qualifier 注解有什么作用RequestMapping 注解有什么用Spring 数据访问14解释对象/关系映射集成模块在 Spring 框架中如何更有效地使用 JDBC解释 JDBC 抽象和 DAO 模块spring DAO 有什么用spring JDBC API 中存在哪些类JdbcTemplate 是什么使用 Spring 通过什么方式访问 Hibernate使用 Spring 访问 Hibernate 的方法有哪些如何通过 HibernateDaoSupport 将 Spring 和 Hibernate 结合起来Spring 支持的事务管理类型 spring 事务实现方式有哪些Spring 事务的实现方式和实现原理说一下 Spring 的事务传播行为说一下 spring 的事务隔离Spring 框架的事务管理有哪些优点你更倾向用那种事务管理类型Spring 面向切面编程(AOP)13什么是 AOPSpring AOP and AspectJ AOP 有什么区别AOP 有哪些实现方式JDK 动态代理和 CGLIB 动态代理的区别如何理解 Spring 中的代理解释一下 Spring AOP 里面的几个名词Spring 在运行时通知对象Spring 只支持方法级别的连接点在 Spring AOP 中关注点和横切关注的区别是什么在 spring aop 中 concern 和 cross-cutting concern 的不同之处Spring 通知有哪些类型什么是切面 Aspect解释基于 XML Schema 方式的切面实现解释基于注解的切面实现有几种不同类型的自动代理Spring 80 道面试题答案SpringMVC什么是 Spring MVC简单介绍下你对 Spring MVC 的理解Spring MVC 的优点Spring MVC 的主要组件什么是 DispatcherServlet什么是 Spring MVC 框架的控制器Spring MVC 的控制器是不是单例模式,如果是,有什么问题,怎么解决请描述 Spring MVC 的工作流程描述一下 DispatcherServlet 的工作流程MVC 是什么MVC 设计模式的好处有哪些注解原理是什么Spring MVC 常用的注解有哪些SpingMvc 中的控制器的注解一般用哪个,有没有别的注解可以替代Controller 注解的作用RequestMapping 注解的作用ResponseBody 注解的作用PathVariable 和 RequestParam 的区别Spring MVC 与 Struts2 区别Spring MVC 怎么样设定重定向和转发的Spring MVC 怎么和 AJAX 相互调用的如何解决 POST 请求中文乱码问题GET 的又如何处理呢Spring MVC 的异常处理如果在拦截请求中我想拦截 get 方式提交的方法,怎么配置怎样在方法里面得到 Request,或者 Session如果想在拦截的方法里面得到从前台传入的参数,怎么得到如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象Spring MVC 中函数的返回值是什么Spring MVC 用什么对象从后台向前台传递数据的怎么样把 ModelMap 里面的数据放入 Session 里面Spring MVC 里面拦截器是怎么写的介绍一下 WebApplicationContextSpringBoot什么是 Spring BootSpring Boot 有哪些优点Spring Boot 的核心注解是哪个它主要由哪几个注解组成的什么是 JavaConfigSpring Boot 自动配置原理是什么你如何理解 Spring Boot 配置加载顺序什么是 YAMLYAML 配置的优势在哪里 ?Spring Boot 是否可以使用 XML 配置 ?spring boot 核心配置文件是什么bootstrap.properties 和 application.properties 有何区别 ?什么是 Spring Profiles如何在自定义端口上运行 Spring Boot 应用程序如何实现 Spring Boot 应用程序的安全性比较一下 Spring Security 和 Shiro 各自的优缺点 ?Spring Boot 中如何解决跨域问题 ?什么是 CSRF 攻击Spring Boot 中的监视器是什么如何在 Spring Boot 中禁用 Actuator 端点安全性我们如何监视所有 Spring Boot 微服务什么是 WebSockets什么是 Spring Data ?什么是 Spring Batch什么是 FreeMarker 模板如何集成 Spring Boot 和 ActiveMQ什么是 Apache Kafka什么是 Swagger你用 Spring Boot 实现了它吗前后端分离如何维护接口文档 ?如何重新加载 Spring Boot 上的更改而无需重新启动服务器Spring Boot 项目如何热部署您使用了哪些 starter maven 依赖项Spring Boot 中的 starter 到底是什么 ?spring-boot-starter-parent 有什么用 ?Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?运行 Spring Boot 有哪几种方式Spring Boot 需要独立的容器运行吗开启 Spring Boot 特性有哪几种方式如何使用 Spring Boot 实现异常处理如何使用 Spring Boot 实现分页和排序微服务中如何实现 session 共享 ?Spring Boot 中如何实现定时任务 ?Spring Cloud为什么需要学习 Spring Cloud什么是 Spring Cloud设计目标与优缺点设计目标优缺点Spring Cloud 发展前景整体架构主要项目Spring Cloud ConfigSpring Cloud NetflixSpring Cloud BusSpring Cloud ConsulSpring Cloud SecuritySpring Cloud SleuthSpring Cloud StreamSpring Cloud TaskSpring Cloud ZookeeperSpring Cloud GatewaySpring Cloud OpenFeignSpring Cloud 的版本关系Spring Cloud 和 SpringBoot 版本对应关系Spring Cloud 和各子项目版本对应关系SpringBoot 和 SpringCloud 的区别使用 Spring Boot 开发分布式微服务时我们面临以下问题服务注册和发现是什么意思Spring Cloud 如何实现Spring Cloud 和 dubbo 区别?负载平衡的意义什么什么是 Hystrix它如何实现容错什么是 Hystrix 断路器我们需要它吗什么是 Netflix Feign它的优点是什么什么是 Spring Cloud Bus我们需要它吗Spring Cloud 断路器的作用什么是 Spring Cloud Config?什么是 Spring Cloud Gateway?SpringCloud 34 道面试答案MyBatisMyBatis 是什么ORM 是什么为什么说 Mybatis 是半自动 ORM 映射工具它与全自动的区别在哪里传统 JDBC 开发存在的问题JDBC 编程有哪些不足之处MyBatis 是如何解决这些问题的Mybatis 优缺点MyBatis 框架适用场景Hibernate 和 MyBatis 的区别MyBatis 的解析和运行原理MyBatis 编程步骤是什么样的请说说 MyBatis 的工作原理MyBatis 的功能架构是怎样的MyBatis 的框架架构设计是怎么样的Mybatis 都有哪些 Executor 执行器它们之间的区别是什么Mybatis 中如何指定使用哪一种 Executor 执行器Mybatis 是否支持延迟加载如果支持它的实现原理是什么#{}和 ${}的区别模糊查询 like 语句该怎么写在 mapper 中如何传递多个参数Mybatis 如何执行批量操作如何获取生成的主键当实体类中的属性名和表中的字段名不一样 怎么办Mapper 编写有哪几种方式什么是 MyBatis 的接口绑定有哪些实现方式使用 MyBatis 的 mapper 接口调用时有哪些要求最佳实践中通常一个 Xml 映射文件都会写一个 Dao 接口与之对应请问这个 Dao 接口的工作原理是什么Dao 接口里的方法参数不同时方法能重载吗Mybatis 的 Xml 映射文件中不同的 Xml 映射文件id 是否可以重复简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系Mybatis 是如何将 sql 执行结果封装为目标对象并返回的都有哪些映射形式Xml 映射文件中除了常见的 select|insert|updae|delete 标签之外还有哪些标签Mybatis 映射文件中如果 A 标签通过 include 引用了 B 标签的内容请问B 标签能否定义在 A 标签的后面还是说必须定义在 A 标签的前面MyBatis 实现一对一一对多有几种方式怎么操作的Mybatis 是否可以映射 Enum 枚举类Mybatis 动态 sql 是做什么的都有哪些动态 sql能简述一下动态 sql 的执行原理不Mybatis 是如何进行分页的分页插件的原理是什么简述 Mybatis 的插件运行原理以及如何编写一个插件。Mybatis 的一级、二级缓存Mybatis 面试答案Redis什么是 RedisRedis 有哪些优缺点为什么要用 Redis /为什么要用缓存为什么要用 Redis 而不用 map/guava 做缓存?Redis 为什么这么快Redis 有哪些数据类型Redis 的应用场景什么是 Redis 持久化Redis 的持久化机制是什么各自的优缺点如何选择合适的持久化方式Redis 持久化数据和缓存怎么做扩容Redis 的过期键的删除策略Redis key 的过期时间和永久有效分别怎么设置我们知道通过 expire 来设置 key 的过期时间那么对过期的数据怎么处理呢?MySQL 里有 2000w 数据redis 中只存 20w 的数据如何保证 redis 中的数据都是热点数据Redis 的内存淘汰策略有哪些Redis 主要消耗什么物理资源Redis 的内存用完了会发生什么Redis 如何做内存优化Redis 线程模型什么是事务Redis 事务的概念Redis 事务的三个阶段Redis 事务相关命令事务管理ACID概述Redis 事务支持隔离性吗Redis 事务保证原子性吗支持回滚吗Redis 事务其他实现哨兵模式官方 Redis Cluster 方案(服务端路由查询)基于客户端分配基于代理服务器分片Redis 主从架构Redis 集群的主从复制模型是怎样的生产环境中的 redis 是怎么部署的说说 Redis 哈希槽的概念Redis 集群会有写操作丢失吗为什么Redis 集群之间是如何复制的Redis 集群最大节点个数是多少Redis 集群如何选择数据库Redis 是单线程的如何提高多核 CPU 的利用率为什么要做 Redis 分区你知道有哪些 Redis 分区实现方案Redis 分区有什么缺点Redis 实现分布式锁如何解决 Redis 的并发竞争 Key 问题分布式 Redis 是前期做还是后期规模上来了再做好为什么什么是 RedLock缓存雪崩缓存穿透缓存击穿缓存预热缓存降级热点数据和冷数据缓存热点 keyRedis 支持的 Java 客户端都有哪些官方推荐用哪个Redis 和 Redisson 有什么关系Jedis 与 Redisson 对比有什么优缺点Redis 与 Memcached 的区别如何保证缓存与数据库双写时的数据一致性Redis 常见性能问题和解决方案Redis 官方为什么不提供 Windows 版本一个字符串类型的值能存储最大容量是多少Redis 如何做大量数据插入假如 Redis 里面有 1 亿个 key其中有 10w 个 key 是以某个固定的已知的前缀开头的如果将它们全部找出来使用 Redis 做过异步队列吗是如何实现的Redis 如何实现延时队列Redis 回收进程如何工作的Redis 回收使用的是什么算法Dubbo为什么要用 DubboDubbo 是什么Dubbo 的使用场景有哪些Dubbo 核心功能有哪些Dubbo 核心组件有哪些Dubbo 服务器注册与发现的流程Dubbo 的整体架构设计有哪些分层?Dubbo Monitor 实现原理Dubbo 类似的分布式框架还有哪些Dubbo 和 Spring Cloud 有什么关系Dubbo 和 Spring Cloud 有什么哪些区别Dubbo 和 Dubbox 之间的区别Dubbo 有哪些注册中心Dubbo 的注册中心集群挂掉发布者和订阅者之间还能通信么Dubbo 集群提供了哪些负载均衡策略Dubbo 的集群容错方案有哪些Dubbo 配置文件是如何加载到 Spring 中的说说核心的配置有哪些Dubbo 超时设置有哪些方式服务调用超时会怎么样Dubbo 使用的是什么通信框架?Dubbo 支持哪些协议它们的优缺点有哪些Dubbo 用到哪些设计模式服务上线怎么兼容旧版本Dubbo telnet 命令能做什么Dubbo 支持服务降级吗Dubbo 如何优雅停机Dubbo SPI 和 Java SPI 区别Dubbo 支持分布式事务吗Dubbo 可以对结果进行缓存吗Dubbo 必须依赖的包有哪些Dubbo 支持哪些序列化方式Dubbo 在安全方面有哪些措施服务调用是阻塞的吗服务提供者能实现失效踢出是什么原理同一个服务多个注册的情况下可以直连某一个服务吗Dubbo 服务降级失败重试怎么做Dubbo 使用过程中都遇到了些什么问题为什么要有 RPC什么是 RPCPRC 架构组件RPC 和 SOA、SOAP、REST 的区别RPC 框架需要解决的问题RPC 的实现基础RPC 使用了哪些关键技术主流 RPC 框架有哪些RPC 的实现原理架构图TomcatTomcat 是什么Tomcat 的缺省端口是多少怎么修改tomcat 有哪几种 Connector 运行模式(优化)Tomcat 有几种部署方式tomcat 容器是如何创建 servlet 类实例用到了什么原理Tomcat 工作模式Tomcat 顶层架构Tomcat 顶层架构小结Connector 和 Container 的微妙关系Container 架构分析Container 如何处理请求ZooKeeperZooKeeper 是什么ZooKeeper 提供了什么Zookeeper 文件系统Zookeeper 怎么保证主从节点的状态同步四种类型的数据节点 ZnodeZookeeper Watcher 机制 -- 数据变更通知客户端注册 Watcher 实现服务端处理 Watcher 实现客户端回调 WatcherACL 权限控制机制Chroot 特性会话管理服务器角色Zookeeper 下 Server 工作状态数据同步zookeeper 是如何保证事务的顺序一致性的分布式集群中为什么会有 Master 主节点zk 节点宕机如何处理zookeeper 负载均衡和 nginx 负载均衡区别Zookeeper 有哪几种几种部署模式集群最少要几台机器集群规则是怎样的集群中有 3 台服务器其中一个节点宕机这个时候 Zookeeper 还可以使用吗集群支持动态添加机器吗Zookeeper 对节点的 watch 监听通知是永久的吗为什么不是永久的?Zookeeper 的 java 客户端都有哪些chubby 是什么和 zookeeper 比你怎么看说几个 zookeeper 常用的命令。ZAB 和 Paxos 算法的联系与区别Zookeeper 的典型应用场景Zookeeper 都有哪些功能说一下 Zookeeper 的通知机制Zookeeper 和 Dubbo 的关系NettyNetty 是什么Netty 的特点是什么Netty 的优势有哪些Netty 的应用场景有哪些Netty 高性能表现在哪些方面BIO、NIO 和 AIO 的区别NIO 的组成Netty 的线程模型TCP 粘包/拆包的原因及解决方法什么是 Netty 的零拷贝Netty 中有哪种重要组件Netty 发送消息有几种方式默认情况 Netty 起多少线程何时启动了解哪几种序列化协议如何选择序列化协议Netty 支持哪些心跳类型设置Netty 和 Tomcat 的区别NIOEventLoopGroup 源码JDK 原生 NIO 程序的问题Netty 的特点Netty 常见使用场景I/O 模型阻塞 I/OI/O 复用模型基于 buffer线程模型事件驱动模型Reactor 线程模型Netty 线程模型异步处理Bootstrap、ServerBootstrapFuture、ChannelFutureChannelSelectorNioEventLoopNioEventLoopGroupChannelHandlerChannelHandlerContextChannelPipline面试答案汇总小编整理 Java 面试宝典分享给大家复习Java 核心知识覆盖了 JVM、锁、并发、Java 反射、Spring 原理、微服务、Zookeeper、数据库、数据结构等大量知识点Ps由于篇幅限制笔记无法全部为大家展示出来就以截图主要内容的形式让大家参考啦需要完整版的小伙伴可以点击下方名片获取