天天看點

二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結

對于很多沒有學曆優勢的人來說,面試大廠是非常困難的,這對我而言,也是一樣,出身于二本,原本以為就三點一線的生活度過一生,直到生活上的變故,才讓我有了新的想法和目标,是以我這個二本渣渣也奮鬥了起來,竟拿下了阿裡P6崗。今天分享這波面經,主要是希望能夠激勵到同樣被學曆所困擾的技術人,能夠對職業生涯和技術規劃有一個參考價值,感謝!

二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結

一、面試阿裡P6難在哪?(面試難點)

(1)難在“心态”

首先需要克服的第一關,實際上就是自己的心态。因為我是二本出身,base比較低,是以面試阿裡本就是一件沒太大底氣的事情,更何況是進階開發崗,是以心裡就更容易沒底。是以,在準備面試之前,調整心态這件事情就做了很久,是以難在“心态”一點也沒錯,心态沒調整好,面試幾乎是沒戲的。

(2)難在“要求”

其次就是要求,所謂的要求實際上就是阿裡對崗位的任職要求,也就是作為開發人員,你掌握了多少技術棧?

首先,你履歷上寫的肯定要會,其次就是你要擁有一些亮點,也就是說對某個技術有深入的了解,這樣才能給面試官耳目一新的感覺。

那麼,面試阿裡P6崗,需要掌握多少呢?

  • Java集合:HashMap和ConcurrentHashMap,平時最好有讀一些源碼,最好知道每個參數為什麼設定成這麼大?有什麼好處?
  • JUC包肯定要學,即使平時的程式設計根本不用,也必須得會。至少要知道aba,cas,aqs,unsafe,volatile,sync,以及常見的各種lock,死鎖,線程池參數等,也必須要明白自旋,阻塞,死鎖和它如何去定位,oom如何定位問題,cpu過高如何定位等基本的操作,你可以沒有生産調試經驗,但不代表你可以不會top,jps,jstack,jmap這些可能會問的東西。以及可能衍生的jmm模型和mesi協定等。
  • 大廠必問JVM:垃圾回收算法,垃圾收集器、JVM記憶體模型,每個區域用途,各種oom的種類,jvm調優經驗,類加載過程,雙親委派等。
  • Spring就得抽空看源碼了,一般會問到bean的生命周期,如何解決循環依賴,實作事務原理,動态代理原理等。
  • Dubbo也是必須問的,設計架構,負載均衡。
  • Redis更要多懂一點,單線程模型,aof,rdb,rewrite,主從,cluster,哪些類型?包含一些緩存常見的問題擊穿、穿透、雪崩、資料一緻性等。
  • Mysql,事務,鎖,索引,b+樹,主從這些你必須會
  • Mq ,我用的rocketmq,你得知道為什麼用,重複消費,順序消息,事務消息,高可用,消息丢失,擠壓場景,整個消息發送消費的流程,讀過源碼更佳,更好吹
  • Netty的話,零拷貝,bio,nio,aio,架構設計怎麼樣子的?用過看過更好
  • 算法,建議去刷題,我運氣好,簡單的算法讓我碰到了,一些快排,堆排,二叉樹相關的,連結清單反轉,成環,環節點,跳樓梯等正常的簡單算法建議刷刷,雙指針,dp,遞歸這些還是多找找感覺,大資料記憶體有限的場景的統計,有時間一些middle可以去試試,手寫紅黑樹你要是可以,那我估計算法你穩了。
  • 網絡,http,tcp,https,udp,7層網絡協定等,最好結合自己了解,背,你都要背下來。
  • 還有就是一些分布式事務實作,架構實作,比如搶紅包,高并發下單等正常的場景設計,你來設計,你怎麼去設計?多找一些大牛或者上網自己查,幫你看看有哪些漏洞,有那些解決方案?業界有哪些好的中間件?
二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結

技術棧思維圖

二、阿裡面試題(共5面)

阿裡一面:

  • 自我介紹、自己做的項目和技術領域
  • 說一下sync的底層實作,鎖優化,和lock的對比
  • 講一下JVM參數調優詳細過程
  • 為什麼這麼設定?好處是什麼?描述gc場景,如何去分析gc日志?
  • redis資料結構,使用場景,微網誌場景使用redis如何去設計使用者關系?
  • 線程池參數設定,為什麼這麼設定,作用?7大參數
  • spring的循環依賴如何解決?為什麼要三級緩存?
  • 優先級隊列的底層原理?

阿裡二面:

  • 自我介紹一下吧
  • 聊項目
  • 結合你項目問你如何設計,提出漏洞,你怎麼解決?如何改進,萬一挂了?加一台機器有沒有問題?如果我非要不出問題怎麼辦?
  • 高并發下單扣庫存場景如何設計
  • rocketMQ架構設計原理
  • Dubbo架構實作原理
  • 最近讀了什麼書?平時怎麼學習?
  • 常用的負載均衡,該怎麼用,你能說下嗎?

阿裡三面:

  • 這一面主要問項目,給你的壓力感比較強
  • 結合項目問,為什麼這麼設計?讓你去優化,你怎麼優化,引導你用一個合理的更好的方式去優化,資料庫的設計等
  • 在公司做了什麼事情,各個系統業務線都是做什麼的,你的績效,手寫算法連結清單反轉?

阿裡四面:

  • JVM的主要組成部分及其作用?
  • JVM運作時資料區包含哪些?
  • JVM垃圾回收機制,何時觸發MinorGC等操作
  • JVM的垃圾回收算法:
  • JVM 調優的工具?
  • 常用的JVM調優參數?
  • 堆棧的差別?
  • 詳細介紹一下 CMS 垃圾回收器?
  • 怎麼判斷對象是否可以被回收?
  • 新生代垃圾回收器和老生代垃圾回收器都有哪些?有什麼差別?
  • java類加載過程?
  • 把你知道的中間件都說一下吧(瞬間懵了一下)

HR面:

  • 為什麼來阿裡?
  • 之前沒考慮過阿裡嗎?
  • 畢業這麼久了,你覺得自己最大的改變是什麼?
  • 用一句話總結一下自己

注:由于文章篇幅有限,面試題的答案的詳細版整理在文檔裡,需要的私信我【面試】領取pdf吧~

二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結

三、拿下阿裡P6崗offer前,我做了些什麼?

(1)準備履歷

履歷是門面,更是敲門磚,能否拿到大廠的面試機會,就要看自己的履歷如何,抛開學曆意外,大廠最看重履歷是否有亮點,是以我們對履歷内容要有準備,對自己的突出點,包括技術、個性上的亮點,要練習表達,避免臨時組織語言。

二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結

(2)提升技能

實際上我有個阿裡的朋友很早之前就向我透露過,很多人認為大廠看重學曆,但實際情況并不完全是,在阿裡隻以能力論英雄。是以,在日常生活中,通過不斷地學習,提升自己的能力,努力去拉進自己與目标值的距離,這是很有必要的,也是未來的必然趨勢。

關于提升技能,我的做法:

  • ①閱讀實戰文檔
二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結
  • ②讀一些源碼
二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結
  • ③讀一些技術筆記
二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結

(3)猛刷面試題

對于base不是太好的人來說,刷面試題實際上是最具有“急救”效果的辦法,是以在面試阿裡前,我是刷了不少面試題的,目的倒不是希望面試時能被問到原題,而是對大廠面試有一個相應的了解,清楚阿裡面試會問一些什麼,涉及到哪些技術棧等。

關于刷題,我有話要說:

  • ①Java核心面試知識點整理
二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結
  • ②算法部分(LeetCode+算法的樂趣)
二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結
  • ③BAT大廠面試真題+專題訓練
二本渣渣阿裡5面,竟拿下了阿裡P6崗,我到底經曆了什麼?一、面試阿裡P6難在哪?(面試難點)二、阿裡面試題(共5面)三、拿下阿裡P6崗offer前,我做了些什麼?做個總結

做個總結

很多學曆不太好的人,可能對自己沒有太大的信心,實際上任何事情都有“奇迹”發生,而這個“奇迹”關鍵還是要靠自己去創造。無論你是白菜鳥,還是技術大牛,日常都不能夠落下學習這件事情,一旦落後下來,就容易遭到淘汰。

以上我的經曆希望能夠給大家帶來幫助,另外自己手頭上的資料整理均可免費分享,需要這些資料的朋友

點贊關注小編,點此傳送門領取