俗話說,面試造火箭,工作擰螺絲。 是很真實的,今天帶大家看下面試造火箭時大廠經常會問到的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學習思維導圖。和大廠的面試整體以及解析,需要資料的朋友關注小編+轉發文章+私信【架構資料】獲取架構資料。