跳槽時時刻刻都在發生,可是我建議你們跳槽以前,先想清楚爲何要跳槽。切不可跟風,看到同事一個個都走了,本身也盲目的開始面試起來(期間也沒有準備充分),究竟是由於技術緣由(影響本身的發展,偏移本身規劃的軌跡),仍是錢給少了,不受重視。面試
閒話很少說開始主題(面試題+答案領取方式見我的主頁)spring
如下爲常見spring面試題:
sql
1 、什麼是 Spring 框架?Spring 框架有哪些主要模塊?
2 、使用 Spring 框架能帶來哪些好處?
3 、什麼是控制反轉(IOC) ?什麼是依賴注入?
4 、請解釋下 Spring 框架中的 IoC ?
5 、BeanFactory 和 和 ApplicationContext 有什麼區別?
6 、Spring 有幾種配置方式?
7 、如何用基於 XML 配置的方式配置 Spring ?
8 、如何用基於 Java 配置的方式配置 Spring?
9 、怎樣用註解的方式配置 Spring
10 、請解釋 Spring Bean 的生命週期?
11 、Spring Bean 的做用域之間有什麼區別?
12 、什麼是 Spring inner beans?
13 、Spring 框架中的單例 Beans 是線程安全的麼?
14 、請舉例說明如何在 Spring 中注入一個 Java Collection?
15 、如何向 Spring Bean 中注入一個 Java.util.Properties ?
16 、請解釋 Spring Bean 的自動裝配?
17 、請解釋自動裝配模式的區別?
18 、如何開啓基於註解的自動裝配?
19 、請舉例解釋@Required 註解?
20 、請舉例解釋@Autowired 註解?
21 、請舉例說明@Qualifier 註解?
22 、構造方法注入和設值注入有什麼區別?
23 、Spring 框架中有哪些不一樣類型的事件?
24 、FileSystemResource 和 和 ClassPathResource 有何區別?
25 、Spring 框架中都用到了哪些設計模式?數據庫
Spring MVC
設計模式
一、什麼是 SpringMvc?
二、Spring MVC 的優勢
三、SpringMVC 工做原理?
四、SpringMVC 流程?
五、SpringMvc 的控制器是否是單例模式,若是是,有什麼問題,怎麼解決?
六、若是你也用過 struts2.簡單介紹下 springMVC 和 struts2 的區別有哪些?
七、SpingMvc 中的控制器的註解通常用那個,有沒有別的註解能夠替代?
八、 @RequestMapping 註解用在類上面有什麼做用?
九、怎麼樣把某個請求映射到特定的方法上面?
十、若是在攔截請求中,我想攔截 get 方式提交的方法,怎麼配置?
十一、怎麼樣在方法裏面獲得 Request,或者 Session?
十二、我想在攔截的方法裏面獲得從前臺傳入的參數,怎麼獲得?
1三、若是前臺有不少個參數傳入,而且這些參數都是一個對象的,那麼怎麼樣快速獲得這個對象?
1四、SpringMvc 中函數的返回值是什麼?
1五、SpringMVC 怎麼樣設定重定向和轉發的?
1六、SpringMvc 用什麼對象從後臺向前臺傳遞數據的?
1七、SpringMvc 中有個類把視圖和數據都合併的一塊兒的,叫什麼?
1八、怎麼樣把 ModelMap 裏面的數據放入 Session 裏面?
1九、SpringMvc 怎麼和 AJAX 相互調用的?
20、當一個方法向 AJAX 返回特殊對象,譬如 Object,List 等,須要作什麼處理?
2一、SpringMvc 裏面攔截器是怎麼寫的
2二、講下 SpringMvc 的執行流程緩存
MyBatis
安全
一、什麼是 MyBatis?
二、講下 MyBatis 的緩存
三、Mybatis 是如何進行分頁的?分頁插件的原理是什麼?
四、簡述 Mybatis 的插件運行原理,以及如何編寫一個插件?
五、Mybatis 動態 sql 是作什麼的?都有哪些動態 sql?能簡述一下動態 sql 的執行原理不?
六、#{}和${}的區別是什麼?
七、爲何說 Mybatis 是半自動 ORM 映射工具?它與全自動的區別在哪裏?
八、Mybatis 是否支持延遲加載?若是支持,它的實現原理是什麼?
九、MyBatis 與 Hibernate 有哪些不一樣?
十、MyBatis 的好處是什麼?
十一、簡述 Mybatis 的 Xml 映射文件和 Mybatis 內部數據結構之間的映射關係?
十二、什麼是 MyBatis 的接口綁定,有什麼好處?
1三、接口綁定有幾種實現方式,分別是怎麼實現的?
1四、什麼狀況下用註解綁定,什麼狀況下用 xml 綁定?
1五、MyBatis 實現一對一有幾種方式?具體怎麼操做的?
1六、Mybatis 能執行一對1、一對多的關聯查詢嗎?都有哪些實現方式,以及它們之間的區別?
1七、MyBatis 裏面的動態 Sql 是怎麼設定的?用什麼語法?
1八、Mybatis 是如何將 sql 執行結果封裝爲目標對象並返回的?都有哪些映射形式?
1九、Xml 映射文件中,除了常見的 select|insert|updae|delete 標籤以外,還有哪些標籤?
20、當實體類中的屬性名和表中的字段名不同,若是將查詢的結果封裝到指定 pojo?
2一、模糊查詢 like 語句該怎麼寫
2二、一般一個 Xml 映射文件,都會寫一個 Dao 接口與之對應, Dao 的工做原理,是否能夠重載?
2三、Mybatis 映射文件中,若是 A 標籤經過 include 引用了 B 標籤的內容,請問,B 標籤可否定義在 A 標籤的後面,仍是說必須定義在 A 標籤的前面?
2四、Mybatis 的 Xml 映射文件中,不一樣的 Xml 映射文件,id 是否能夠重複?
2五、Mybatis 中如何執行批處理?
2六、Mybatis 都有哪些 Executor 執行器?它們之間的區別是什麼?
2七、Mybatis 中如何指定使用哪種 Executor 執行器?
2八、Mybatis 執行批量插入,能返回數據庫主鍵列表嗎?
2九、Mybatis 是否能夠映射 Enum 枚舉類?
30、如何獲取自動生成的(主)鍵值?
3一、在 mapper 中如何傳遞多個參數?
3二、resultType resultMap 的區別?
3三、使用 MyBatis 的 mapper 接口調用時有哪些要求?
3四、Mybatis 比 IBatis 比較大的幾個改進是什麼?
3五、IBatis 和 MyBatis 在覈心處理類分別叫什麼?
3六、IBatis 和 MyBatis 在細節上的不一樣有哪些?數據結構