年後面試前準備之開源框架面試題
前言:(開源框架學習思維導圖)

Spring5概述(面試題)
Spring5 是一個重要的版本,距離SpringFramework4差不多四年。在此期間,大多數增強都是在 SpringBoot 專案中完成的。
Spring 是一個開源的輕量級 Java SE(Java 標準版本)/Java EE(Java 企業版本)開發應用框架, 其目的是用於簡化企業級應用程式開發。應用程式是由一組相互協作的物件組成。而在傳統應用程式開發中,一個完整的應用是由一組相互協作的物件組成。所以開發一個應用除了要開發業務邏輯之外,最多的是關注如何使這些物件協作來完成所需功能,而且要低耦合、高內聚。業務邏輯開發是不可避免的, 那如果有個框架出來幫我們來建立物件及管理這些物件之間的依賴關係。
一切從 Bean 開始
1、什麼是Spring beans?
2、一個 Spring Bean 定義 包含什麼?
3、如何給Spring 容器提供配置元資料?
4、你怎樣定義類的作用域?
5、解釋Spring支援的幾種bean的作用域。
6、Spring框架中的單例bean是執行緒安全的嗎?
7、解釋Spring框架中bean的生命週期。
8、哪些是重要的bean生命週期方法? 你能過載它們嗎?
9、什麼是Spring的內部bean?
10、在 Spring中如何注入一個java集合?
Spring IoC(面試題)
IoC——控制反轉(Inversion of Control,英文縮寫為IoC)是框架的重要特徵,如果程式設計師清楚框架和工具箱的差別,可以無視本術語。
可以使用C語言設計框架,因此,IoC並非面向物件程式設計的專用術語。
Spring的DI/依賴注入(Dependency Injection,簡稱DI)僅僅是一個工具箱,因此與IoC沒有關係。
Spring最基礎的部分就是IOC,對IOC的理解程度從某個方面代表著你對Spring 的理解程度,看了網上的一些面試題,針對Spring IOC相關的重點是下面幾個:
1、Spring中Bean 的生命週期是怎麼樣的?
2、Spring IOC是如何實現的,如何載入Bean,如何建立單例Bean?
3、BeanFactory和ApplicationContext之間的關係?
4、BeanFactory和FactoryBean之間的關係?
5、Spring Bean有哪些擴充套件點?

精彩繼續
Spring AOP(面試題)
AOP稱為面向切面程式設計,在程式開發中主要用來解決一些系統層面上的問題,比如日誌,事務,許可權等待,Struts2的攔截器設計就是基於AOP的思想,是個比較經典的例子。
AOP的基本概念
( 1)Aspect(切面): 通常是一個類,裡面可以定義切入點和通知
(2)JointPoint(連線點): 程式執行過程中明確的點,一般是方法的呼叫
(3)Advice(通知): AOP在特定的切入點上執行的增強處理,有before,after,afterReturning,afterThrowing,around
(4)Pointcut(切入點): 就是帶有通知的連線點,在程式中主要體現為書寫切入點表示式
(5)AOP代理: AOP框架建立的物件,代理就是目標物件的加強。Spring中的AOP代理可以使JDK動態代理,也可以是CGLIB代理,前者基於介面,後者基於子類
1、說出Spring的通知型別有哪些?
2、談談目標物件實現介面與目標物件不實現介面有什麼區別?
3、請描述JDK動態代理和CGLI代理的區別?
4、簡述ProxyFactoryBean的作用是什麼?
5、敘述Spring中的自動代理的原理?
6、寫出代理的兩種方式分別是什麼?
7、請簡述:什麼是AOP?
8.、簡述AOP核心?
9、請敘述AOP事務的含義?
10、寫出建立代理物件需指定的三要素是什麼?
Mybatis(面試題)
MyBATIS 目前提供了三種語言實現的版本,包括:Java、.NET以及Ruby。它提供的持久層架包括SQL Maps和Data Access Objects(DAO)。
mybatis提供一種“半自動化”的ORM實現。 這裡的“半自動化”, 是相對Hibernate等提供了全面的資料庫封裝機制的“全自動化”ORM實現而言,“全自動”ORM實現了POJO和資料庫表之間的對映,以及 SQL 的自動生成和執行。而mybatis的著力點,則在於POJO與SQL之間的對映關係。
1、JDBC程式設計有哪些不足之處,MyBatis是如何解決這些問題的?
2、MyBatis程式設計步驟是什麼樣的?
3、MyBatis與Hibernate有哪些不同?
4、使用MyBatis的mapper介面呼叫時有哪些要求?
5、SqlMapConfig.xml中配置有哪些內容?
6、簡單的說一下MyBatis的一級快取和二級快取?
7、Mapper編寫有哪幾種方式?
8、Mybatis是如何進行分頁的?分頁外掛的原理是什麼?
9、簡述Mybatis的外掛執行原理,以及如何編寫一個外掛。
10、Mybatis執行批量插入,能返回資料庫主鍵列表嗎?
Spring MVC(面試題)
在Spring MVC應用程式中,模型通常由POJO物件組成,它在業務層中被處理,在持久層中被持久化。檢視通常是用JSP標準標籤庫(JSTL)編寫的JSP模板。控制器部分是由dispatcher servlet負責,在本教程中我們將會了解更多它的相關細節。
一些開發人員認為業務層和DAO層類是MVC模型元件的一部分。我對此持有不同的意見。我不認為業務層及DAO層類為MVC框架的一部分。通常一個web應用是3層架構,即資料-業務-表示。MVC實際上是表示層的一部分。
1、 講下SpringMvc的執行流程
2、SpringMvc中函式的返回值是什麼.
3、SpringMvc怎麼處理返回值的
4、SpringMVC怎麼樣設定重定向和轉發的
5、SpringMvc用什麼物件從後臺向前臺傳遞資料的
6、SpringMvc中有個類把檢視和資料都合併的一起的,叫什麼
7、怎麼樣把ModelMap裡面的資料放入Session裡面
9、SpringMvc怎麼和AJAX相互呼叫的
10、當一個方法向AJAX返回特殊物件,譬如Object,List等,需要做什麼處理
面試資料:

需要面試題彙總(可私信我免費領取答案)私信【面試資料】即可免費領取
附加java開發的資料(面試資源與經驗總結,Dubbo、Redis、設計模式、Netty、zookeeper、Spring cloud、分散式、高併發等架構技術視訊教程資料,架構思維導圖,以及面試資料,瞭解最新的學習動態;瞭解最新的阿里、京東招聘資訊)