面試阿里等互聯網公司java崗位時,關於Spring到底需要掌握什麼?

之前分享過一些BAT面試必會的文章,一些讀者看了,問過我,Spring 這篇需要掌握一些什麼?相信這個問題也是很多讀者心中的疑問,今天就來聊一下關於 Spring,我從面試中收穫的一些經驗。

一. 關於 Spring

Spring這塊的內容比較多也比較雜, 要完全整理出來需要花很多的時間,而我所在的實驗室由於項目很多,導致我的時間有限,因爲這個原因,我在面試的時候,基本是把 Spring 這塊放到了最後纔去準備的。

對於這塊沒有太系統地去看書,從網上看了一些 Spring 的面試題集錦和一些關於 Spring 的源碼解讀,總的來說,Spring 的內容不用準備地多麼充分看非常多的書,把一些常問的內容多花點功夫準備一下就行。那麼什麼是常問的內容?其實多看看網上的面經,多看個十幾篇,就能瞭解到什麼是常問的內容。

常問的內容大致上有:IOC、AOP、AOP原理動態代理和cglib原理與二者之間的區別、Bean 生命週期、ThreadLocal 保證線程安全、事務傳播、Spring MVC、設計模式,除了這些面試題經常出現的,還有就是需要看一些Spring源碼解讀,因爲一些面試官會問你,有沒有看過源碼,這時候把自己看過的看懂的說一下就OK了。

二. BAT等公司考察側重點

不同的互聯網公司關於 Spring 考察的側重點不一樣,有點甚至基本不考察。這裏分別說一下不同公司的考察情況,大家可以針對不同公司做的有的放矢。

百度頭條基本不怎麼考察 Spring,這兩家公司比較側重考察基礎和算法,頭條尤其重視考察算法,百度可能會考察 Spring,但是我看了很多篇面經,考察的情況非常少,如果時間不是很充分,面試的時候可以不用準備也無妨。騰訊的話衆所周知是 C++ 網絡爲主,Spring 基本不用準備。

阿里的話和一些其他的以 Java 爲主的公司會考一些 Spring 的問題,這裏公司需要深入地去學習一下,不止是看面試集錦就能應付的,至於如何深入學習,之前這篇文章 科班和非科班都適用的 Java 學習路線 也有推薦過,這裏就不再多說了。(微服務思維導圖,文末有免費領取!)

Spring學習導圖(未展開)

三. 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免費獲取!

(部分資料如下)

 

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