1. 程式人生 > 其它 >Github標星25K+超火的Java實戰專案,面試必問!

Github標星25K+超火的Java實戰專案,面試必問!

Github標星25K+超火的Java實戰專案,面試必問!

美團

一面:

1、ConcurrentHashMap實現原理
2、HashMap實現原理
3、鎖的實現原理
4、synchronized和重入所實現原理以及區別
5、一個char[]陣列,裡面有空格,以&結束。
6、jvm記憶體模型,都存什麼。以及垃圾回收演算法,垃圾回收器。
7、記憶體溢位的場景
8、設計模式,以及自己使用的場景。
9、Sping的AOP實現原理,以及物件生成方式的種類,單例的還是原型的。

二面:

1、分散式鎖。
2、逐層遍歷樹。
3、原子類實現
4、volatile實現原理
5、自己做的專案,自己負責的東西的介紹,以及問題溯源。
6、資料庫索引實現原理,什麼情況下索引會失效。
7、資料庫sql優化
8、多個執行緒執行完了,再執行一個執行緒,實現方式。

三面:

1、程序和執行緒的區別
2、給定一個程序,有多個執行緒,其中一個執行緒出現OOM異常,判斷所有執行緒的狀態。
3、介紹自己實現的東西。以及問題丟擲。

京東

一面:

1、面向物件的優點
2、java的特點
3、說一說你做的東西
4、遇到的問題

二面:

1、簡歷上寫的所有技術基本都問了,問得有點多,自己都有點亂,會的就說 不會的就說不知道。
2、談對工作的看法,以及對問題的態度
3、linux的知識

三面:

1、HashMap實現原理。
2、執行緒池的實現原理
3、讓說你自己最熟悉的技術,問得很深。
4、CAS和鎖的區別,以及應用場景。

四面:

領導說比較忙,簡單聊了聊,問問我為什麼要換工作,以及期望薪資。很快就結束了。

阿里

記得不很清楚,面試時狀態不很好,面試官跳躍性比較大,而且問得很深。根本不能含糊其辭

1、基本上jvm一定要基本掌握,併發程式設計需要掌握,mysql使用以及優化,mysql 引擎的區別。
2、阻塞佇列的實現方式
3、Conurrenthashmap實現方式
4、程式設計:一個很大的字串求和。
5、程式設計:手寫死鎖。

寫在最後

學習技術是一條慢長而艱苦的道路,不能靠一時激情,也不是熬幾天幾夜就能學好的,必須養成平時努力學習的習慣。所以:貴在堅持!

最後再分享的一些BATJ等大廠20、21年的面試題,把這些技術點整理成了視訊和PDF(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節,由於篇幅有限,上面只是以圖片的形式給大家展示一部分。

領取方式:戳這裡即可免費領取

Mybatis面試專題

MySQL面試專題

併發程式設計面試專題