1. 程式人生 > >如何拿到阿里offer的?面試流程及面試題

如何拿到阿里offer的?面試流程及面試題

一個偶然的開始

交待一下(非廣告),第一次用拉勾,感覺做的挺好,以前一直用51job。

從7月分開始,打算找工作,一個偶然的機會,拉勾上一個螞蟻金服的同學找到我,說要內推,在此感謝姚同學!

然後就開始了螞蟻金服的面試之旅。

面試流程

把簡歷發過去之後,就收到了郵件通知,10個工作日聯絡我,請耐心等待。

一面

沒過2天就接到一個杭州的座機,說要約我進行電話面試,效率還是挺高,然後當天晚上就進行了一面。

下班後,吃了飯,專門找了一條人比較少的小路,到了7點,電話準時打過來了。

還是先來自我介紹,完了面試官就開始發問,持續了大概40分鐘,感覺面的一般,答的也不知道是否準確,反正他們那邊一般不直接回答對還是錯,後來發現,阿里的幾輪面試,都是這樣,他們一般只聽,偶爾追問。

不知道的直接說答不上來,就會繼續一個題。

一面完了,叫我等訊息,心中涼涼,很多公司,等訊息基本就是沒訊息。

不過當時,自己心態挺好,也是抱著試一試的,比較淡定,順其自然嘛。

二面

一面剛過,隔天又一個杭州的座機過來,約我面試。當時挺意外,怎麼又叫面試?後來確認是二面。

過程都差不多,大概也是40分鐘左右,主要問一些專案上的東西,跟一些框架。

然後面完,還是問我有什麼想問的。

我直接說後面還有沒有面試,哈哈。面試官也樂了,還是叫我等訊息。

三面

一個星期過了,沒什麼動靜。

然後接到一個hr電話,叫我去現場面試。

然後給公司請假,程式設計師請假一般做什麼?當然是去面試。

到了地方,發現挺大的,有一棟樓,果然有錢!然後保安跟前臺都比較nice,登記完之後就在那等。

沒多久,一個大叔級別的過來,說是面試的。

整個過程要長一些,大約一個小時,完了還聊了一些個人及生活情況。重點來了,最後又是叫我等訊息!

還沒完呢

整個技術面下來,感覺好像面試有跡可循。

一面一般是基礎問題。二面偏向於做的專案與框架。三面比較全面,都會問到。如果會聊天,現場面還會聊技術之外的一些東西。

順便說一下,有開源專案或者技術部落格,熟悉原始碼加分。

最後一面

過了幾天,hr打電話過來,說是面試。

這一輪時間短一些,不到半小時,主要是技術之外的一些的東西。工作經歷,家庭情況,甚至對加班及公司文化的看法。

還是老樣子,叫我等訊息。

offer來了

過了整整一週,螞蟻金服通知我去體檢,並告知offer已經在走審批流程了。

算下來,前前後後,差不多3個星期。

所以面試阿里這種大公司,需要耐心。

最後仔細回想了一下技術面試題,附在最後,希望對其它想去阿里的同學有所幫助

我碰到的面試題

java基礎:
hashmap結構;什麼物件能做為key
hashtable,concurrentHashMap,hashtable比較
String,StringBuilder,StringBuffer

物件的深淺複製

多執行緒:
wait,sleep分別是誰的方法,區別
countLatch的await方法是否安全,怎麼改造
執行緒池引數,整個流程描述
背後的底層原理aqs,cas
ThreadLocal原理,注意事項,引數傳遞

還有java的鎖,內建鎖,顯示鎖,各種容器
及鎖優化:鎖消除,鎖粗化,鎖偏向,輕量級鎖


web方面:
servlet是否執行緒安全,如何改造
session與cookie的區別,get和post區別,tcp3次握手,檔案上傳用post還是get
session的儲存
如何防止表單重複提交

jvm:
jvm記憶體模型,
jvm問題工具,jps,jinfo,jmap...

資料庫:
最重要的索性及底層實現
索性失效的場景
最左原則
檢視執行計劃
及carndiation
然後是鎖的型別,行級表級
悲觀樂觀鎖
解釋資料庫事物及特性
隔離級別
及實現,redo log .undo log
bin log主從複製
mvcc,Next-Key Lock

分散式:
問了CAP,跟base
zookeeper滿足了CAP的哪些特性,paxos
快取穿透怎麼解決
redis的io模型
如果保證redis高可用
redis是單執行緒還是多執行緒
線上cpu佔比過高怎麼排查

一致性hash
分庫分表

spring:
ioc,aop原理
ioc初始化流程
springmvc的流程

springboot,spring cloud相關元件

專案....

友情提醒一下,對於做過的專案,最好梳理清理,可能會叫你畫各種圖。