以前分享過一些BAT面試必會的文章,一些讀者看了,問過我,Spring 這篇須要掌握一些什麼?相信這個問題也是不少讀者心中的疑問,今天就來聊一下關於 Spring,我從面試中收穫的一些經驗。java
Spring這塊的內容比較多也比較雜, 要徹底整理出來須要花不少的時間,而我所在的實驗室因爲項目不少,致使個人時間有限,由於這個緣由,我在面試的時候,基本是把 Spring 這塊放到了最後纔去準備的。程序員
對於這塊沒有太系統地去看書,從網上看了一些 Spring 的面試題集錦和一些關於 Spring 的源碼解讀,總的來講,Spring 的內容不用準備地多麼充分看很是多的書,把一些常問的內容多花點功夫準備一下就行。那麼什麼是常問的內容?其實多看看網上的面經,多看個十幾篇,就能瞭解到什麼是常問的內容。面試
常問的內容大體上有:IOC、AOP、AOP原理動態代理和cglib原理與兩者之間的區別、Bean 生命週期、ThreadLocal 保證線程安全、事務傳播、Spring MVC、設計模式,除了這些面試題常常出現的,還有就是須要看一些Spring源碼解讀,由於一些面試官會問你,有沒有看過源碼,這時候把本身看過的看懂的說一下就OK了。算法
不一樣的互聯網公司關於 Spring 考察的側重點不同,有點甚至基本不考察。這裏分別說一下不一樣公司的考察狀況,你們能夠針對不一樣公司作的有的放矢。spring
百度頭條基本不怎麼考察 Spring,這兩家公司比較側重考察基礎和算法,頭條尤爲重視考察算法,百度可能會考察 Spring,可是我看了不少篇面經,考察的狀況很是少,若是時間不是很充分,面試的時候能夠不用準備也無妨。騰訊的話衆所周知是 C++ 網絡爲主,Spring 基本不用準備。設計模式
阿里的話和一些其餘的以 Java 爲主的公司會考一些 Spring 的問題,這裏公司須要深刻地去學習一下,不止是看面試集錦就能應付的,至於如何深刻學習,以前這篇文章 科班和非科班都適用的 Java 學習路線 也有推薦過,這裏就再也不多說了。(微服務思惟導圖,文末有免費領取!)安全
Spring學習導圖(未展開)網絡
基礎篇架構
什麼是spring?併發
使用Spring框架的好處是什麼?
Spring由哪些模塊組成?核心容器(應用上下文) 模塊。
BeanFactory – BeanFactory 實現舉例。
解釋AOP模塊解釋JDBC抽象和DAO模塊。
解釋對象/關係映射集成模塊。
解釋WEB 模塊。
什麼是Spring IOC 容器?
IOC的優勢是什麼?
ApplicationContext一般的實現是什麼?
Bean 工廠和 Application contexts 有什麼區別?
一個Spring的應用看起來象什麼?
什麼是Spring的依賴注入?
有哪些不一樣類型的IOC(依賴注入)方式?
哪一種依賴注入方式你建議使用,構造器注入,仍是 Setter方法注入?
高級篇
什麼是Spring框架?
Spring框架有哪些主要模塊?
使用Spring框架有什麼好處?
什麼是控制反轉(IOC)?
什麼是依賴注入?
請解釋下Spring中的IOC?
BeanFactory和ApplicationContext有什麼區別?
將Spring配置到你的應用中共有幾種方法?
什麼基於XML的配置?
什麼基Java的配置?
怎樣用註解的方式配置Spring?
描述Spring Bean的生命週期?
描述Spring中各類Bean的範圍?
Spring框架中的單例bean是不是線程安全的?
請舉例說明如何用Spring注入一個Java的集合類?
請舉例說明如何在Spring的Bean中注入一個java.util.Properties?
請解釋Spring的Bean的自動生成原理?
請舉例說明@Required註解?
請舉例說明@Autowired註解?
Spring框架中不一樣類型event有什麼區別?
FileSystemResource和ClassPathResource有何區別?
請列舉Spring框架中用了哪些設計模式?
而針對以上面試技術點,我在這裏也作一些技術知識面試專題資料(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分佈式、高併發等架構技術資料)免費分享,但願能更好的幫助到你們。
資料免費領取方式:點贊後,加入Java架構交流企鵝裙:705127209免費獲取!
對於不少初級Java工程師而言,想要提高技能,每每是本身摸索成長,不成體系的學習效果低效漫長且無助。
整理的這些架構技術但願對Java開發的朋友們有所參考以及少走彎路,本文的重點是你有沒有收穫與成長,其他的都不重要,但願讀者們能謹記這一點。同時我通過多年的收藏目前也算收集到了一套完整的學習資料,但願對想成爲架構師的朋友有必定的參考和幫助。
下面是部分資料截圖,誠意滿滿:特別適合有1-5年開發經驗的Java程序員們學習。
資料免費領取方式:點贊後,加入Java架構交流企鵝裙:705127209 免費獲取!
(部分資料以下)