剛拿到阿里offer,經歷了5次面試,其中4輪技術面,1輪HR面試。在這裏分享一下自己的面試經驗和學習心得。希望能夠幫助更多的小夥伴。
我本科畢業於四川師範學院計算機系,剛畢業時也是小白,也是一步步成成起來的。需要提一點是,你將來是需要靠這個喫飯的,所以請對找工作保持十二分的熱情,而且越早準備越好。
阿里一面
一面是在上午9點多接到支付寶的面試電話的,接到電話時相當非常興奮、非常緊張的,畢竟是第一次這樣的面試。
有些問題已經記不清了,下面列出了一面問到的問題:
- 自我介紹,不超過3分鐘
- JVM自動內存管理,Minor GC與Full GC的觸發機制
- 瞭解過JVM調優沒,基本思路是什麼
- 如何設計存儲海量數據的存儲系統
- 緩存的實現原理,設計緩存要注意什麼
- 淘寶熱門商品信息在JVM哪個內存區域
- 操作系統的頁式存儲
- volatile關鍵字的如何保證內存可見性
- happen-before原則
- Lucene全文搜索的原理
反問面試官的問題:
- 評價一下我的這次面試表現
- 應該在我的技術棧中增加什麼
- 有機會下次面試嗎
一面總結:
一面大概面了50多分鐘,從面試官口中得知他是一個老員工,比我大不了多少,總體上還是聊得蠻投機的。最後的三個問題是我問面試官的,在回答我是否還有機會下次面試的時候說:競爭很激烈,不過機會還是有的。
可以看出一面的問題不是很難,但是要得到面試官比較高的評價,還是需要一定的表達能力和對技術比較本質的認識的,如果在回答問題的時候能夠做一些適當的擴展,自然會讓面試官對你有不一樣的評價。我回答問題的遵循一定的步驟:先回答問題本質,在回答具體細節,最後做一些平時編程中的擴展。這樣,會讓面試官覺得你確實是在這個技術上面下過功夫的。
阿里二面
等了將近一週,終於再次接到阿里面試電話,那叫一個激動啊,二面的面試官是一個部門主管,上來就直接問問題,開門見山沒有一點拖泥帶水。
二面面試過程中的問題:
- 自我介紹,不超過3分鐘
- Java鎖有哪些種類,以及區別
- 如何保證內存可見性
- Http請求的過程與原理
- TCP連接的特點
- TCP連接如何保證安全可靠的
- 爲什麼TCP連接需要三次握手,兩次不可以嗎,爲什麼
- AOP的原理
- 看過Spring源碼沒,說說Ioc容器的加載過程吧
反問面試官的問題:
- 評價一下我的面試表現
- 有機會下次面試嗎
- 您覺得我的技術棧應該補充什麼,有哪些方面還需要提高
二面總結:
二面面試官問的問題都比較直接,答案也是知道就知道,不知道就不知道。這些問題一部分是基礎,一部分是根據你的專業技能的來提問的。
面完後面試官對我的評價是:中規中矩,有機會下次面試。雖說是中規中矩,但聽到面試官說有機會下次面試就感覺這次面試應該過了。
阿里三面(總監面試)
又在焦灼中等待了一週,接到了三面通知。
下面是三面遇到的問題:
簡單自我介紹之後,圍繞曾經做過的項目問問題,譬如:
- 爲什麼做那個項目?
- 項目中負責哪個模塊?
- 項目採用了什麼架構,數據庫如何設計的
- 數據庫由哪些表,爲什麼有這些表
- 主要有哪些核心模塊,模塊之間如何通信的
- session放在哪裏
- 如何保存會話狀態,有哪些方式、區別如何
- 分佈式session如何管理,有哪些具體方案
- 學過數據結構和算法嗎,說說二分搜索的過程
- 說一下快排的過程,寫一下僞代碼
- 瞭解哪設計模式,舉例說說在jdk源碼哪些用到了你說的設計模式
三面總結:
本以爲三面是交叉面,沒想到是阿里的總監面試。由於具體的技術問題在前兩輪面試中已經問過了,所以三面後不會有具體的技術問題,總結來看,對自己做過的項目一定要深入,包括使用使用到的技術原理、爲什麼要使用這些技術。
針對項目,面試官關注的無非以下幾點:
- 項目中某個比較重要的點是如何實現的(需要深入技術的原理)
- 遇到的最大困難是什麼(有哪些),你怎麼解決的?
- 如果需要擴展某個功能,如何降低系統的耦合度
- 如果針對某個功能進行優化,你會怎麼設計和優化
對於寫在簡歷上面的項目,自己對照上面四個問題進行思考,纔會在面試中游刃有餘。因爲任何在簡歷中作假的行爲,面試官只要詳細問你就露餡了。在聽到面試官說有機會下次面試的時候,心中自然是非常高興的。
阿里四面(總監面)
四面安排在第二天下午四點多,這次面試感覺相對放鬆,沒有什麼高深的技術問題,感覺就像和朋友聊天的感覺,真的很感謝這位面試官。
下面是面試中的問到的問題:
- 簡單自我介紹
- 介紹下你最有挑戰的項目
- 項目使用了什麼架構,技術難度在哪裏
- 你目前的研究方向是什麼
四面總結:
雖然這面比較輕鬆,也沒有什麼具體的技術問題,但對項目仍然是面試官關注的,後面瞭解到總監面除了看你的基礎,主要看你的潛力(就是有沒有培養的價值),這個東西看起來挺虛的,但是從你平時的學習中仍然是可以看得出來的。所以,作爲一名開發人員,平時對技術的研究也是很重要的。在聽到面試官說讓我好好等HR通知的時候可開心了。
阿里五面(HR面)
間隔了約一週,接到了HR電話,簡直激動萬分,感覺距離阿里offer已經不遠了,於是振奮精神,聊得還不錯。
下面是HR問我的問題:
- 自我介紹
- 做了哪些項目
- 看你在問題中說你在杭州看到很多商販使用付款二維碼,你對支付寶怎麼看
- 每天有那麼多人使用支付寶,這些數據如果給你存儲,你會怎麼設計呢(不是說HR不問技術問題嗎?不愧是阿里的HR)
- 如果與同事發生了意見的不一致,你會如何解決呢
關於HR面試:
早就聽說阿里HR對面試的最終錄取結果具有一票否決權,在技術輪面試結束之後,還是很擔心的。所以諮詢了師兄以及網上找了阿里HR面試的資料,大概得到以下結論:
- 誠信至上,所以在簡歷中不要存在任何虛假信息,企圖通過虛假信息得到面試機會的後果得不償失
- HR更關注你的表達能力、與同事相處的能力以及對工作的態度
- 對自己的是否一個明確的職業規劃(前提是首先得對自己有一個清晰的定位)
- 關於待遇的問題(就我而言,能力纔是最重要的,能力上來了待遇自然就水漲船高)
關於面試心態:
在自己拿到阿里offer之前,一直都在想一個問題:我到底該如何做才能離阿里更近?一年的成長與思考讓我認清了這點,雖然中間也遇到過很多坑,但卻真正讓我對自己有了一個清晰的定位,也有了比較明確的目標。正因爲如此,我每天所學習的都給我莫大的動力,讓我不斷進步,並最終實現自己的目標。所以迷茫纔是最可怕的,只有擺正心態,對找工作保持十二分的熱情,勤奮努力,才能離目標更近一步。
但是有了目標和努力外,不一定就能實現目標,說到底還有一個運氣的成分在裏面,只能說你找到心儀的工作概率更大而已。遇到一個好的面試官絕對賺了。這四位阿里的面試官我感覺都挺好的,沒有因爲他們資歷深就爲難我,所以還是非常感謝這四位技術面試官的。
一點總結
雖然本科是非科班出身,但沒有接觸過實際項目,對Java實踐了特別少,曾經對自己未來的發展道路很迷茫,不知道何去何從,感覺自己就是一個loser。有幸進入了一家某知名美資企業實習,也就是那段時間讓我認清了自己的短板,自己欠缺的是什麼,那段時間也是我確立自己目標的過程。瘋狂寫代碼、做項目,經常在公司加班很晚(在公司打地鋪),每天都在對自己進行總結和反思,正是這樣一個不斷的自我反思與努力的過程中,我得到了真正的成長與進步。也是這段經歷讓我能夠面對阿里技術面試官的提問應答自如,從而順利拿到阿里的offer。
我堅信,堅持學習,每天進步一點,滴水穿石,我們離成功都很近!
以上就是阿里五面面試題目,以下是總結出來的阿里經典面試題目,包含:集合類、多線程、JVM、spring框架、分佈式緩存、架構設計等。
阿里高級java經典面試88題和答案
爲什麼某些人會一直比你優秀,是因爲他本身就很優秀還一直在持續努力變得更優秀,而你是不是還在滿足於現狀內心在竊喜! 關注我,私信回覆我“666”免費拿走
獲取免費的Java架構學習資料(裏面有高可用、高併發、高性能及分佈式、Jvm性能調優、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構視頻學習資料以及電子書資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
推薦閱讀:
牛皮了,馬士兵老師全網首播阿里P8級技術、實現大型淘寶實戰落
面試美團被JVM慘虐?阿里P9架構師用500分鐘把JVM從入門講到實戰#合集
清華啓蒙架構師馬士兵針對應屆生到開發十年的Java程序員做職業把脈