手撕面試官系列(二):開源框架面試題Spring+SpringMVC+MyBatis

跳槽時時刻刻都在發生,但是我建議大家跳槽之前,先想清楚爲什麼要跳槽。切不可跟風,看到同事一個個都走了,自己也盲目的開始面試起來(期間也沒有準備充分),到底是因爲技術原因(影響自己的發展,偏移自己規劃的軌跡),還是錢給少了,不受重視。

閒話不多說開始主題(面試題+答案領取方式見個人主頁)

以下爲常見spring面試題:

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

1、什麼是 SpringMvc?
2、Spring MVC 的優點
3、SpringMVC 工作原理?
4、SpringMVC 流程?
5、SpringMvc 的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?
6、如果你也用過 struts2.簡單介紹下 springMVC 和 struts2 的區別有哪些?
7、SpingMvc 中的控制器的註解一般用那個,有沒有別的註解可以替代?
8、 @RequestMapping 註解用在類上面有什麼作用?
9、怎麼樣把某個請求映射到特定的方法上面?
10、如果在攔截請求中,我想攔截 get 方式提交的方法,怎麼配置?
11、怎麼樣在方法裏面得到 Request,或者 Session?
12、我想在攔截的方法裏面得到從前臺傳入的參數,怎麼得到?
13、如果前臺有很多個參數傳入,並且這些參數都是一個對象的,那麼怎麼樣快速得到這個對象?
14、SpringMvc 中函數的返回值是什麼?
15、SpringMVC 怎麼樣設定重定向和轉發的?
16、SpringMvc 用什麼對象從後臺向前臺傳遞數據的?
17、SpringMvc 中有個類把視圖和數據都合併的一起的,叫什麼?
18、怎麼樣把 ModelMap 裏面的數據放入 Session 裏面?
19、SpringMvc 怎麼和 AJAX 相互調用的?
20、當一個方法向 AJAX 返回特殊對象,譬如 Object,List 等,需要做什麼處理?
21、SpringMvc 裏面攔截器是怎麼寫的
22、講下 SpringMvc 的執行流程

MyBatis

1、什麼是 MyBatis?
2、講下 MyBatis 的緩存
3、Mybatis 是如何進行分頁的?分頁插件的原理是什麼?
4、簡述 Mybatis 的插件運行原理,以及如何編寫一個插件?
5、Mybatis 動態 sql 是做什麼的?都有哪些動態 sql?能簡述一下動態 sql 的執行原理不?
6、#{}和${}的區別是什麼?
7、爲什麼說 Mybatis 是半自動 ORM 映射工具?它與全自動的區別在哪裏?
8、Mybatis 是否支持延遲加載?如果支持,它的實現原理是什麼?
9、MyBatis 與 Hibernate 有哪些不同?
10、MyBatis 的好處是什麼?
11、簡述 Mybatis 的 Xml 映射文件和 Mybatis 內部數據結構之間的映射關係?
12、什麼是 MyBatis 的接口綁定,有什麼好處?
13、接口綁定有幾種實現方式,分別是怎麼實現的?
14、什麼情況下用註解綁定,什麼情況下用 xml 綁定?
15、MyBatis 實現一對一有幾種方式?具體怎麼操作的?
16、Mybatis 能執行一對一、一對多的關聯查詢嗎?都有哪些實現方式,以及它們之間的區別?
17、MyBatis 裏面的動態 Sql 是怎麼設定的?用什麼語法?
18、Mybatis 是如何將 sql 執行結果封裝爲目標對象並返回的?都有哪些映射形式?
19、Xml 映射文件中,除了常見的 select|insert|updae|delete 標籤之外,還有哪些標籤?
20、當實體類中的屬性名和表中的字段名不一樣,如果將查詢的結果封裝到指定 pojo?
21、模糊查詢 like 語句該怎麼寫
22、通常一個 Xml 映射文件,都會寫一個 Dao 接口與之對應, Dao 的工作原理,是否可以重載?
23、Mybatis 映射文件中,如果 A 標籤通過 include 引用了 B 標籤的內容,請問,B 標籤能否定義在 A 標籤的後面,還是說必須定義在 A 標籤的前面?
24、Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重複?
25、Mybatis 中如何執行批處理?
26、Mybatis 都有哪些 Executor 執行器?它們之間的區別是什麼?
27、Mybatis 中如何指定使用哪一種 Executor 執行器?
28、Mybatis 執行批量插入,能返回數據庫主鍵列表嗎?
29、Mybatis 是否可以映射 Enum 枚舉類?
30、如何獲取自動生成的(主)鍵值?
31、在 mapper 中如何傳遞多個參數?
32、resultType resultMap 的區別?
33、使用 MyBatis 的 mapper 接口調用時有哪些要求?
34、Mybatis 比 IBatis 比較大的幾個改進是什麼?
35、IBatis 和 MyBatis 在覈心處理類分別叫什麼?
36、IBatis 和 MyBatis 在細節上的不同有哪些?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章