前言:
Spring 框架知識是互聯(lián)網(wǎng)公司面試必考知識點。對于開發(fā)同學(xué)來說,Spring 框架熟悉又陌生。
熟悉:開發(fā)過程中無時無刻不在使用 Spring 的知識點;陌生:對于基本理論知識疏于整理與記憶。導(dǎo)致很多同學(xué)面試時對于 Spring 相關(guān)的題目知其答案,但表達(dá)不夠完整準(zhǔn)確。
針對 Spring 面試題目,進(jìn)行全面的梳理與解答,參考了公司面試題集,分享給大家。
主要內(nèi)容:
基本概念面試題集(Spring 相關(guān)的概念梳理)
應(yīng)用場景面試題集(各知識點不同的場景選型)
深度知識面試題集(底層實現(xiàn)原理詳解)
拓展內(nèi)容面試題集(Spring boot 相關(guān)題集)
Spring MVC
這部分重點在常用模塊的使用以及 Spring MVC 的底層實現(xiàn)原理。
簡單談?wù)勀銓?MVC 的理解。
什么是 Spring MVC ?簡單介紹下你對 Spring MVC 的理解?
Spring MVC 的優(yōu)點有哪些?Spring MVC
Spring MVC 的核心組件有哪些?
Spring MVC 的實現(xiàn)流程是什么?Spring MVC
Spring MVC 怎么樣設(shè)定重定向和轉(zhuǎn)發(fā)的?
如何解決 POST 請求和 GET 請求的中文亂碼問題?
@ModelAttribute 注解應(yīng)該如何使用?
說說你對自定義數(shù)據(jù)類型轉(zhuǎn)換器的理解。
使用 Hibernate Validator 注解方式校驗 Email 數(shù)據(jù)格式應(yīng)該怎么寫?
Spring
重點要掌握 Spring Framework。spring boot面試題
IoC 屬于哪種設(shè)計模式?
談?wù)勀銓?Spring IoC 和 DI 的理解,它們有什么區(qū)別?
簡單談?wù)?IoC 容器的原理。spring boot面試題
bean 的 scope 有幾種類型?請詳細(xì)列舉。
說說 IoC 中的繼承和 Java 繼承的區(qū)別。
IoC 中 car 對象的配置如下,現(xiàn)在要添加 user 對象,并且將 car 注入到 user 中,正確的配置是??<bean id="car" class="com.southwind.entity.Car"></bean >
請分別寫出 IoC 靜態(tài)工廠方法和實例工廠方法的配置。
IoC 自動裝載有幾種方式?
介紹一下 Spring 框架中 bean 的生命周期。
IoC 容器自動完成裝載,默認(rèn)的方式是?
與 MyBatis 相關(guān)
MyBatis 在實際項目開發(fā)中會與 Spring MVC 整合使用。
簡單談?wù)勀銓?Mybatis 的理解?
MyBatis 接口綁定的優(yōu)點是什么?
實現(xiàn) MyBatis 接口綁定分別有哪幾種方式?
MyBatis 如何實現(xiàn)一對一關(guān)聯(lián)關(guān)系?
MyBatis 如何實現(xiàn)一對多關(guān)聯(lián)關(guān)系?
說說 MyBatis 動態(tài) SQL 的具體使用步驟?
MyBatis 與 Hibernate 的區(qū)別是什么?
MyBatis 如何實現(xiàn)模糊查詢?
Nginx 反向代理實現(xiàn)高并發(fā)的具體步驟是什么?
Nginx 搭建 Tomcat 集群的核心配置應(yīng)該怎么寫?
與 MongoDB 相關(guān)
關(guān)注 MongoDB 基礎(chǔ)以及 Spring 全家桶的整合方案 Spring Data MongoDB 的使用。
談?wù)勀銓?MongoDB 的理解?
MongoDB 有哪些特點?
MongoDB 都有哪些主要功能?
說說你知道的 MongoDB 適用場景。
關(guān)閉 MongoDB 服務(wù)的命令是?
MongoDB 創(chuàng)建數(shù)據(jù)庫的命令是什么?
談?wù)勀銓?Spring Data JPA 的理解?
Spring Data JPA 刪除多條記錄并返回的代碼是?
談?wù)?Spring Data JPA 的底層實現(xiàn)。
Spring AOP 的原理是什么?都有哪些具體的應(yīng)用場景?
Spring Boot
Spring 全家桶的重頭戲,Spring Boot 作為一個快速構(gòu)建 Spring 應(yīng)用的利器,對各種主流框架模塊做了很好的集成,開箱即用。
談?wù)勀銓?Spring Boot 的理解?
Spring Boot 的優(yōu)勢是什么?為什么要使用 Spring Boot?
Spring Boot 的配置文件有幾種格式?區(qū)別是什么?
談?wù)勀阒赖?Spring Boot 核心注解。
如何自動開啟 Spring Boot 各個組件?
Spring Boot 中 starter 的原理是什么?
Spring Boot 不能使用 XML 配置,這句話對嗎?
談?wù)勀銓?Redis 的理解。
簡單說說 Redis 的實現(xiàn)原理。
什么是 Thymeleaf?
Spring Cloud
Spring Cloud 作為 Spring 中最熱門的模塊,包括服務(wù)網(wǎng)關(guān)、Ribbon、Feign、Hystrix、Spring Cloud Config 等,專注實際開發(fā)中常用的技能點,同時具備使用 Spring Cloud 搭建微服務(wù)架構(gòu)的能力。
什么是 Spring Cloud?
Spring Cloud 和 Spring 之間有什么關(guān)聯(lián)關(guān)系?
Spring Cloud 實現(xiàn)服務(wù)注冊和發(fā)現(xiàn)的原理是什么?
Ribbon 和 Feign 有什么區(qū)別?
為什么要使用 Spring Cloud 熔斷器,它的作用是什么?
什么是 Hystrix?
Eureka 和 ZooKeeper 有哪些區(qū)別?
為什么要使用負(fù)載均衡?
Spring Cloud 實現(xiàn)服務(wù)注冊和發(fā)現(xiàn)的具體流程是什么?
為什么要使用 Spring Cloud ,它有哪些優(yōu)勢?
微服務(wù)項目實戰(zhàn)相關(guān)
實際工作中 Spring 微服務(wù)項目的問題。
談?wù)勀銓ξ⒎?wù)的理解。
微服務(wù)分別有哪些優(yōu)點,哪些缺點?
談?wù)勎⒎?wù)之間是如何實現(xiàn)通信的。
Spring Boot 如何集成 MyBatis?
Spring Boot 和 Spring Cloud 有哪些區(qū)別?
使用 layui 的數(shù)據(jù)表格組件展示業(yè)務(wù)數(shù)據(jù),后臺實體類應(yīng)該如何定義
JPA 和 Spring Data JPA 是一回事嗎?
如果要給項目添加權(quán)限管理系統(tǒng),一般包含哪些需求?
微服務(wù)架構(gòu)的拆分都有哪些原則?
Feign 和 Ribbon+RestTemplate 的區(qū)別是什么?