分享一下前段時間本身第三面的面試經歷吧,雖然如今入職的不是BAT,但也算是細分領域裏的準獨角獸公司了,但願能夠對你有所幫助哈。面試官:一面、二面他們對你的評價很高啊。我看你寫着精通Spring,今天咱們就聊聊Spring吧!git
我:走着!程序員
面試官:談談你本身對Spring的理解吧!面試
我:我以爲Spring就是個萬用排插,能夠對接幾乎一切的開源接口。像我接觸過的項目有規則引擎,作推薦,作營銷活動,作秒殺等等。數據庫
面試官:你爲何用Spring?
我:Spring的優勢不少,好比方便解耦,簡化開發,可是對我來講主要仍是避免重複造輪子!編程
Spring能夠說已是業界標準了,通過了無數項目的實戰檢驗。遇到問題也能夠向全世界的開發人員請教,能夠幫忙指出思路或解決方案;安全
還有就是學習Spring的理念,我常常會研究Spring的源碼,對本身的Java技術水平和應用開發水平提高很大。Spring框架源碼是Java技術的最佳實踐範例。服務器
面試官:我很贊同!咱們來問問比較細的點,@Transactional到底作了什麼事?架構
我:保證事務的完整性,結合ACID瞭解。併發
面試官:@Transactional必定能保證事務的ACID麼?框架
我:不必定,默認狀況下,回滾時,只會回滾Error與RuntimeExcetption。
面試官:Spring有幾種事務的實現方式,爲何說加了@Transactional註解的業務方法裏不適合有長調用?
我:排除自定義事務管理器的話,Spring提供了2種事務管理方式,分別爲聲明式事務@Transactional(註解式)和編程式事務,若是使用聲明式事務,在源碼中(省略500字),正常狀況下,只有業務方法總體執行完成,纔會釋放數據庫鏈接,若是業務方法中的長鏈接調用時間要10s,那麼意味着至少10s,當前的數據庫鏈接是沒法釋放的,數據庫鏈接是很寶貴的資源(省略100字)。
面試官:Spring的事務傳播屬性是如何實現的?
我:結合數據庫鏈接去理解,咱們在工做中經常使用的,有REQUIRED,REQUIRES_NEW,NESTED三種傳播屬性,在Spring底層實現中,它會根據傳播屬性的不一樣,去使用數據庫鏈接,在源碼中(省略500字),咱們使用時,應該根據業務進行具體判斷。
面試官:Spring的事務隔離級別是如何實現的?
我:高併發場景下,爲了保證競爭資源的安全性,就會考慮隔離級別的問題,結合您剛纔問到的事務的傳播屬性,實際隔離級別這個問題,我以爲結合數據庫的MVCC&LBCC(省略500字),來結合業務場景會更加合適。
隔離性您真的瞭解麼?在MySQL5.5+,InnoDB存儲引擎中,若是表my_table_innodb中,id=12345,age=18,在下上事務中,Q1,Q2,Q3的查詢結果分別是什麼?
面試官:答的很好,最後一個問題:若是沒有Spring,你打算怎麼開展工做?
這個思考了幾分鐘後,我是這麼回答的:Spring的核心源碼,好比:IOC、AOP、Spring事務、MVC原理等從02年到如今基本80%都沒有改動過,核心源碼我仍是有信心把控的,手寫一個相似Spring的核心框架,在個人能力範圍內。
另外,若是業務比較緊急,git上有不少可借鑑來源項目,由於我本人對Spring源碼的瞭解,改造起來不會花費太多時間;
面試官:你本人對公司有什麼要求?(喜聞樂見的談薪水時刻)明天能夠來上班嗎?
作程序員難,作一個2020年的程序員更難,隨着IT人員愈來愈多,咱們的競爭壓力也愈來愈大,想要在茫茫人海中脫穎而出,其實考察的就是咱們技術棧的廣度和深度。
Spring框架爲開發Java應用程序提供了全面的基礎架構支持。Spring包含了一些很好的功能,如依賴注入和開箱即用的模塊:
Spring 框架的問世,給咱們提供了很好的擴展性、易維護性,給咱們的開發提供了便利,效率的提升,節省時間。
Spring的用途不只限於服務器端的開發。從簡單性、可測試性和鬆耦合的角度而言,任何Java應用均可以從Spring中受益。
Spring框架爲開發Java應用程序提供了全面的基礎架構支持。Spring包含了一些很好的功能,如依賴注入和開箱即用的模塊,這些模塊能極大縮短應用程序的開發時間,提升咱們的工做效率。
作Java的人,應該都據說過一句話:Spring從新定義了Java。
Spring底層到底要看什麼?如下是個人學習筆記,給你們分享一下,但願能夠對你掌握Spring有所幫助。
Spring學習筆記
Spring做爲如今最流行Java開發技術,其內部源碼設計很是優秀。可是至關一部分程序員沒有用過Spring,不少用過的程序員對於Spring的理解也只停留在很淺的層面,只關注本身用的那部分代碼的邏輯,而並不真正去理解框架,徹底不懂Spring源碼。
不懂Spring,你怎麼敢去面試啊?
原做者:K8S中文社區
原文連接: 簡歷寫了精通Spring,今天咱們就聊聊Spring吧!
原出處:公衆號