【Android】複習兩個月面試美團,Offer舔到手了嗎?(內附進大廠訣竅)

塞爾維亞大叔發表於2020-12-22

前言

這是我17年的經歷,覺得還挺勵志的,希望能幫助到一些正在迷茫的同學。

是去美團送外賣了?有配電瓶車嗎?

答:親,有配的哦,開起來賊順滑。啊呸,說啥了,我們進的是正兒八經的技術部門


鹹魚的現狀

時光回到2017年2月初,當時剛過完年回到上海,此時的我已經畢業一年半了,和大多數鹹魚一樣,上班就是CRUD,下班就是看劇、玩遊戲(英雄聯盟、手遊都玩)。

當時我的工資一個月到手就5k出頭,但是因為在甲方駐場開發,加上差補餐補有接近8k,還包住。每到週末幾個小夥伴一起打牌、一起搞情、一起洗腳,日子過得很是滋潤,當時其實挺滿足的。


鹹魚的自我救贖

讓我萌生想跳槽的根本原因已經忘了,想了很久沒想起來,可能是受其他小夥伴的影響吧,有了這種想法後就開始準備起來了。

剛開始只是每天下班後躺在床上看別人的部落格學習一些東西,一般是22:30看一小時左右,當時就看些比較基礎的知識,就是類似於:Fragment相關、Activity相關、Service相關等等這類比較基礎的知識。

想跳槽的想法有了之後便一發不可收拾,如果說剛開始每天晚上看1小時只是在試探,那麼半個月之後我便全力投入面試準備了。

當時工作上的事情不是很多,每天花個兩三個小時基本就能應付了,所以其餘的上班時間我都拿來準備面試了。

準備面試的方式主要通過看別人的部落格、看原始碼,內容主要是Android核心知識和 Android面試題。

從二月初準備到了三月底,這期間我主要乾了以下幾件事。


1.看面試題

這期間我看了很多套 Android 面試題:

很重要的一點,看題要帶著理解、帶著思考去看,將題目與實際開發的內容結合去理解,這樣很容易就記下來了,死記硬背效果不好。

還有看面試題不能只看一次,需要反覆看,就像你高中準備考試那樣。看完這些面試題後,我能很自信的在我簡歷寫上了:

  • 具有紮實的Android基礎, 熟練掌握Android下的四大元件以及它們之間的資料傳遞、五種常用佈局並能靈活的運用。
  • 熟練掌握Android常用的系統控制元件,具備自定義控制元件的開發能力,能夠利用系統控制元件及自定義控制元件完成常見UI介面的繪製,手機螢幕的適配。

對於flutter這聽著就高大上的東西,當時我能做的就是帶著理解把下面這幾道題目背的滾瓜爛熟,在此之前我壓根就不知道flutter。

  • 在flutter裡streams是什麼?有幾種streams?有什麼場景用到它?
  • 簡單說一下在flutter裡async和await?
  • future 和steam有什麼不一樣?
  • 在什麼場景下使用profile mode?
  • 列舉在flutter的狀態管理方案?

就這5道題目,不能再多了。在當時的面試中無數次被問到,我都能很自信的答出來,幫我在面試官心中加了無數的分,估計面試官還以為我對flutter有所研究,整個人的逼格頓時就上去了。

對於背面試題,我只能說兩個字。


2.原始碼初探

在看完上面的面試題後,已經能應付很多問題了,但是好像還缺了點什麼?沒錯,就是能讓你裝逼的原始碼。當時我選擇了常用集合的原始碼,當時我這菜比也只能選這個了:Hook、Transform、Binder、Handler 等等,基本都是邊看原始碼、邊對著別人的博文跟著一行行的學。

看完這些原始碼後,我把它們全寫到簡歷裡去了,因為這是當時我覺得自己為數不多的亮點了。

  • 深入學習過Hook、Transform、Binder、Handler 等常用集合的原始碼。

自己深挖過(例如看過原始碼)的知識點被問到時,一定要抓住機會表現,讓面試官感受到自己的深度,這些都是加分的點。


3.專案準備

除了技術知識外,專案也是必不可少的一環,但是不需要準備很多,只需要挑2-3個你最牛逼的需求點準備就行了。我當時找了很久,就找了這麼幾個很 low 的點:

  • 使用TabHost控制元件,實現功能介面切換
  • 繼承SQLiteOpenHelper類,實現功能資料儲存
  • 使用Cursor查詢資料資訊呈現介面
  • 自定義Aaapter,呈現資訊及提交資料
  • 重寫onResume方法更新介面資料

第2和第3點其實就是來湊數的,打擾了。

還記得當時做這個需求的時候還挺痛苦的,做了好久。但是真正到了需要用的時候。

這也是我很想傳達的一點,專案中遇到難題時千萬不要總想著退縮,這些解決難題的過程、解決的難題,都會讓你快速成長和受用終身

這些內容就是我開始面試前的全部準備了,從2月初到3月底,差不多準備了1個半月,當時的簡歷在現在看來,不是一點點 low啊,但是當時已經是我的極限了。


鹹魚修煉出山

準備好了之後就是瘋狂投遞簡歷了,各種知名的招聘網站都要去投,也沒有什麼挑選的說法(唯一可能就是儘量選網際網路公司,還有就是像阿里騰訊這種大公司,我們是不敢投的),只要是招2年Android的投就完事了。只要能給個面試機會,我們就得謝天謝地了。

很多很多的投遞都石沉大海,但慶幸的是在海投之下,還是拿到了不少面試機會,當然大多都是聽都沒聽過的公司。

偶爾收到一些稍微有點名氣的公司面試邀請時,心裡真的樂開了花,可以對著這封郵件反覆看好幾遍。

面試之前給自己定了個目標——13k,每次hr問我時我也就講13k-15k,高了不敢喊,心虛,覺得自己就是個垃圾,根本不值這個錢…

從3月底面試到了4月底,總共面了20來個公司。基本是每天2個面試,上午下午各一個。早上室友還沒起床,我就已經出門了。

早餐都是在三林東地鐵站附近的巴比饅頭解決的;午餐就在面試公司的附近找家麥當勞解決。那段時間每天在路上奔波的時間至少四五個小時,但是完全不覺得累,整個人對未來充滿了希望。

也多虧了這一個月的面試時光,我走過了上海的很多地方:漕河涇、張江高科、唐鎮、人民廣場、陸家嘴、中山公園,之前在上海呆了2年去過的地方還沒我面試期間去的多。


差點FirstBlood

第一天下午面了鏈家網,當時面了兩輪技術面,每輪兩個人,除了一些技術問題外,問了很多場景題,比如:使用者來鏈家網看房,怎麼推薦合適的房子?

這些都是我沒準備過的問題,當時只能隨機應變了。還好我靠著自己的聰明才智(一頓瞎扯)混了過去。現場兩輪技術面應該是過了(至少也應該是個備胎),當時通知我總監不在,晚上進行電話面。

我還記得當時出來時心裡賊高興,總監面不就是吹吹牛逼嗎,感覺就要起飛了。

總監面一開始也如我所想,就問些:“平時工作之外都幹些啥啊?”,“有在學習什麼技術嗎?”這類的,結果我自己作死提了個在學音視訊,當時我確實在看這個,但是還是一知半解,結果被問了幾個問題就涼了。當時覺得自己是個傻吊,想喂自己吃屎,可能錯過了自己最好的機會。

如果當時鏈家發offer,只要不是侮辱性薪水,我是必去的。其實就算是侮辱性薪水,只要不是太過分,我估計還是會舔著去的…


幾次尷尬的經歷

面試有時候就跟碰運氣一樣,運氣好點,問的全是會的,運氣差點,兩句話就被轟出來。

有一次和三個同事去陸家嘴參加招聘會(當時還是蹭的他們的面試邀請),來回兩三個小時的車程,面試2分鐘就結束了,真是充電5小時,通話2分鐘。當時我們還互相調侃說,見識了繁華的陸家嘴(下圖就是當時拍攝的),也不枉此行了。從此以後,我再也沒參加過招聘會。別問,問就是記仇。

還有一次去面一家地產公司,當時面試官正在小房間裡面另一個人,看到我到了就把我也叫進去了,我當時心想:還有這種操作。然後面試官就問了我兩個問題:

(1)RecyclerView和ListView的區別。

(2)前臺切換到後臺,然後再回到前臺,Activity生命週期回撥方法。彈出Dialog,生命值週期回撥方法?

當時我沒答上來,然後就被轟出來了。


冥冥中註定

運氣總是守恆的,有一些運氣不好被秒殺的經歷,必然也會有一些運氣好拿到 offer 的。現在回想起來,當時能進美團真是冥冥中註定的,有無數次我都已經差點入職其他公司了,但是最終因為各種陰差陽錯,最終都擦身而過。

穀米實業:1輪筆試,2輪技術面試。技術負責人比較看重邏輯思維能力,讓手寫程式碼,還問一些智力題。給的稅後11k,由於五險一金的問題沒去。

飛牛網:背靠大潤發,當時覺得很高大上,給的稅前13k,我當時都在看房子了,最後由於一些原因沒去成,具體啥原因我自己也忘了…年紀大了,記憶力差的很。

1藥網:創始人是1號店的創始人,當時也很想去的一家,給的稅前13k,當時已經接了offer準備去了,結果通知面的部門沒有hc了,臨時要我去加面另一個部門。

當時加面了兩輪,第一輪是部門技術老大面,可能是由於之前已經通過了其他部門的面試,有些問題沒答出來,老大也很耐心的引導我,看得出來還是比較喜歡我的。

第二輪的直屬上級看起來比較忙,就隨意的問了一題。沒錯,就是那道我還專門水了一篇文章的題目:死鎖的四個必要條件?

顯而易見的,這道題目對於當時的我來說太難了,而且也沒法瞎掰,我裝模作樣的思考了一會後,尷尬的說了不會,老大還安慰我說沒關係。儘管加面發揮的一般,但是最終還是給我發了offer(我一度懷疑是不是那個老大對我有什麼企圖)。不過由於自己覺得在直屬上級面時發揮的太差了,最終決定不去。

現在看來自己當時不僅菜,還作死。


幸運女神的眷顧

拒了1藥網後,選擇已經不多了,就剩2個未面試的:平安醫療和美團,並且上海自己能投的基本都投完了,當時決定如果最後這2個沒滿意的就到深圳去(都跟父母和深圳的同學打好招呼了)。我不是一個相信運氣的人,但是這次幸運女神確實眷顧了我,讓我抓住了最後一根稻草。

進美團並不是一帆風順的,拿到面試資格都費了好大勁,當時自己的簡歷太普通了,大概率入不了美團hr的法眼,但是我還是厚著臉皮投了很多部門,有些部門還投了很多次。終於,在我的死纏爛打下,有一位善良的hr給了我一次機會,這是我進美團的第一位貴人。

可能有同學有疑問,為什麼要重複投一家公司,甚至是同一個部門?

答:每個公司都有很多部門,每個部門的hc數和招人標準都不一樣,即便是同個部門,如果hr不同,標準肯定也不一樣。重複投相當於是在碰運氣,努力讓更多的hr看到我們,努力讓hr在不同的日子裡看到我們,興許hr今天心情好就給我們個面試機會了。

3月底開始面試的,到面試美團的時候已經4月底了,這面試的時間裡,我們不能荒廢了學習,還是要持續不斷的複習和學習。當時我就在這1個月的時間裡學了:OkHttp、效能優化、Jetpack高階教程,而且在面試美團就用上了…,你敢信。

美團1面的小哥是我的第二個貴人,這個老哥賊實在,就對著我簡歷寫的專業技能一個個的問,真的把我寫的每一個點都問了…

我們這麼老實的人,寫在簡歷上的都是比較有把握的,因此這個小哥的問題我基本全答上了。不僅過了1面,而且可以確認小哥給我的評價很高(因為後面入職發現我比其他同學的定級高一級)。

美團2面就是主要問專案了,我又把我那蹩腳的專案拿出來講了一遍,面試官問的很細,把整個專案從頭到尾細聊了一遍,如果沒準備好可能會扛不住,最後還給出了一些他的建議(其實就是裝一波逼)。

還有就是簡單的問了幾個技術問題。Hr 面就比較簡單了,一般是介紹當前的業務,問我對業務是否感興趣啊,平時有沒有在學習等等。對於這些問題,舔就完事了,把握好舔的尺度,不要舔的過於浮誇一般都莫得問題。

不過也會有一些送命題,例如:能接受的底線薪資,如果低於該薪資會放棄本公司的機會。

我當時是這麼回答的:“底線薪資:無,由於對貴公司的前景比較看好及相信貴公司會給出一個合理的薪資,本人將考慮貴公司給出的任何薪資”。現在回頭來看這個回答,舔的還算湊合,有一些細節在裡面

就這樣,我不可思議的拿到了美團的offer,薪水也超過了我的預期。


進大廠的訣竅

經過這幾年的摸爬滾打,我發現進大廠確實有一些訣竅,對於和我一樣背景一般的同學,只要你抓住了訣竅,進大廠不是夢。

1)一定要提前準備,至少準備個一個月,網上的面試題多看看,對於那些高頻題目,帶著理解去學習,實在不能理解的就背下來,大家高考的時候不都是背過來的。

2)大廠通常有很多部門,每個部門的hc數和招人標準都不一樣,即便是同個部門,如果hr不同,標準肯定也不一樣,重複投簡歷可以增大我們拿到面試機會的概率。同理,重複面試不同的部門,也可以增大我們進大廠的概率。

3)大廠經常會佈局新業務,新業務需要快速啟動入場,hc通常會有很多,因此招人的標準會稍微降低,這個時候是個絕佳的機會。我當時進的就是個新的業務部門。


寫在最後

可能有人會覺得我進入美團太幸運了,是小概率事件,不值得參考。

答:進入美團確實有運氣成分,我自己也是這麼覺得的。但是在大廠混了幾年後,我發現這真不是小概率事件,很多人都是這麼過來的,好多同學都是面了N次才進的大廠。

有時候,選擇比努力更加重要,機遇比奮鬥更加重要。但是,機會只留給有準備的人。我們只有時刻準備著,才能在機會到來的時候,去抓住它。

我很幸運的是,當我準備好的時候,機會來了。從此以後,我變成了一個相信運氣的人。

我相信,越努力,越幸運

最後,在這裡我也分享一份乾貨,由大佬收錄整理的Android學習PDF+架構視訊+原始碼筆記,還有高階架構技術進階腦圖、Android開發面試專題資料,高階進階架構資料幫助大家學習提升進階,也節省大家在網上搜尋資料的時間來學習,也可以分享給身邊好友一起學習。

如果你需要,可以【私信】我獲取,也可以新增粉絲群:【1087084956】獲取。

相關文章