对于那些想面试高级 Java 岗位的同学来说,除了算法属于比较「天方夜谭」的题目外,剩下针对实际工作的题目就属于真正的本事了,热门技术的细节和难点成为了面试时主要考察的内容。
这里说「天方夜谭」并不是说算法没用,不切实际,而是想说算法平时其实很少用到,甚至面试官都对自己出的算法题一知半解。
这里总结打磨了 70 道 Spring 相关面试题,有的很基础,有的很细节,大家可以评估一下自己掌握的情况。
Spring
重点要掌握 Spring Framework。
-
IoC 属于哪种设计模式?
-
谈谈你对 Spring IoC 和 DI 的理解,它们有什么区别?
-
简单谈谈 IoC 容器的原理。
-
bean 的 scope 有几种类型?请详细列举。
-
说说 IoC 中的继承和 Java 继承的区别。
-
IoC 中 car 对象的配置如下,现在要添加 user 对象,并且将 car 注入到 user 中,正确的配置是?
<bean id="car" class="com.southwind.entity.Car"></bean>
-
请分别写出 IoC 静态工厂方法和实例工厂方法的配置。
-
IoC 自动装载有几种方式?
-
介绍一下 Spring 框架中 bean 的生命周期。
-
IoC 容器自动完成装载,默认的方式是?
Spring MVC
这部分重点在常用模块的使用以及 Spring MVC 的底层实现原理。
-
简单谈谈你对 MVC 的理解。
-
什么是 Spring MVC ?简单介绍下你对 Spring MVC 的理解?
-
Spring MVC 的优点有哪些?
-
Spring MVC 的核心组件有哪些?
-
Spring MVC 的实现流程是什么?
-
Spring MVC 怎么样设定重定向和转发的?
-
如何解决 POST 请求中文乱码问题,GET 的又如何处理呢?
-
@ModelAttribute 如何使用?
-
说说你对自定义数据类型转换器的理解。
-
使用 Hibernate Validator 注解方式校验 Email 数据格式应该怎么写?
与 MyBatis 相关
MyBatis 在实际项目开发中会与 Spring MVC 整合使用。
-
简单谈谈你对 Mybatis 的理解?
-
MyBatis 接口绑定的优点是什么?
-
实现 MyBatis 接口绑定分别有哪几种方式?
-
MyBatis 如何实现一对一关联关系?
-
MyBatis 如何实现一对多关联关系?
-
说说 MyBatis 动态 SQL 的具体使用步骤?
-
MyBatis 与 Hibernate 的区别是什么?
-
MyBatis 如何实现模糊查询?
29、Nginx 反向代理实现高并发的具体步骤是什么?
30、Nginx 搭建 Tomcat 集群的核心配置应该怎么写?
与 MongoDB 相关
关注 MongoDB 基础以及 Spring 全家桶的整合方案 Spring Data MongoDB 的使用。
-
谈谈你对 MongoDB 的理解?
-
MongoDB 有哪些特点?
-
MongoDB 都有哪些主要功能?
-
说说你知道的 MongoDB 适用场景。
-
关闭 MongoDB 服务的命令是?
-
MongoDB 创建数据库的命令?
-
谈谈你对 Spring Data JPA 的理解?
-
Spring Data JPA 删除多条记录并返回的代码是?
-
谈谈 Spring Data JPA 的底层实现。
-
Spring AOP 的原理是什么?都有哪些具体的应用场景?
Spring Boot
Spring 全家桶的重头戏,Spring Boot 作为一个快速构建 Spring 应用的利器,对各种主流框架模块做了很好的集成,开箱即用。专注 Spring Boot 的具体操作,和部分 Redis 相关。
-
谈谈你对 Spring Boot 的理解?
-
Spring Boot 的优势是什么?为什么要使用 Spring Boot?
-
Spring Boot 的配置文件有几种格式?区别是什么?
-
谈谈你知道的 Spring Boot 核心注解。
-
如何自动开启 Spring Boot 各个组件?
-
Spring Boot 中 starter 的原理是什么?
-
Spring Boot 不能使用 XML 配置,这句话对吗?
-
谈谈你对 Redis 的理解。
-
简单说说 Redis 的实现原理。
-
什么是 Thymeleaf?
Spring Cloud
Spring Cloud 作为 Spring 中最热门的模块,包括服务网关、Ribbon、Feign、Hystrix、Spring Cloud Config 等,专注实际开发中常用的技能点,同时具备使用 Spring Cloud 搭建微服务架构的能力。
-
什么是 Spring Cloud?
-
Spring Cloud 和 Spring 之间有什么关联关系?
-
Spring Cloud 实现服务注册和发现的原理是什么?
-
Ribbon 和 Feign 有什么区别?
-
为什么要使用 Spring Cloud 熔断器,它的作用是什么?
-
什么是 Hystrix?
-
Eureka 和 ZooKeeper 的区别是什么?
-
为什么要使用负载均衡?
-
Spring Cloud 实现服务注册和发现的具体流程是什么?
-
为什么要使用 Spring Cloud ,它有哪些优势?
微服务项目实战相关
实际工作中 Spring 微服务项目的问题。
-
谈谈你对微服务的理解。
-
微服务分别有哪些优点,哪些缺点?服务的优势和劣势分别是什么?
-
谈谈微服务之间是如何实现通信的。
-
Spring Boot 如何集成 MyBatis?
-
Spring Boot 和 Spring Cloud 有哪些区别?
-
使用 layui 的数据表格组件展示业务数据,后台实体类应该如何定义?
-
JPA 和 Spring Data JPA 是一回事吗?
-
如果要给项目添加权限管理系统,一般包含哪些需求?
-
微服务架构的拆分都有哪些原则?
-
Feign 和 Ribbon+RestTemplate 的区别是什么?