對於二本渣渣來說,面試大廠也太難了!(三年crud經驗,已拿offer)

對於二本渣渣來說,面試阿里P6也太難了!(兩年crud經驗,已拿offer)

Java程序猿阿谷

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

一、面試阿里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層網絡協議等,最好結合自己理解,背,你都要背下來。
  • 還有就是一些分佈式事務實現,架構實現,比如搶紅包,高併發下單等常規的場景設計,你來設計,你怎麼去設計?多找一些大牛或者上網自己查,幫你看看有哪些漏洞,有那些解決方案?業界有哪些好的中間件?

image

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

阿里一面:

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

阿里二面:

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

阿里三面:

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

阿里四面:

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

HR面:

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

注:由於文章篇幅有限,面試題的答案的詳細版整理在文檔裏,需要的直接(點擊我)免費領取~

image

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

(1)準備簡歷

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

(2)提升技能

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

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

  • ①閱讀實戰文檔

image

  • ②讀一些源碼

image

  • ③讀一些技術筆記

image

(3)猛刷面試題

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

關於刷題,我有話要說:

  • ①Java核心面試知識點整理

image

  • ②算法部分(LeetCode+算法的樂趣)

image

  • ③BAT大廠面試真題+專題訓練

image

做個總結

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

以上我的經歷希望能夠給大家帶來幫助,另外自己手頭上的資料整理均可免費分享,需要這些資料的朋友,關注我的專欄(Java快速進階通道看頂部的提示,或直接(點擊我)免費獲取

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章