對於那些想面試高級 Java 崗位的同窗來講,除了算法屬於比較「天方夜譚」的題目外,剩下針對實際工做的題目就屬於真正的本事了,熱門技術的細節和難點成爲了主要考察的內容。git
這裏說「天方夜譚」並非說算法沒用,不切實際,而是想說算法平時其實不多用到,甚至面試官都對本身出的算法題只知其一;不知其二。
這裏總結打磨了 70 道 Spring 相關面試題,有的很基礎,有的很細節,你們能夠評估一下本身掌握的狀況。面試
Spring
重點要掌握 Spring Framework。算法
- IoC 屬於哪一種設計模式?
- 談談你對 Spring IoC 和 DI 的理解,它們有什麼區別?
- 簡單談談 IoC 容器的原理。
- bean 的 scope 有幾種類型?請詳細列舉。
- 說說 IoC 中的繼承和 Java 繼承的區別。
- IoC 中 car 對象的配置以下,如今要添加 user 對象,而且將 car 注入到 user 中,正確的配置是?
<bean id="car" class="com.southwind.entity.Car"></bean>
- 請分別寫出 IoC 靜態工廠方法和實例工廠方法的配置。
- IoC 自動裝載有幾種方式?
- 介紹一下 Spring 框架中 bean 的生命週期。
- IoC 容器自動完成裝載,默認的方式是?
Spring MVC
這部分重點在經常使用模塊的使用以及 Spring MVC 的底層實現原理。數據庫
- 簡單談談你對 MVC 的理解。
- 什麼是 Spring MVC ?簡單介紹下你對 Spring MVC 的理解?
- Spring MVC 的優勢有哪些?
- Spring MVC 的核心組件有哪些?
- Spring MVC 的實現流程是什麼?
- Spring MVC 怎麼樣設定重定向和轉發的?
- 如何解決 POST 請求和 GET 請求的中文亂碼問題?
- @ModelAttribute 註解應該如何使用?
- 說說你對自定義數據類型轉換器的理解。
- 使用 Hibernate Validator 註解方式校驗 Email 數據格式應該怎麼寫?
與 MyBatis 相關
MyBatis 在實際項目開發中會與 Spring MVC 整合使用。設計模式
- 簡單談談你對 Mybatis 的理解?
- MyBatis 接口綁定的優勢是什麼?
- 實現 MyBatis 接口綁定分別有哪幾種方式?
- MyBatis 如何實現一對一關聯關係?
- MyBatis 如何實現一對多關聯關係?
- 說說 MyBatis 動態 SQL 的具體使用步驟?
- MyBatis 與 Hibernate 的區別是什麼?
- MyBatis 如何實現模糊查詢?
2九、Nginx 反向代理實現高併發的具體步驟是什麼?架構
30、Nginx 搭建 Tomcat 集羣的核心配置應該怎麼寫?併發
與 MongoDB 相關
關注 MongoDB 基礎以及 Spring 全家桶的整合方案 Spring Data MongoDB 的使用。負載均衡
- 談談你對 MongoDB 的理解?
- MongoDB 有哪些特色?
- MongoDB 都有哪些主要功能?
- 說說你知道的 MongoDB 適用場景。
- 關閉 MongoDB 服務的命令是?
- MongoDB 建立數據庫的命令是什麼?
- 談談你對 Spring Data JPA 的理解?
- Spring Data JPA 刪除多條記錄並返回的代碼是?
- 談談 Spring Data JPA 的底層實現。
- Spring AOP 的原理是什麼?都有哪些具體的應用場景?
Spring Boot
Spring 全家桶的重頭戲,Spring Boot 做爲一個快速構建 Spring 應用的利器,對各類主流框架模塊作了很好的集成,開箱即用。專一 Spring Boot 的具體操做和一些 Redis 相關知識。> 推薦閱讀《精通 Spring Boot 42 講》。框架
- 談談你對 Spring Boot 的理解?
- Spring Boot 的優點是什麼?爲何要使用 Spring Boot?
- Spring Boot 的配置文件有幾種格式?區別是什麼?
- 談談你知道的 Spring Boot 核心註解。
- 如何自動開啓 Spring Boot 各個組件?
- Spring Boot 中 starter 的原理是什麼?
- Spring Boot 不能使用 XML 配置,這句話對嗎?
- 談談你對 Redis 的理解。
- 簡單說說 Redis 的實現原理。
- 什麼是 Thymeleaf?
Spring Cloud
Spring Cloud 做爲 Spring 中最熱門的模塊,包括服務網關、Ribbon、Feign、Hystrix、Spring Cloud Config 等,專一實際開發中經常使用的技能點,同時具有使用 Spring Cloud 搭建微服務架構的能力。微服務
- 什麼是 Spring Cloud?
- Spring Cloud 和 Spring 之間有什麼關聯關係?
- Spring Cloud 實現服務註冊和發現的原理是什麼?
- Ribbon 和 Feign 有什麼區別?
- 爲何要使用 Spring Cloud 熔斷器,它的做用是什麼?
- 什麼是 Hystrix?
- Eureka 和 ZooKeeper 有哪些區別?
- 爲何要使用負載均衡?
- Spring Cloud 實現服務註冊和發現的具體流程是什麼?
- 爲何要使用 Spring Cloud ,它有哪些優點?
微服務項目實戰相關
實際工做中 Spring 微服務項目的問題。
- 談談你對微服務的理解。
- 微服務分別有哪些優勢,哪些缺點?
- 談談微服務之間是如何實現通訊的。
- Spring Boot 如何集成 MyBatis?
- Spring Boot 和 Spring Cloud 有哪些區別?
- 使用 layui 的數據表格組件展現業務數據,後臺實體類應該如何定義?
- JPA 和 Spring Data JPA 是一回事嗎?
- 若是要給項目添加權限管理系統,通常包含哪些需求?
- 微服務架構的拆分都有哪些原則?
- Feign 和 Ribbon+RestTemplate 的區別是什麼?
- Spring 技術零基礎輕鬆入門
- 68 講更全面地覆蓋 Spring 全家桶核心模塊
- 100+ 段代碼示例,理解 Spring 全家桶要領
- 3 大項目實戰,掌握 Spring 全家桶實際應用
- 精選 70 道 Spring 高頻面試題檢驗學習成果
- 免費贈送 16+ 小時的 Spring 實戰視頻
- Spring 技術交流社羣
你能收穫什麼
- 掌握 Spring 全家桶核心模塊的實際應用
- 掌握 Spring Boot Web 開發技術
- 掌握 Spring Boot 集成經常使用的關係 / 非關係型數據庫
- 掌握 Spring Cloud 微服務開發技術
- 掌握更多實際工做中的開發技巧
- 具有 Java 高級開發的技能要求
推薦閱讀《案例上手 Spring 全家桶》