一年Java開發經驗,阿里巴巴五面(已offer)面經,我自己都沒有想到我會過

Java技術劍發表於2020-12-24

阿里的面試很注重專案和基礎,並會結合一定的實際業務問題進行考察。建議可以做一些拿得出手的專案,這樣可以在面試的時候給面試官一個好的印象,並將面試問題引導到熟悉的領域;反之,如果為了專案經驗寫一些自己參與過但不熟悉的專案,很可能就會遇到一問三不知的情況,建議在寫專案經驗時只寫自己熟悉的。

Java基礎是非常重要的考點,其實Java基礎要準備的內容並不多,問來問去其實也就是那幾類的問題,重點複習集合和併發相關的知識,最好可以對JVM深入理解。Spring框架不用多說,Java後端面試幾乎是必考的,多瞭解一下工作流程,如果有餘力的話甚至可以去看看實現的程式碼或者自己實現一個簡單的框架。實際業務問題最好去先了解一下自己申請的事業部是做什麼的,多思考一下一般會遇到哪些業務問題。

面試過程前後經歷了一個多月的時間,也感受到了阿里工作的忙碌。成功通過五面拿到了阿里的offer,或許只是運氣好罷了,但多總結面試經驗,多覆盤面試問題,一定會在某種程度上增加通過面試的機會,相信各位多多積累經驗,也一定可以拿到

一面:

1、hashmap、concurrenthashmap底層實現和區別;

2、spring框架的原理;

3、如何寫一個orm框架?

4、hibernate一級快取和二級快取,hibernate其他快取;

5、hibernate事務傳播行為種類;

6、springmvc原理;

7、restful的好處;

8、restful有幾種請求,表單如何提交put請求?

9、web中安全性問題的考慮,如何防止?

10、web系統整體架構;

11、hibernate如何實現宣告式事務?

12、java併發包;

13、volatile;

14、平常都看哪些書?

15、spring底層資料結構?

16、如何進行反射,如何提高反射的效能?

17、如何實現java的代理,為什麼需要實現介面?

18、TCP協議三次握手?

19、springmvc用過哪些註解?

20、springAOP可以使用哪些代理,有什麼區別?

21、為什麼要分三層?

22、mybatis與hibernate有什麼區別,為什麼不用hibernate直接寫sql語句?

 

二面:

1、hashmap,hashtable區別。

2、是否瞭解過hashmap的原始碼?

3、jvm相關,主要是記憶體分配的過程,何時出發GC,用什麼工具或者命令來進行監控?

4、類載入,類隔離機制。

5、spring的ioc,aop,事物,然後順便提到了資料庫的事物,兩階段提交,資料庫鎖的級別,MySQL資料庫鎖的特殊之處(頁級鎖)

6、java執行緒池裡面的arrayblockingqueue,linkedblockingqueue的用途和區別。

7、設計模式相關,主要講解用途如何保證資料庫叢集中ID的唯一性,假設每秒鐘併發20萬次。

8、設計十萬併發級別的網站後臺,如何計算使用的ecs數目;

9、memcached和redis的異同和用途。

10、nosql資料庫相關,主要講了mongodb

11、10G的整數中,取出最大的一個;

12、synchronized,volatile,可重入鎖的用途和優缺點。

13、java nio相關核心的api基本瞭解和應用

14、一致性hash

15、在一個大系統中存在哪些單點失效的問題

16、hadoop優化相關

 

三面:

1、什麼是restful web service?

2、併發集合包?

3、專案中使用了哪些資料結構?

4、TCP中斷連線四次揮手?

5、MD5加鹽;

6、https相關;

7、支付寶介面開發;

8、知道哪些鎖,有什麼區別?

9、依舊JDK原始碼;

10、專案遇到什麼問題,怎麼解決?

11、JDK1.8有什麼新特性?

12、聊了一下職業發展、職業規劃;

四面

1、首先仍然是先自我介紹;

2、對哪些技術最熟悉最擅長?我說的是java WEB框架那些,然後就開始問java了

3、介面和抽象類的區別 實現有哪些不同?

4、序列化如何實現?用程式碼描述。writeObject? objectWrite?ObjectOutputStream.writeObject(). ObjectInputStream.readObject();

5、IO框架 集合框架的描述。如何判斷檔案是否存在?如何讀取一個目錄下面的所有檔案和子目錄?程式碼描述。

6、廣度優先遍歷目錄下面的所有子目錄和檔案?程式碼實現?List和Map的不同?HashMap的實現?如何解決雜湊衝突?

7、多執行緒機制?執行緒休眠10秒?sleep()與wait()的區別。

8、緩衝流buffer的用途?原理?

9、linux下如何檢視CPU負載和IO埠的使用情況?如何建立目錄?如何搜尋一個指定的字元?

10、考察資料庫的sql操作,給定了一個具體的業務表,如何對不同型別的資料進行統計。

11、事務的概念?髒讀?如何避免?如何在程式碼中實現?

12、sql程式碼中如何使用如何定義一個事務?應該是如何定義一個事務的隔離級別?

13、專案中遇到的問題?解決方式?

14、SSI框架?spring如何定義一個bean?程式碼描述。Bean的生命週期?Bean的scope?

15、對淘寶技術架構的瞭解?從哪裡獲取到的?自己今後的職業規劃?技術發展方向?

16、最後問我有什麼想問的?談了下資訊平臺事業部的主要業務;

 

HR面

  • 如何看待阿里這家公司?為什麼說阿里在Java領域做的比較好?
  • 為什麼會選擇這個事業部呢?
  • 之前有用過我們事業部的產品嗎?如何看待我們的產品?
  • 對於遊戲行業和網際網路行業,有什麼偏好嗎?
  • 自己對程式語言的選擇和判斷?
  • 在Java多年的開發過程中,有什麼總結和心得嗎?
  • 覺得自己有什麼優點和待發展的點?
  • 是什麼支撐你願意自學?
  • 專案成功對於你的意義在哪裡?
  • 這一次找工作的目標是什麼?
  • 如果獲得了阿里的實習機會,希望獲得哪些成長?會有哪些挑戰?
  • 對前幾面的面試官有什麼評價嗎?
  • 之前有實習過嗎?
  • 為什麼選擇現在的學校?
  • 對團隊的風格和氛圍有什麼喜好嗎?
  • 自己在合作中是處於什麼樣的角色呢?
  • 和同學在協作中存在什麼困難嗎?
  • 對自己畢業之後的成長有做過什麼規劃嗎?
  • 平時會看一些技術類的書籍嗎?看這些書籍對你的意義是什麼?
  • 如何判斷和選擇offer?

篇幅限制,沒能展示面試題答案。文中涉及面試題目答案總結

需要獲取得話麻煩一鍵三連+評論,然後新增VX(tkzl6666)即可免費領取

學習沒資料,面試找不到方向怎麼辦?

下面是針對一到五年開發的Java程式設計師整理的Java實戰視訊+電子版本書籍+大廠面試場景文件分享給大家學習!(文末獲取)

Java核心知識點:內容點包含有java集合,jvm,併發程式設計,spring,mybatis,springMVC,微服務,Dubbo,netty,網路,zookeeper,kafka,rabbitMQ,readis快取,資料庫,設計模式 等

大廠面試題及場景

 

架構視訊 

相關文章