從一道簡單的「SpringBoot配置文件」相關面試題,我就能知道你的水平

面試要套路,也要技巧。別被背題目的兄弟們給忽悠了。java

【你來發揮】你比較喜歡什麼技術,哪種最熟?

通常自信的面試官都喜歡問這個問題,此次面試的小夥比較年輕,咱也裝回B,否則都對不起本身。

答: 我比較喜歡Spring,比較有趣。
目的: 但願應聘者可以有廣度且有深度。若是最感興趣的是Spring自己,而不是其上的解決方案,那頂多會承擔被分解後的編碼工做。面試

巧了,咱也熟。

【工做經驗】SpringBoot相比較SpringMVC,有什麼優缺點?

答: 有不少方面。以爲最好的就是不用寫那麼多配置文件了,直接寫個註解,經過自動配置,就完成了初始化。算法

目的: 說什麼無所謂,主要看有沒有總結能力。判斷是否用過早期的Spring版本,經歷過版本更新更能瞭解軟件開發之痛,接受新知識會考慮兼容和迭代。spring

【實現原理】我想要SpringBoot自動讀取個人自定義配置,該作哪些事情?

答: 寫一個相應的starter數據庫

目的: 判斷是否瞭解和寫過Spring Boot Starter,主要是META-INF目錄下的spring.factories文件和AutoConfiguration。瞭解AOP更佳。json

【煙幕彈】配置文件是yml格式,這種格式你喜歡麼?

答: 比較喜歡properties格式,感受yml格式的配置文件縮進比較難處理。好比當我從網上拷貝一些別人長長的配置文件,可能要花較多時間整理文件格式。數據結構

目的 此問題沒有具體的意圖,主要是過渡用。架構

【動手能力】這麼喜歡properties方式,可以寫一段代碼,將yml翻譯成properties麼? 要是回答相反則反着來。

目的 經過簡單的僞代碼,判斷應聘者的動手能力和編碼風格。是喜歡問題抽象化仍是喜歡馬上動手去寫。我但願回答可以有條理,並且可以考慮各類異常狀況,好比把本身判斷不了的配置交給用戶處理;好比空格和<TAB>的處理。微服務

【提示】提示一下,你用什麼數據結構進行存儲?

目的 假如應聘者在一段時間內不能有任何產出,會給出簡單的提示。找準了存儲結構,你就基本完成了工做,此問題還判斷了應聘者的培養成本和價值。編碼

【基礎算法】哦,是樹結構,遍歷方式是怎樣的?前序,後序,中序?

目的 判斷是否有基礎的算法知識。作工程先不要求會什麼動態規劃或者貪心算法,但起碼的數據結構是要了解的。

【基礎知識】你用到了Map?Java中如何作可排序的Map?

目的 是否對java的基礎集合類熟悉,指望回答TreeMap,若是回答上來,可能會追問它是什麼數據結構(紅黑樹)。

【知識廣度】你還接觸過哪些配置方式?比較喜歡那種?

目的 瞭解應聘者的知識廣度,說不出來也無所謂,瞭解的多會加分。好比ini、cfg、json、toml、序列化等。

【項目規模】我想要把個人配置放在雲端,好比數據庫密碼等,改怎麼作?

目的 是否瞭解SpringBoot的組件SpringConfig,或者瞭解一些其餘的開源組件如攜程的apollo等。

【知識廣度】我想要配置文件改動的時候,全部機器自動更新,該怎麼辦?

目的 瞭解是否知曉經常使用的同步方式。有兩種:一種是定時去輪詢更新;一種是使用zk或者etcd這種主動通知的組件。

【實現細節】Spring是如何進行配置文件刷新的?

目的 這個可真是沒寫過就真不知道了,主要是
org.springframework.cloud.context.scope.refresh.RefreshScope
這個類

【架構能力】如今我想要將配置文件分發到一部分機器,也就是帶有版本的灰度概念,你該如何處理?

目的 若是可以從網關、微服務約定,後臺操做原型方面去多方位描述一下,更佳。

這樣篩選的小夥伴,都很棒!能力多少,心中有數。

相關文章
相關標籤/搜索