首頁>技術>

剛剛入職阿里不到一個月(新零售方向),所以還是比較清楚之前都準備了啥,部門也在招聘,所以問了下那些招聘的同事主要看什麼點。對於社招,我之前做的準備有以下幾個方面:

1.基本功:

阿里主要是java方向的,那對jdk要比較熟練的理解和使用,重點內容有:集合,多執行緒,io,異常,反射,註解,序列化,反序列化等知識。其次就是網路和資料結構,網路至少要知道三次握手,四次分手,https,get,post等。資料結構有時候會問下紅黑樹,平衡二叉樹吧。如果瞭解redis的,還可以聊下跳躍表,字首樹吧。作業系統問的不多,一般就是問下實際中有沒有出現過cpu過高或者記憶體過高的情況,然後怎麼定位解決。

2.中介軟體框架:

現在這邊也是基本spring那套,所以spring的常問題目要了解。比如啟動過程,bean的初始化流程,bean的生命週期,如何解決迴圈依賴問題,ioc,aop等。 快取,不論是redis或者是memcache或者其他的,至少要有一個比較熟練的,能瞭解底層資料結構及實現原理,常規的使用方法。資料庫,這個就mysql或者Oracle要熟悉一種,資料庫一般要知道分庫分表的實現,資料庫備份,資料庫的事務,資料庫和快取的資料一致性,資料庫的索引,鎖機制等等。rpc 也是阿里這邊比較使用多的一種,所以常用的rpc框架可以瞭解下,優缺點,rpc的原理要懂,如果有時間自己可以基於netty寫一個實戰一下。MQ也是一個重點知識,一般會問下訊息的冪等性,事務性實現,如何保證不丟訊息等,要熟練至少一種訊息佇列,瞭解原理。zk有時問有時不問,這個有時間也可以看下,畢竟這是分散式協調器,很多時候在分散式系統中都會使用zk來保證強一致性的問題。

3.設計題:

這種一般會給定某個特定場景,讓你去做,如果是架構設計,一般就是高併發。如果是資料庫的設計,一般看你對資料怎麼設計能夠方便查詢。

4.理論題:

一般這種就是看你對現在一些常用的分散式理論的理解了。一致性協議,分散式cap,base理論,服務降級,熔斷,restful介面等等。

5.專案:

這是個重點,和我同事聊天發現,他如果覺得連自己做的專案都講不清楚的話,基本就沒希望過了,所以一定要想下自己做的專案,有什麼難點,解決了什麼問題,架構有什麼調整,為什麼這麼做,最後的結果是什麼。如果做的比較久,一般還是分幾個階段來描述,每個階段的目標是什麼,為什麼這麼做。這樣會顯得思路清楚一點。

6.手寫程式碼:

程式碼考核是進入每個大公司都需要準備的,所以這個就是要刷刷題,leetcod,有時間逛逛,你值得擁有。

其實每個公司面試都差不多,當然了,如果要面試更高的檔次的話,一般還有你對行業的瞭解,對行業的看法。

我的五面經歷

阿里的面試還是比較難的,尤其是後面的專家面,基本是一個問題接著一個問題的。相比較於騰訊和位元組的面試來說,阿里的面試在於coding比較簡單,一般是三道題,一個小時,一道演算法題,一道設計模式題,一道多執行緒事件等待通知,其他的都還好。下面給出阿里的面試題目:

阿里一面:(電話 面試)

專案介紹專案中分庫分表的實現,怎麼實現聚合查詢專案中怎麼保證只提交一次,http請求的冪等性Jdk的雙親委派模型,如何破壞雙親委派模型分散式鎖的使用場景和原理,專案中是否有使用Java多執行緒瞭解麼Mysql的索引介紹一下,在什麼條件下索引失效,解釋下最左字首原則程序的記憶體佔用過高,要怎麼排查Spring aop的實現原理有什麼想問的

阿里二面(線上筆試題):

1個小時三道題,不允許使用idea,只能手寫,所以有些函式會寫錯,在旁邊註釋下

leetcode原題第三題設計模式策略模式的實現多執行緒的等待通知的使用

阿里三面:

面試官有事直接到下一面了,幸運

阿里四面:(電話面試)

專案介紹,問的很詳細,細節問題,最佳化點,如何最佳化的,效能對比,怎麼實現的rpc框架熟悉麼,有了解哪些rpc的架構,分別說說優缺點,因為專案用了grpc,重點介紹了下這個框架grpc的序列化protobuf知道是怎麼實現序列化後很小的,有了解過底層的原理嗎?你們專案用的是Redis哪個版本 ,知道其新特性麼?為什麼選用這個版本?Redis有幾種部署方式,哨兵機制和叢集的區別是啥?有什麼想問的麼?薪資和來杭州的意願

阿里五面:(影片面試)

專案介紹專案中是如何設計資料庫的,其分庫分表實現細節?要具體到程式碼是怎麼實現的?你剛剛提到的一致性hash演算法能描述下麼?在專案的過程中,你們專案是一個怎麼樣的演進過程?每年分別做了什麼事情?Netty的執行緒模型描述一下,口述一下一個netty的服務端啟動流程?(需要知道程式碼是怎麼實現的)怎麼實現一個加鎖的生產者消費者模型?口述一下condition的使用,消費者和生產者的程式碼執行緒是怎麼被喚醒的?將AQS和condition中的等待佇列和同步佇列描述清楚Rpc瞭解麼?說下rpc的流程Zookeeper在rpc框架中的作用?Zookeeper的寫入過程是怎麼實現的?有什麼需要問我的麼?我的學習資料

學習java沒有捷徑,是一個孰能生巧的過程,透過不斷的練習,把基礎學紮實,一步一個腳印的逐步學習。

按類分組,清晰目標與進度:

對我幫助最大的一份文件:

這份文件其實不用多說,單從目錄就可以看出他的含金量了!

14
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 簡易版 vue3.0+element-plus 後臺模板框架