華爲面試官:Spring該選擇哪個構造方法來進行實例化?

面試官:看你簡歷上寫了讀過Spring源碼,是嗎?

我: 是的

面試官:讀過哪些部分的?

我:讀過Spring的啓動過程源碼,比如掃描包、執行Bean工廠後置處理器、Bean的生成過程等(自信滿滿)

面試官:讀得還挺多,那你可以說說一個Bean是怎麼生成的嗎?

我:Bean的生成過程就是Bean的生命週期,包括Bean的實例化、屬性注入、初始化等等(險過....)

面試官:嗯,那可以再詳細一點說說實例化嗎?比如,如果一個類有多個構造方法,Spring該選擇哪個構造方法來進行實例化呢?我: 這個...,我就不會了

 

 

面試官: 好,那關於屬性注入你瞭解多少,比如@Autowire註解的工作原理,這個註解加在屬性上和加在方法上,在底層原理上有什麼區別?

我: 我不知道,只知道byname和bytype

面試官: 好,那Spring我們就先到這,我來問問你Mysql,Mysql中有哪些存儲引擎?

我: 我就知道Innodb和MyISAM, 有其他的,但是記不起來了

面試官: 那Innodb和MyISAM的區別是什麼?

我:Innodb支持事務

面試官:還有嗎?

我: 我只瞭解過這一點,其他的...不知道了

面試官: 他們在索引的底層實現上有區別嗎?

我: 噢...好像是有,但是我不記得了

面試官: 那Innodb中的索引底層是如何實現的?

我:B+樹面試官: 那爲什麼B+樹適合來作爲索引?我: ...不知道

面試官: 好吧,是不是平時Mysql用的也不多?我: 是是是(趕緊跳過這個話題吧)

 

面試官: 那我問問JVM相關的,JVM中各種垃圾回收器的區別是什麼? 如何對JVM進行調優?調優的思路是什麼?

我:...

面試官: 那對於Redis呢?平時工作中都使用Redis來做什麼?

我: 主要用來緩存一些經常用到的數據,比如商品的一些信息

面試官: 那你有了解過對於熱點數據的解決方案嗎?

我: 我們就是把一些常用的商品信息放到Redis中的。

面試官: 嗯,那你們Redis中緩存的商品信息是如何更新的,淘汰機制是什麼?

我: 這塊..我接觸不多,沒怎麼研究過

面試官: 哦,那行吧,今天就先到這吧

也許這只是一次普通的面試經歷,但由此揭露的問題卻不少。在工作中,產品不斷寫業務需求,他們也許只要加班一天,而開發就得工作一週才能完成。當業務領域達到一定地步後,日常編寫業務代碼已經很難帶來突破性的進步,此時就要警惕自己是否變成了業務代碼生產機器,還能否從容應對新技術和適應大環境變化。另一方面,“編程語言是程序員的表達的方式,而架構是程序員對世界的認知”。在經歷過成千上百萬行代碼的錘鍊後,通過架構來領略不同角度的程序語言之美。

爲了讓大家更加深刻理解Spring源碼及MYSQL、REDIS、JVM技術點,擺脫面試官的窮追猛打,小編在此免費分享:

spring面試題及答案+Spring源碼學習視頻+大廠java各專題面試資料+資深架構師整理的Java核心知識點

spring高頻面試題及答案

 

Spring源碼學習視頻

 

收集到的大廠面試資料

資料領取方式:點贊+評論,關注我私信回覆【面試資料】即可免費獲取!

面試答案

資料領取方式:點贊+評論,關注我私信回覆【面試資料】即可免費獲取!

面試答案

以及資深架構師整理的Java核心知識點

面試時面試官必問的知識點,包括了很多知識點,其中包括了有基礎知識、Java集合、JVM、多線程併發、spring原理、微服務、Netty 與RPC 、Kafka、日記、設計模式、Java算法、數據庫、Zookeeper、分佈式緩存、數據結構等等

 

 

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