Java面試中與原始碼有關的問題分享

千鋒武漢發表於2021-08-30

  在Java面試中,相信大部分應聘者都會遇到喜歡問與原始碼相關問題的面試官。要知道,現在企業都希望招聘到對技術有追求並且擁有持續學習能力的Java程式設計師。透過應聘者對相關問題的回答,面試官能夠快速診斷他是否愛鑽研,願意深入技術原理,而企業需要的恰恰是這種人才。 小千彙總了與原始碼相關的問題,希望學員結合所學檢測自己掌握的水平,以及做好應答準備。

圖片1

  對於Java初學者來說,很多程式碼的格式、命名等都需要學習,而好的辦法就是透過開原始碼來學習;在使用第三方框架、中介軟體時,要想了解它們的原理,有效的辦法也是直接看原始碼;只要是人寫的程式碼,就可能存在Bug,透過閱讀原始碼可以好地定位和解決問題。有關原始碼的問題,主要題目如下:

  1、你看過哪些原始碼?

  2、你能講講HashMap的實現原理嗎?

  3、HashMap什麼時候會進行rehash?

  4、HashMap什麼時候會進行擴容?

  5、HashMap的初始容量設定成多少比較合適呢?

  6、結合原始碼說說HashMap在高併發場景中為什麼會出現死迴圈?

  7、JDK1.8中對HashMap做了哪些效能最佳化?

  8、HashMap和HashTable有何不同?

  9、HashMap 和 ConcurrentHashMap 的區別?

  10、ConcurrentHashMap和LinkedHashMap有什麼區別?

  11、為什麼ConcurrentHashMap中的連結串列轉紅黑樹的閥值是8?

  12、ConcurrentSkipListMap和ConcurrentHashMap有什麼區別?

  13、還看過其他的原始碼嗎?Spring的原始碼有了解嗎?

  14、SpringBoot的原始碼呢?知道starter是怎麼實現的嗎?

  以上問題,學員可以對照自己對原始碼的學習程度給予解答,如果感覺回答上面問題沒有什麼困難,那就說明對原始碼的整體掌握水平很好;如果感覺回答吃力,那就要開始著重學習了。對於原始碼的學習,可以先從全域性出發,透過文件、程式碼結構、架構分層等方面入手,大概瞭解一些各個模組的程式碼都是什麼功能,這樣在後續深入學習的時候便於理解和查詢響應程式碼。

  總之,小千希望大家都養成閱讀原始碼的好習慣,也希望大家遇到所有原始碼類面試題都可以輕鬆搞定。

  本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2789384/,如需轉載,請註明出處,否則將追究法律責任。

相關文章