聊聊阿里面試的三個層次!
最近去阿里的菜鳥國際做了一次面試交流,發現大公司對於面試者的知識結構考核非常嚴謹,可以作為我們日常工作學習的指導。雖然很多人說面試問到的東西在實際工作中很少用到,甚至有「面試造火箭,工作擰螺絲」的說法。但從面試中,其實可以看得出來現在的公司對於面試者的知識體系要求。如果我們能在工作中就按著這樣的要求去不斷提升,那麼在面試的時候必然也能遊刃有餘。
一般來說,阿里的面試會有兩輪的技術電面,分別交叉檢驗你的技術基礎。後面還有兩輪的現場技術面試,主要檢驗你的專案經驗。但從知識體系的角度來看,阿里面試對於知識的考核可以分為三個層次:對於基礎知識的考核、對於專案經驗的考核、對於專案深度的考核。
1
基礎知識考核
在這個層次上,主要考核你對 Java 語言本身原理的理解以及各種框架的原理理解。對於 Java 開發崗位上來說,這些知識點包括但不限於:
集合 HashMap 的原理,與 Hashtable、ConcurrentHashMap 的區別?
Java 執行緒池的核心屬性以及處理流程
Java 併發包原理、Synchronized關鍵字、鎖
執行緒的生命週期
JVM類載入機制
JVM記憶體模型
JVM分代以及垃圾回收機制
Spring Bean 容器生命週期
Spring AOP 原理
Dubbo 請求流程以及原理
資料庫 SQL 優化、資料庫索引、索引原理
……
上面只是說了很少的一部分而已,以下還有往期整理的5套面試試題!
第一套:《2018年最全Java面試通關祕籍第一套!》
第二套:《2018年最全Java面試通關祕籍第二套!》
第三套:《2018年最全Java面試通關祕籍第三套!》
第四套:《2018年最全Java面試通關祕籍第四套!》
第五套:《2018年最全Java面試通關祕籍第五套!》
其他地方也可以在後臺回覆「面試題」,即可獲得5份往期經典面試試題哦!
看到這麼多的知識點,我一下子就懵逼了,這麼多得看到什麼時候才看得完啊?但後面我想明白了,其實你不需要全部都懂,但需要了解大部分知識點,並且在這大部分知識點中,還需要有部分是瞭解得非常深入的。如果達到這個水平,基本上都能通過考核。
對於基礎知識的考核多出現在阿里的前兩輪電話面試上。對於這塊,你事前把網上常見的面試題目看一遍,多面試幾次基本上都沒有問題。
2
專案經驗的考核
當你成功通過基礎知識的考核之後,你會進入下一關的考驗:專案的理解程度。
面試官首先會讓你選擇一個你最拿手的專案,畫出架構圖,之後的一切問題都從這個架構圖觸發。當你畫出架構圖之後,你肯定需要解釋清楚每個模組的作用,每個框架的原理以及與其他框架的區別。
例如我就用我做過的一個搜尋專案作為經典專案,與面試官探討。
專案中用到了 Kafka 這個框架,那麼面試官就會問 Kafka 和 RocketMQ 之間的區別是什麼,它們兩個有什麼不同?
專案中還用到了 Canal 這個阿里巴巴開源的框架,那麼面試官自然會問這個東西是幹嘛的,原理是怎樣的?
專案中還用到了 Zookeeper 作為協調者,那麼 Zookeeper 在這個專案中的作用是什麼,扮演了什麼角色?
對於「專案理解程度」的考核會發生在技術面試的三四輪。在這個層次上,你必須要有一個拿得出手的專案,並且對其中的所有框架以及原理都瞭如指掌,否則你會被虐慘。
3
專案深度的考核
通過上一輪對於「專案理解程度」的考核後,基本上你對整個專案都會有一個全面的認識,應用層面上的問題基本上不會難倒你了。但在「專案思考深度」的考核上,就不僅僅只是考核應用層面上的問題了。
還是用我做過的一個搜尋專案作為例子,其中 Canal 這個開源框架暫時是沒有實現叢集這個功能的,那麼面試官就問了:
你如何去改造這個專案,從而實現 Canal 的叢集功能?
這個時候,你會發現你懵逼了,因為你從來沒有去思考過這個問題。你所有的工作內容都是在想如何使用開源框架,而沒有進一步思考這些開源框架好不好,有什麼可以改進的地方。
所以,在這一個層次上考核的是你對開源框架的思考深度,這些框架到底好不好,好在哪裡,不好在哪裡,有什麼可以改進的地方。
對於「專案思考深度」的考核同樣發生在技術面試的三四輪。在這個層次上,你不僅要對專案本身理解足夠深刻,還要跳出專案本身,去思考開源框架本身的問題。
4
總結
當我們回過頭來總結,你會發現這三個層次都是層層遞進的,而且逐步深入。雖然這是面試中總結出來的經驗,但是這卻是一個很好的學習指引。讀者可以自己自查,看看自己現在是處於哪個層次,這樣在工作中也可以不斷地向更高層次邁進。
對於我來說,我缺乏的是對於專案的思考深度,很多時候都是業界覺得好,那我就用了。但是作為一個高階開發,甚至是一個即將成為架構師的高階開發來說,你必須知道為什麼要用這些框架?它有什麼問題,我們能不能做得更好?只有這樣,我們才能有所成長。
歡迎工作一到五年的Java工程師朋友們加入Java架構開發:468947140
點選連結加入群聊【Java-BATJ企業級資深架構】:https://jq.qq.com/?_wv=1027&k=57ep6ST
本群提供免費的學習指導 架構資料 以及免費的解答
不懂得問題都可以在本群提出來 之後還會有職業生涯規劃以及面試指導
相關文章
- 商業智慧的三個層次,你在哪個層次?
- 一次失敗的阿里面試經歷——送給想去阿里面試的人阿里面試
- 反思一次羞愧的阿里面試經歷阿里面試
- 新聞稿釋出效果的三個層次
- 精益化的三個層次,你們做到了第幾層?
- 阿里面試官:HashMap 熟悉吧?好的,那就來聊聊 Redis 字典吧!阿里面試HashMapRedis
- 使用者研究影響力的三個層次
- 一次阿里面試後對函式本質的理解阿里面試函式
- 阿里面試官最喜歡問的21個HashMap面試題阿里HashMap面試題
- 阿里面試題(一)阿里面試題
- [阿里面試系列]面試加分項,從JVM層面瞭解執行緒的啟動和停止阿里面試JVM執行緒
- 最全的阿里面試經驗(一)阿里面試
- n數三層4次冪恆等式恆等式
- n數三層5次冪恆等式恆等式
- 三層n數3次冪恆等式恆等式
- 阿里面試最最俱全的,50道Redis面試題阿里Redis面試題
- 來聊聊 應用層
- 你是網路推廣的哪個層次?
- 阿里面試:dubbo的服務引用過程阿里面試
- C#語法糖系列 —— 第三篇:聊聊閉包的底層玩法C#
- 聊聊池化層和步長為2的卷積層卷積
- 幽默:軟體的五個層次,通俗易懂 -CatMcGeeCode
- 阿里面試Redis常考問題阿里面試Redis
- Python實現一個簡單三層神經網路的搭建並測試Python神經網路
- 這次聊聊Promise物件Promise物件
- 從一次故障聊聊前端 UI 自動化測試前端UI
- 樹的層次遍歷
- 帶你理清Node.js 的Web框架的3個層次Node.jsWeb框架
- 資料鏈路層的三個基本問題
- 有效提升Python程式碼效能的三個層面Python
- 面試最常問的tcp三次握手策略面試TCP
- 發現深層次的bug——業務測試 1、業務測試簡介
- Android 面試題,百度,小米,阿里面試題Android面試題阿里
- WordPress模板層次02:模板層次結構和原理
- 阿里面試官的突擊面試,被問到當場自閉!!!阿里面試
- 從3個層次分析商業智慧的價值在哪裡?
- 【面試題】能聊聊你對CAS的理解以及其底層實現原理可以嗎?面試題
- 檔案的層次性管理