安卓坎坷求職路:選擇>努力!六次反覆經歷失敗的應屆生,最後一刻躋身阿里如願以償

南方吳彥祖_藍斯發表於2021-06-11

背景

一個廣州非985/211普通本科生,電腦科學與技術專業。以前老是夢想能考一個厲害一點的學府,學習物理專業(因為初中和高中對物理比較有興趣),無奈高考考得不盡人意。來到了計算機專業,才知道有C語言這玩意。

大二的時候跟著工作室開始做專案。前後差不多完成了5個Android方向的專案,主做的有3個。這一年,邊學習Java邊學習Android開發

大二到大三那段時間投了很多家公司,讓我記憶最深刻的就是阿里的求職之路了,一共面試了六次!

有時候選擇真的是非常重要了。

應屆生坎坷的阿里求職路

阿里內推實習招聘(第一次)

由於過年在家那段時間,工作室的師兄幫我們內推了阿里巴巴春招崗位。自己對部分不熟悉就寫了淘寶和UC,後來內推名額滿了,一個研究生師兄幫我內推到yunOS事業部。現在看來,我更推薦學Android的朋友選擇支付寶和淘寶。

阿里一面:

第一次打電話給我的時候我正在等CVTE的第二面,所以和麵試官說等會再面試。第二次打電話給我的時候已經很晚,那時候在地鐵上清不清楚面試官說話,說等會我出地鐵再面試。出地鐵的那一刻好緊張,CVTE的面試瞬間給我拋到九霄之外。具體的面試內容我大致只記得談談負責的專案;為什麼會喜歡做安卓;安卓的系統啟動機制;安卓應用的最佳化還有socket的應用。後來問提問環節問了面試官的工作地點和我面試崗位的工作後,發現是在杭州,請求面試官能不能幫我轉到廣州後,他說可以。

阿里二面:

大概在一面過了一個星期後打過來,主要面了Java基礎;執行緒同步;集合機制;安卓專案中用到的技術;還有一些不太記得了,最後談談規劃後發現這個崗位還是在杭州。所以又請求面試官能不能轉到廣州崗位,他說可以後結束面試。二面過後,官網發現自己的狀態變成拒絕後重新多了一個簡歷評估的狀態。

阿里三面:

大概距二面過了15天,我本來以為阿里已經拒了我了。三面面試官打來的時候是我正要去看校辯論賽開場表演賽。剛出門就接到面試官電話,談了一下Java技術和Android技術後覺得我OK,說了是yunOS事業部的,問我有沒有興趣還有以後的職業規劃後。提問環節問了還有沒有面試,面試官說沒有了。官網狀態瞬間變成3面透過。

阿里四面:

在看比賽過程中,接到總監電話,表明了是yunOS事業部是否想參與實習,表明我透過事業部面試,問我家庭情況,個人性格及其在校活動,職業規劃等,並和我說了入職時間和會有人後續聯絡實習事宜。

結果: 阿里內推透過,選擇阿里巴巴yunOS事業部實習

阿里實習面試(第二次)

因為知道事業部今年實習生基本都沒有轉正機會,身邊很多實習的研究生師兄自己在阿里平臺上聯絡其他事業群。無奈我還天真的以為事業部會安排我們面試其他事業部,然而並沒有〒_〒,讓我感覺到巨坑。後來自己在阿里平臺上搜了做Andoird工作的很多工程師後,有一個主管願意接納我。面試了一些內容後,在後續面試過程中由於崗位需要在北京工作,而且可能需要轉前端,不符合自己的發展意願,所以就明確說了,也很感謝這位大哥給我機會。

阿里(第三次)

實際上從HRG在杭州告知我回來後會有一個終面部門交叉面,結果在騰訊失利的第二天。直接電話說“對不起......”我直接說理解後掛了電話。

在面試匯豐過後,一段時間,差不多到了11月末,面試了阿里健康。得知從集團簡歷池中選了我之後安排面試,談了轉正待遇後安排面試,兩面都影片面試。

一面:

安卓基礎;專案技術;效能最佳化;學習目標;Java基礎及其記憶體回收等

二面:

專案技術;安卓Framework知識點;效能最佳化;開源框架知識;提問環節問了所做業務等

結果: 過了,資薪待遇談了也清楚了。因為實習時間及所在地點時間與自身情況衝突,也不是自己最想要去的部門就拒絕了。

被迫考慮機會

在面試阿里以及騰訊三四次的過程中,雖然有收穫到其他 offer ,但並不是我大學時期心儀的 offer。所以到最後,還想去網易搏一搏。結果這一搏,就一直待到了將近一年。

真的,很多時候未來發生什麼你都不知道!(預言家 =。=)。 我也不會預想到我工作快一年的部門因為公司架構調整而需要被迫考慮重新找工作。

後來是之前的同事朋友幫忙搞得內推,和公司請了假,本來擔心狀態不好,不過一想到自己以後要做的事,立馬就飛了!不要慫,就是幹!

阿里(第四次)社招一面

我還以為要筆試,結果直接進入正題面試,有點措手不及,不過先自我介紹,所以我調整了一下情緒和思路。面試官很帥氣啊,是一個很年輕但是應該有蠻長經驗的面試官。問得問題主要有:

  • 推送sdk底層實現  
  • socket相關實現  
  • mvc mvp mvvm區別與專案使用情況  
  • 網路層相關設計,volley底層實現,快取相關  
  • 自定義view相關  
  • 下載模組涉及,成功率相關  
  • 彈幕與播放器相關  
  • 跨程式通訊手段與注意點,webview相關  
  • EventBus相關  
  • 效能最佳化經驗及手段  
  • 為什麼想要換工作 
  • 興趣愛好,工作室情況,如何協調工作室與辯論隊 
  • 平時學習習慣和安排

上述的點可能有一些遺漏或者記得不太清楚,不過整體面試官給人的感覺真的很好,大廠的環境也贊!除了前面聊技術外,也聊興趣愛好,平時一些習慣等,整體來說氛圍很輕鬆。

阿里(第四次)社招二面

二面是一個臉色紅潤,很和藹的一個面試官負責。想了一下,除了和大學廖老師溝通有這種感覺之外,這位面試官給我一種導師的感覺哈。面試的問題主要有:

  • 網路請求涉及,如何設計快取
  • 效能最佳化手段,場景
  • dp的設計  
  • 熟悉的底層原始碼,廣播底層實現,這一點自己確實還了解不夠,不過自己講了哦從wsm->activity->view的事件傳遞過程  
  • 聊之前阿里的實習
  • 為什麼想要換工作 
  • 職業規劃
  • 短影片行業,Bolo相關及一些競品,因為平時也會留意自己開發的軟體及競拍,行業情況,所以有一些自己的見解
  • 聊興趣愛好
  • 聊王者榮耀產品相關

整個過程面試官給人印象很深,除了互相交流得開外,他的問題也很有深度,不過如果真的答不上就請教下就好。最後面試官問了是否有哪些問題提問諮詢:

  • 從剛才所述的職業規劃,希望面試官給出意見和建議
  • 如果有後續面試,會在什麼時候安排

還是到之前的面試辦公室,10樓的環境給人的感覺很清新,自由。

阿里(第四次)社招 leader 面

面試官很年輕,讓人感覺很有幹勁。其實今天一整天都昏昏沉沉的,人狀態很差。但是和麵試官聊天,能說到的都是內心的一些想法,所以聊起來很舒服,他的一些建議也很值得我思考反省。

  • 自我介紹
  • 崗位要求
  • 實習內容
  • 工作負責內容
  • 換工作原因
  • 優缺點
  • 學校經驗
  • 家庭情況
  • 個人現狀

面試的問題可能記不太清楚,但是有兩個點我很深刻。 第一個是自己現階段要穩下心沉得住氣。幾位面試官都和我說到了這一點。確實是這樣,我很看重職業生涯前幾年的學習積累與心態沉澱,也明白了當前自己最需要做的事是什麼。 沉得住氣,我自己的理解是:

  • 心態不要浮躁,相信自己的規劃和按照自己的規劃走
  • 學習新知識,要學會從宏觀上懂得一個知識牽扯出的知識網,更要耐得住心去一句一句程式碼debug每個細節
  • 清楚地看清自己的技術現狀,虛心地取長補短

那天結束之後,用新的心態去學習retrofit原始碼,記得大學的時候看imageloader,volley的時候,會沒有太多的耐心去深挖,雖然知道流程和某些細節,但是對底層原理其實沒有足夠的掌握。很奇怪,今天越挖,發現自己對Android越無知,我第一次感到自己無知時,確實開心的。當我向我之前同事說某個原始碼細節的邏輯和我們專案所用到的邏輯有偏差時,他去調式之後發現“是專案用錯了!”。感覺心裡還是美滋滋的。

第二個是自己表述不夠精簡,有時會用辯論的方式來解釋一大堆東西,會讓聽眾感覺很羅嗦。這也是我的問題,改!應該嘗試先下結論後再根據情況做分析。

面試完走出辦公室,還看到面試官拿著筆記本,打了個招呼,感覺心暖,感謝這次機會。

阿里(第四次)社招HR 面

hr面應該是我最緊張的一面。可能是最後一面,也很看重這次的面試,擔心自己說得不好。過程中自己也因為喉嚨的原因喝了多次水,思維中斷了好多。不過,面試官是一位比較有親和力的姐姐,無論的問問題的方式還是追問一些細節,都讓人挺舒服的,不會感受到太大的壓力。

  • 入職半年多,為什麼選擇換工作
  • 現在事業部狀況
  • 負責的專案工作 
  • 最困難的事是什麼 
  • 職業規劃
  • 堅持最久的事
  • 最有成就感的事
  • 薪水相關

總的來說,今天面試的表現,自己給自己的評價是一般。最後溝通的時候因為薪資問題最後黃了。

不甘落敗嘗試螞蟻金服

螞蟻金服的面試機會是那時候在看機會的時候,在脈脈認識的一位螞蟻金服的面試官那裡爭取的。在溝透過後,對其部門的意願挺大的,所以就嘗試下把簡歷給了面試官。過了幾天,沒想到收到了其部門HR的面試邀約。剛好那時候公司部門架構調整到了尾部,我們可能被合併到一個新的部門中開展新的工作。可能大學實習給我留下非常好的印象,很喜歡阿里的技術部門,加上 之前UC 的面試沒有如意,所以就毅然進行面試。

阿里(第五次)社招一面

  • 介紹自己
  • 介紹簡歷上的專案
  • 高效能列表實現,重點圍繞 recyclerview 展開,如何複用,如何快取
  • 效能難點如何攻克
  • 效能最佳化方面專案中做了哪些工作
  • 熱修復原理,類冷啟動修復原理,類熱修復原理,classLoader雙親機制
  • 換膚原理
  • 設計一個圖片框架,我考慮的是如何載入,如何編解碼,如何快取,api的易用性,大部分參考 glide 思路
  • 在很多數中找出前n個最小
  • 自己的方向是什麼? 想做業務,還是想做專點的技術,如何理解專案架構。
  • 反提問:“自己技術性回答得怎樣,有哪些改進。”

面試官給的建議是:技術還不錯,但是介紹部門業務和自己的切合度時需要  “表述要簡潔,邏輯要清晰”。

阿里(第六次)社招 leader 面

  • 介紹自己情況,學android,實習經驗
  • 介紹網易經驗,哪個專案最大,專案規模,專案人員分佈
  • 擅長哪一方面,這個問題非常致命,一定要選你足夠理解的,我那時候講的是效能最佳化,但是感覺講的不好
  • android 虛擬機器區別,編譯區別,dex區別
  • 熱修復流程,原理是什麼,業界有哪些方案,對比如何
  • 打包流程是怎樣的
  • 應用啟動相關流程,從孵化程式到MainActivity#onResume繪製整個流程
  • 新版本android特性
  • 手勢滑動事件分發
  • view繪製流程
  • gradle執行流程
  • apk安裝底層細節
  • 最後留了一道演算法題,我做了兩天之後發給面試官

阿里(第六次)社招 交叉面

  • 介紹自己
  • 專案經驗,團隊情況
  • 對網路是否熟悉,一次http請求,https整體實現
  • 以後想做什麼,如何規劃自己技術
  • 開源貢獻,部落格記錄相關的開放性問題
  • 反問:後面是否還有技術面試,得到的答案是基本不會有了,等 HR 面試就好

阿里(第六次)社招 HR面

  • 介紹自己
  • 專案經驗,團隊情況,學習情況,薪資待遇
  • 未來技術規劃,是否考慮杭州,未來家庭規劃
  • 反問:大概多久會有答覆,得到的答案是當週週五前。

“選擇” > "努力"

當週週四收到了人生中第一個阿里的正式 offer,還是我最心儀的螞蟻金服的技術部門的 offer。技術方向和薪資待遇都大大超過我的預期。HR 讓我考慮一週之後給答覆。

過了一週,我決定放棄這個 offer,並開始自己新的技術規劃,在新的部門好好幹。一干,就幹到了現在。

如果到現在問我,“當時放棄螞蟻金服的 offer 後悔嗎?”

我會說 “說真的有點遺憾,但我無法比較孰好孰壞,我現在就挺好的。”

如果你剛開始出來面試,那麼就要 用心去準備,去模擬,把每個機會都抓住。

如果你已經面試了幾家但是都還不理想,哪怕是疫情背景下,你不要將就。我一直都覺得做技術的不要將就,可能是我的性格。

那麼繼續嘗試,把你每一次的面試的經歷都記錄下來,面試題是什麼,你是怎麼回答的,甚至你可以在面試的時候把自己的回答錄音下來,回去好好聽好好修正。一次會比一次好。

如果你有幾個offer在選擇上出現了分歧,建議要開始規劃從職業規劃來考慮offer。如果你打算未來深耕音影片,那麼短影片技術offer則大於非短影片技術offer。如果你打算考慮往技術經理/技術團隊管理,那麼能帶團隊的offer > 不能帶團隊的offer,參與技術選型,技術架構搭建的offer > 負責某一塊業務的開發 offer 等等。

這幾年下來,我發現 “選擇” 和 “努力” 在不同時期有不同的側重。

  • 畢業時期,“選擇” > "努力",好的平臺能帶給你更多的機會,更好的薪資待遇,讓你的視野更廣;
  • 畢業前5年,“努力” > “選擇",當你有一個好的平臺之後,你要懂得利用平臺資源去學習,比如各種內網,公司技術福利等,並藉著平臺專案的實踐機會去野蠻生長;
  • 後幾年,“選擇” > "努力",這是因為前幾年為了積累的專業優勢或更高的視野讓你看清你以後要幹什麼,如果說選擇的是平臺,那麼這個選擇就是未來要嘗試突破的方向。

當然,這些想法受限於我的經歷,難免難以苟同。

面試前充分準備

有些晦澀的點,或許它只活在面試當中,實際工作當中你壓根不會用到它,但是你要知道它是什麼東西。

面試:如果不準備充分的面試,完全是浪費時間,更是對自己的不負責!

很多人在剛接觸這個行業的時候或者是在遇到瓶頸期的時候,總會遇到一些問題,比如學了一段時間感覺沒有方向感,不知道該從那裡入手去學習,對此我針對Android程式設計師,我這邊給大家整理了一套 學習寶典

  • Android學習路線圖

首先,對於沒有學習方向,知識不體系的人,我把我工作幾年整理的學習路線分享給大家,做一個借鑑作用,還不知道怎麼學習的人可以直接照著我這個學習路線一個個的去學習,知識不體系的人可以參考下我整理路線的方式,總之希望能夠幫到你們!

  • 模組化學習資源

接下來是每個模組我整理出來的文件學習資料,幫助大家更細緻化的學習。

《Android彙總複習資料—Java》

《Android彙總複習資料—Android》

《Android彙總複習資料—Android擴充套件》

《Android彙總複習資料—Kotlin》

《Android彙總複習資料—Flutter》

《Android彙總複習資料—演算法》

除了上面的學習路線,還可以額外的配合以下方式學習,效果翻倍~

①看影片進行系統學習

前幾年的Crud經歷,讓我明白自己真的算是菜雞中的戰鬥機,也正因為Crud,導致自己技術比較零散,也不夠深入不夠系統,所以重新進行學習是很有必要的。我差的是系統知識,差的結構框架和思路,所以透過影片來學習,效果更好,也更全面。關於影片學習,個人可以推薦去B站進行學習,B站上有很多學習影片,唯一的缺點就是免費的容易過時。

另外,我自己也珍藏了好幾套影片,有需要的我也可以分享給你。

②讀原始碼,看實戰筆記,學習大神思路

“程式語言是程式設計師的表達的方式,而架構是程式設計師對世界的認知”。所以,程式設計師要想快速認知並學習架構,讀原始碼是必不可少的。閱讀原始碼,是解決問題 + 理解事物,更重要的:看到原始碼背後的想法;程式設計師說:讀萬行原始碼,行萬種實踐。

主要內含微信 MMKV 原始碼、AsyncTask 原始碼、Volley 原始碼、Retrofit原始碼、OkHttp 原始碼等等。

③面試前夕,刷題衝刺

面試的前一週時間內,就可以開始刷題衝刺了。請記住,刷題的時候,技術的優先,演算法的看些基本的,比如排序等即可,而智力題,除非是校招,否則一般不怎麼會問。

關於面試刷題,我個人也準備了一套系統的面試題,幫助你舉一反三:

④2020大廠面試高頻知識點

  • 圖片
  • 網路和安全機制
  • 資料庫
  • 外掛化、模組化、元件化、熱修復、增量更新、Gradle
  • 架構設計和設計模式
  • 效能最佳化
  • Android Framework
  • Android優秀三方庫原始碼

以上這些內容均免費分享給大家,需要完整版的朋友, 。或者點選 【 】 檢視獲取方式。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983917/viewspace-2776568/,如需轉載,請註明出處,否則將追究法律責任。

相關文章