俗话说,面试造火箭,工作拧螺丝。 是很真实的,今天带大家看下面试造火箭时大厂经常会问到的spring相关问题。
Spring 面试题(一)
一,spring一般问题:
- 不同版本的 Spring Framework 有哪些主要功能?
- 什么是 Spring Framework?
- 列举 Spring Framework 的优点。
- Spring Framework 有哪些不同的功能?
- Spring Framework 中有多少个模块,它们分别是什么?
- 什么是 Spring 配置文件?
- Spring 应用程序有哪些不同组件?
- 使用 Spring 有哪些方式?
二,依赖注入(Ioc):
- 什么是 Spring IOC 容器?
- 什么是依赖注入?
- 可以通过多少种方式完成依赖注入?
- 区分构造函数注入和 setter 注入。
- spring 中有多少种 IOC 容器?
- 区分 BeanFactory 和 ApplicationContext。
- 列举 IoC 的一些好处。
- Spring IoC 的实现机制。
三,Beans:
- 什么是 spring bean?
- spring 提供了哪些配置方式?
- spring 支持集中 bean scope?
- spring bean 容器的生命周期是什么样的?
- 什么是 spring 的内部 bean?
- 什么是 spring 装配
- 自动装配有哪些方式?
- 自动装配有什么局限?
四,注解:
- 什么是基于注解的容器配置
- 如何在 spring 中启动注解装配?
- @Component, @Controller, @Repository,
- @Required 注解有什么用?
- @Autowired 注解有什么用?
- @Qualifier 注解有什么用?
- @RequestMapping 注解有什么用?
五,数据访问:
- spring DAO 有什么用?
- 列举 Spring DAO 抛出的异常。
- spring JDBC API 中存在哪些类?
- 使用 Spring 访问 Hibernate 的方法有哪些?
- 列举 spring 支持的事务管理类型
- spring 支持哪些 ORM 框架
六,AOP:
- 什么是 AOP?
- 什么是 Aspect?
- 什么是切点(JoinPoint)
- 什么是通知(Advice)?
- 有哪些类型的通知(Advice)?
- 指出在 spring aop 中 concern 和 cross-cutting concern 的不同之处。
- AOP 有哪些实现方式?
- Spring AOP and AspectJ AOP 有什么区别?
- 如何理解 Spring 中的代理?
- 什么是编织(Weaving)?
七,MVC:
- Spring MVC 框架有什么用?
- 描述一下 DispatcherServlet 的工作流程
- 介绍一下 WebApplicationContext
Spring 面试题(二)
- 什么是 spring?
- 使用 Spring 框架的好处是什么?
- Spring 由哪些模块组成?
- 核心容器(应用上下文) 模块。
- BeanFactory – BeanFactory 实现举例。
- XMLBeanFactory
- 解释 AOP 模块
- 解释 JDBC 抽象和 DAO 模块。
- 解释对象/关系映射集成模块。
- 解释 WEB 模块。
- Spring 配置文件
- 什么是 Spring IOC 容器?
- IOC 的优点是什么?
- ApplicationContext 通常的实现是什么?
- Bean 工厂和 Application contexts 有什么区别?
- 一个 Spring 的应用看起来象什么?
一,依赖注入 :
- 什么是 Spring 的依赖注入?
- 有哪些不同类型的 IOC(依赖注入)方式?
- 哪种依赖注入方式你建议使用,构造器注入,还是 Setter 方法注入?
二,Spring Beans :
- 什么是 Spring beans?
- 一个 Spring Bean 定义 包含什么?
- 如何给 Spring 容器提供配置元数据?
- 你怎样定义类的作用域?
- 解释 Spring 支持的几种 bean 的作用域。
- Spring 框架中的单例 bean 是线程安全的吗?
- 解释 Spring 框架中 bean 的生命周期。
- 哪些是重要的 bean 生命周期方法?你能重载它们吗?
- 什么是 Spring 的内部 bean?
- 在 Spring 中如何注入一个 java 集合?
- 什么是 bean 装配?
- 什么是 bean 的自动装配?
- 解释不同方式的自动装配 。
- 自动装配有哪些局限性 ?
- 你可以在 Spring 中注入一个 null 和一个空字符串吗?
三,Spring 注解:
- 什么是基于 Java 的 Spring 注解配置? 给一些注解的例子.
- 什么是基于注解的容器配置?
- 怎样开启注解装配?
- @Required 注解
- @Autowired 注解
- @Qualifier 注解
四,Spring 数据访问:
- 在 Spring 框架中如何更有效地使用 JDBC?
- JdbcTemplate
- Spring 对 DAO 的支持
- 使用 Spring 通过什么方式访问 Hibernate?
- Spring 支持的 ORM
- 如何通过HibernateDaoSupport将Spring和Hibernate结合起来?
- Spring 支持的事务管理类型
- Spring 框架的事务管理有哪些优点?
- 你更倾向用那种事务管理类型?
五,Spring 面向切面编程(AOP)
- 解释 AOP
- Aspect 切面
- 在 Spring AOP 中,关注点和横切关注的区别是什么?
- 连接点
- 通知
- 切点
- 什么是引入?
- 什么是目标对象?
- 什么是代理?
- 有几种不同类型的自动代理?
- 什么是织入。什么是织入应用的不同点?
- 解释基于 XML Schema 方式的切面实现。
- 解释基于注解的切面实现
六, Spring 的 MVC
- 什么是 Spring 的 MVC 框架?
- DispatcherServlet
- WebApplicationContext
- 什么是 Spring MVC 框架的控制器?
- @Controller 注解
- @RequestMapping 注解
总结:
我的学习笔记对于jvm和性能优化这一块整理的比较详细,除了jvm性能优化这一个专题的笔记,还整理了有spring原理,微服务,Java集合等等专题的详细笔记,mind学习思维导图。和大厂的面试整体以及解析,需要资料的朋友关注小编+转发文章+私信【架构资料】获取架构资料。