面试需不需要提前准备?
当然需要!并且越早越好!!!
那些手拿 80%offer 的 20%幸运大佬,你以为真的只是因为“锦鲤好运”?
他们往往在你没关注无意识的时候,开始了解各种面试题了!
这次,资源汇总我们来真的。
在经历一天的吐血整理后,我们终于整合了 2022 秋招招备战资源,并且已经按照各个知识点整理划分好,包括 Java 各大知识点以及面试题。话不多说,请直接往下看。
包含的内容模块:
本文分为十七个模块,分别是: Java 基础、Spring/Spring MVC、Spring Boot/Spring Cloud、MyBatis、RabbitMQ、Kafka、Zookeeper、数据库、设计模式、MySQL、Redis、JVM 、并发编程、Java 线程池相关问题、Java 内存模型相关问题。
本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。
有需要的小伙伴可以私信。
Java 集合
JVM
-
Java 类加载过程?
-
描述一下 JVM 加载 Class 文件的原理机制?
-
Java 内存分配。
-
GC 是什么? 为什么要有 GC?
-
简述 Java 垃圾回收机制。
-
如何判断一个对象是否存活? (或者 GC 对象的判定方法)
-
垃圾回收的优点和原理。并考虑 2 种回收机制。
-
垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收
-
Java 中会存在内存泄漏吗,请简单描述。
-
深拷贝和浅拷贝。
-
System.gc0 和 Runtime.gc0 会做什么事情?
-
finalize0 方法什么时候被调用?析构函数(finalization)的目的是什么?
-
如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
-
什么是分布式垃圾回收(DGC) ?它是如何工作的?
-
串行(serial) 收集器和吞吐量(throughput) 收集器的区别是什么?
-
在 Java 中,对象什么时候可以被垃圾回收?
-
简述 Java 内存分配与回收策率以及 Minor GC 和 Major GC。
-
JVM 的永久代中会发生垃圾回收么?
-
Java 中垃圾收集的方法有哪些?
-
什么是类加载器,类加载器有哪些?
-
类加载器双亲委派模型机制?
并发编程
Java 线程池相关问题
Java 内存模型相关问题
Spring
-
什么是 Spring 框架?Spring 框架有哪些主要模块?
-
使用 Spring 框架能带来哪些好处?
-
什么是控制反转(I0C)?什么是依赖注入?
-
请解释下 Spring 框架中的 loC?
-
BeanFactory 和 ApplicationContext 有什么区别?
-
Spring 有几种配置方式?
-
如何用基于 XML 配置的方式配置 Spring?
-
如何用基于 Java 配置的方式配置 Spring?
-
怎样用注解的方式配置 Spring?
-
请解释 SpringBean 的生命周期?
-
Spring Bean 的作用域之间有什么区别?
-
什么是 Spring inner beans?
-
Spring 框架中的单例 Beans 是线程安全的么?
-
请举例说明如何在 Spring 中注入一个 Java Collection?
-
如何向 Spring Bean 中注入一个 Java.util.Properties?
-
请解释 Spring Bean 的自动装配?
-
请解释自动装配模式的区别?
-
如何开启基于注解的自动装配?
-
请举例解释 @ Required 注解?
-
请举例解释 @ Autowired 注解?
-
构造方法注入和设值注入有什么区别?
-
Spring 框架中有哪些不同类型的事件?
-
FileSystemResource 和 ClassPathResource 有何区别?
-
Spring 框架中都用到了哪些设计模式?
MyBatis
-
Mybaits 的优点
-
MyBatis 框架的缺点
-
MyBatis 框架适用场合
-
MyBatis 与 Hibernate 有哪些不同?
-
#{}和 ${}的区别是什么?
-
当实体类中的属性名和表中的字段名不一样,怎么办?
-
模糊查询 like 语句该怎么军
-
通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什? Dao 接口里的方法,参数不同时,方法能重载吗?
-
Mybatis 是如何进行分页的?分页插件的原理是什么?
-
Mybatis 是如何将 sq|执行结果封装为目标对象并返回的?都有哪些映射形式?
-
如何执行批量插入?
-
如何获取自动生成的(主)键值?
-
Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sq|?
-
Xml 映射文件中,除了常见的 selectlinsert|updae|delete 标签之外,还有哪些标签?
-
Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?
-
为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
-
MyBatis 实现一对一有几种方式?具体怎么操作的?
-
MyBatis 实现一对多有几种方式,怎么操作的?
-
Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
-
什么是 MyBatis 的接口绑定?有哪些实现方式?
SpringMVC
-
什么是 SpringMVC?简单介绍下你对 springMVC 的理解........
-
SpringMVC 的流程?
-
Springmvc 的优点:
-
Spring MVC 的主要组件?
-
springMVC 和 struts2 的区别有哪些?.
-
SpringMVC 怎么样设定重定向和转发的?
-
SpringMvc 怎么和 AJAX 相互调用的?
-
如何解决 POST 请求中文乱码问题,GET 的又如何处理呢?
-
Spring MVC 的异常处理?
-
SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决? ...
-
SpringMVC 常用的注解有哪些?
-
SpingMvc 中的控制器的注解一般用那个,有没有别的注解可以替代?
-
如果在拦截请求中,我想拦截 get 方式提交的方法,怎么配置?
-
怎样在方法里面得到 Request, 或者 Session?
-
如果想在拦截的方法里面得到从前台传入的参数,怎么得到?
-
如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?
-
SpringMvc 中函数的返回值是什么?
-
SpringMvc 用什么对象从后台向前台传递数据的?
-
怎么样把 ModelMap 里面的数据放入 Session 里面?
-
SpringMvc 里面拦截器是怎么写的:
-
注解原理:
Spring Boot
-
什么是 Spring Boot?
-
Spring Boot 有哪些优点?
-
Spring Boot 的核心配置文件有哪几个?它们的区别是什么? .
-
Spring Boot 的配置文件有哪几种格式?它们有什么区别?
-
SpringBoot 的核心注解是哪个?它主要由哪几个注解组成的
-
开启 Spring Boot 特性有哪几种方式?
-
SpringBoot 需要独立的容器运行吗?
-
运行 Spring Boot 有哪几种方式?
-
Spring Boot 自动配置原理是什么?
-
Spring Boot2.X 有什么新特性?与 1.X 有什么区别?
-
如何使用 Spring Boot 实现分页和排序?
-
如何实现 Spring Boot 应用程序的安全性?
-
如何集成 Spring Boot 和 ActiveMQ?
-
什么是 YAML?
-
Spring Boot 中的监视器是什么?
-
什么是 Swagger? 你用 Spring Boot 实现了它吗?
-
如何使用 Spring Boot 实现异常处理?
-
RequestMapping 和 GetMapping 的不同之处在哪里?
Spring Cloud
Dubbo
-
为什么要用 Dubbo?
-
Dubbo 的整体架构设计有哪些分层?
-
默认使用的是什么通信框架,还有别的选择吗?
-
服务调用是阻塞的吗?
-
般使用什么注册中心?还有别的选择吗?
-
默认使用什么序列化框架,你知道的还有哪些?
-
服务提供者能实现失效踢出是什么原理?
-
服务上线怎么不影响旧版本?
-
如何解决服务调用链过长的问题?
-
说说核心的配置有哪些?
-
Dubbo 推荐用什么协议?
-
同一个服务多个注册的情况下可以直连某一个服务吗?
-
画一画服务注册与发现的流程图?
-
Dubbo 集群容错有几种方案?
-
Dubbo 服务降级,失败重试怎么做?
-
Dubbo 使用过程中都遇到了些什么问题?
-
Dubbo Monitor 实现原理?
-
Dubbo 用到哪些设计模式?
-
Dubbo 配置文件是如何加载到 Spring 中的?
-
Dubbo SPI 和 Java SPI 区别?
-
Dubbo 支持分布式事务吗?
-
Dubbo 可以对结果进行缓存吗?
-
服务上线怎么兼容旧版本?
-
Dubbo 必须依赖的包有哪些?
-
Dubbo telnet 命令能做什么?
-
Dubbo 支持服务降级吗?
-
Dubbo 如何优雅停机?
-
Dubbo 和 Dubbox 之间的区别?
Netty
-
NIO 的组成?
-
Netty 的特点?
-
Netty 的线程模型?
-
TCP 粘包/拆包的原因及解决方法?
-
了解哪几种序列化协议?
-
如何选择序列化协议?
-
Netty 的零拷贝实现?
-
Netty 的高性能表现在哪些方面?
-
NIOEventLoopGroup 源码?
网络
-
网络 7 层架构
-
TCP/IP 原理.
-
TCP 三次握手/四次挥手...
-
选项:最常见的可选字段是最长报文大小,又称为 MSS(Maximum SegmentSize)。每个连接方通常都在通信的第一个报文段(为建立连接而设置 SYN 标志的那个段)中指明这个选项,它指明本端所能接收的最大长度的报文段。选项长度不一定是 32 位字的整数倍,所以要加填充位,使得报头长度成为字数..
-
数据: TCP 报文段中的数据部分是可选的。在一一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在
-
处理超时的许多情况中,也会发送不带任何数据的报文段。
-
三次握手
-
四次挥手.
-
HTTP 原理.
-
传输流程.
-
HTTP 状态.
-
HTTPS
-
CDN 原理
Zookeeper
-
ZooKeeper 是什么?
-
ZooKeeper 提供了什么?
-
Zookeeper 文件系统..
-
四种类型的 znode.
-
Zookeeper 通知机制.
-
Zookeeper 做了什么?
-
zk 的命名服务(文件系统)
-
zk 的配置管理(文件系统、通知机制)
-
Zookeeper 集群管理(文件系统、通知机制)
-
Zookeeper 分布式锁(文件系统、通知机制)
-
获取分布式锁的流程.
-
Zookeeper 队列管理(文件系统、通知机制)
-
Zookeeper 数据复制.
-
Zookeeper 工作原理.
-
zookeeper 是如何保证事务的顺序-致性的?
-
Zookeeper 下 Server 工作状态.
Kafka
-
Kafka 数据存储设计.
-
生产者设计.
-
消费者设计.
RabbitMQ
MongoDB
Redis 缓存
-
什么是 redis?
-
Reids 的特点.
-
Redis 支持的数据类型
-
Redis 是单进程单线程的
-
虚拟内存
-
分布式
-
读写分离模型!
-
数据分片模型
-
Redis 的回收策略.
-
使用 Redis 有哪些好处?
-
redis 相比 memcached 有哪些优势?
-
redis 常见性能问题和解决方案:
-
MySQL 里有 2000w 数据, redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据
-
Memcache 与 Redis 的区别都有哪些?
-
Redis 常见的性能问题都有哪些?如何解决?
数据库
设计模式
最新整理的 Java 技术干货文档资料:【Java 核心知识点整理及面试题】涵盖 30 个 Java 核心技术详解,JVM,Redis,Nginx,Spring Boot,Spring Cloud,Kafka,并发编程,Tomcat,MyBatis,BAT 面试题等。