一名十年Java程序員回憶阿裡面試經歷——揭開阿裡面試的「遮羞布」

阿裡面試經歷

去阿裡面試可以說非常非常的偶然和戲劇性,因為本人根本沒投簡歷,以至於阿里hr給我電話的時候我一度認為是詐騙電話。因為深圳這家公司不錯我還想在這裡幹個兩年左右再考慮考慮。

這個時候的本人已經發生了很大的轉變,從剛進騰訊的浮躁、自大、懼怕面試,已經轉變為淡泊、謙虛,並且喜歡上了面試,感覺每次面試就像楊過跟大雕過招一樣,武功都能精進不少。本著去看看技術面內容的心態去了福田東海大廈。

一面

一面沒有技術面直接就是組長面,首先是自我介紹,之後問了下項目內容。我就說了下即時通訊和視頻加工兩個模塊。他讓我畫出模塊的架構圖,這個建議大家準備一下,阿里和百度都有要求應聘者畫模塊圖考察應聘者的開發層次和思路。本人沒什麼準備,不過當時設計評審時的UML還記著,就把模塊圖和類圖畫了下。

Advertisements

面試官又問,有沒有遇到困難;我說有,性能瓶頸、卡頓的問題、瞬時信息量過大導致的UI卡死;他就問如何解決的:我說由實時刷新改為定時刷新。他問還有沒有更好的實現方式,我回答有用任務隊列。

我們又爭論了下任務隊列的設計應該用先進先出還是後進先出。這個時候本人已經完全忘記是來面試的了,只想爭贏。語速也越來越快、聲音也越來越大。他質疑我這個機制在效率調優上沒有意義,因為系統會進行cell緩存;我說在中間的時候系統緩存可以生效,在最底部的時候就失效了,就會卡頓。最後還是我爭贏了,時間就這麼不知不覺中過了一個小時。

問通訊消息騰訊是如何做的,我說不知道我猜測是這麼做的巴拉巴拉。問了下我濾鏡的使用和原理,如何美白,我說修改OpenGL的值就可以了,問如何進行視頻合成,這個很簡單就是把視頻和音頻軌道抽出來再用composition合成就可以了。問了下加水印、也是從文件中把視頻軌道layer抽出再把圖片layer加在這個layer上就可以了。

Advertisements

把開始時間和持續時間、幀率設置好就ok了。又問了下為什麼來面試,本人說沒想過換檔,是你們叫我來面試的。一面官最後問了下,考不考慮杭州,本人非常堅決的說不考慮。他又說其他城市考慮嗎,本人說吉林就考慮。

二面

一面結束讓我去休息之後是二面,二面的面試官很nice。讓我做自我介紹之前竟然先做了自我介紹。他負責的部門是個很核心的部門。

面試的內容跟一面差不多。讓我在白板上畫我設計的系統架構圖之後就是講解。問了下我的職業規劃,我說現階段還是想寫代碼。他問多久,我說2年吧。他有問你對管理崗位怎麼看,我說一個好的管理首先要能幫助組員解決問題,我現在水平還達不到這個境界,想多寫點代碼,代碼量上去後設計能更合理一些,像這個設計當時有幾個優化點沒考慮到,有點遺憾。面試官問我有什麼問題之後我就詢問了下他們部門的情況和企業文化。面試官好像比較滿意,就讓我去hr面,還特彆強調就是跟hr聊聊不算面試。

hr面過程不表,就是問了下杭州房價問題。問我能不能來杭州發展,我說我考慮下,還不知道你們會不會錄用。閑扯了半個小時,就打道回府了。3天後收到阿里的offer通知介紹。給的薪水又一次超過了本人的心理預期,還有本人一直夢寐以求的期權。實在是沒法拒絕。

阿里的面試跟騰訊百度都不同,感覺更注重項目實踐一些。總結來說BAT的技術面都差不多。只要把內功和外功都修鍊好了再配合點實戰經驗基本上都可以應付三大的面試了。

面試的核心流程都是:

技術一面、技術二面(組長面)、總監面、hr面。騰訊會多一個經理面。但是一般總監認為可行的人,9成的應聘者都會通過經理面的,除非發現嚴重的撒謊行為。hr面就是走過場,刷人的機率基本上為零。以前招聘過一個同學,hr想刷掉,理由是沒有大公司經驗,被我們組長一頓叼,說這個人各方面都很適合又踏實,如果你們覺得這個不行你們就要負責招一個你們認為行的,否則我們工作做不下去了,hr就軟了。後來事實證明,這個同事工作完成的相當好,人的能力跟公司大小沒關係。最難的就是二三面,人也基本上是這兩面中刷下去的,大家一定要小心。我個人的經驗來看,總監越嚴肅通過的機率越大,越客氣就越危險。

面試準確講不應該叫面試應該叫面談,就是interview。勞資雙方坐下來談談聊聊,互相了解。我們程序員作為技術工作者不是去求職的,只是去看看你的機會,你可以保留你的職位,我保留我的做事方法。

關於Java行業前景

據不完全統計,截至目前(2017.07)為止,中國Java程序員的數量已經超過了100萬。而且,隨著IT培訓業的持續發展和大量的應屆畢業生進入社會,Java程序員面臨的競爭壓力越來越大。那麼,作為一名Java程序員,怎樣努力才能快速成長為一名高級的程序員或者架構師,或者說一名優秀的高級工程師或架構師應該有怎樣的技術知識體系,這不僅是一個剛剛踏入職場的初級程序員,也是工作三五年之後開始迷茫的老程序員,都必須要面對和想明白的問題。為了幫助大家少走彎路,我總結出一個Java程序員的工作2-5年成長路線圖。

很多問題其實答案很簡單,但是背後的思考和邏輯不簡單,要做到知其然還要知其所以然。如果想學習Java工程化、高性能及分散式、深入淺出。性能調優、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java進階群:626326599,群里有阿里大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給大家。

Advertisements

你可能會喜歡