面試完 BAT等數十家公司,我想談談關於 Android 面試那些事

想念你的Android發表於2019-01-31

一. 本文目的

筆者將在本文中就Android開發工程師這一崗位,結合自己最近跳槽的經歷,談一談自己對於面試的一些看法,希望能幫助到正在跳槽中的你們,也給自己的金三跳槽之旅劃個圓滿的分號。

注:本文適合工作三年以內的職場菜鳥觀看,尤其針對想從小公司到大公司(更準確的說,是從普通公司到優質公司)的情況,大神或骨灰玩家可以關掉了。

二. 背景介紹

2.1 個人經歷

拋開背景談面試和offer是容易誤導觀眾的,所以首先大概說說自己的情況供大家參考,某業內知名211本碩(不提母校名字,不給母校丟臉),計算機相關專業,畢業後在北京某央企工作兩年(不要質疑我的選擇,我不後悔),一直從事Android開發的工作,工作經驗兩年,開發經驗三年,不是大牛,且一度對移動端開發產生質疑,後來重拾信心。

本人大概從過年前一個月也就是17年底開始抽空準備面試,年後3月1日開始面試,到現在剛好一個月,前後總共面了有十家左右的樣子,有BATTMD中的,也有老牌二三線網際網路,也有其他小規模ABCD輪創業公司,最後拿到offer的有作業盒子、知乎、阿里、網易,最終選擇了網易。

2.2 談談Android

然後談談Android目前的一個市場行情吧,因為整個移動網際網路時代進入了下半場,很多APP都已經享受不到隨著移動裝置普及率越來越高所帶來的紅利了,所以從0開始的團隊和APP數量大幅減少(我指的是中型以上公司裡),大部分都進入到了一個穩定迭代的狀態,所以較為成熟的APP團隊少有人員擴張的需求,基本上放出來的崗位都是人員流動帶來的空位。因此這對於工作年限很短的我們確實不是什麼利好。可以說一般大廠招聘的都是高階的title,不說獨當一面吧,至少是希望你來了就能上手幹活的,不需要太大的培養成本的。當然他們對於高階的定義基本上就是在大廠兩到三年左右的,而對於非高階的Android開發工程師,其實他們從學校裡招就足夠了。

其實細想,這難道不是一個合理的招聘邏輯嘛?說實話我還是很看好Android的現在和未來的,我也會經常自嘲Android程式猿沒人要了,但實際上很多大公司想招一個合適的人真的挺難的,這個市場上人多,但機會的總量也多,而與此同時真正的人才比例還是很低的,所以這不就是機會嘛?或許只要你比別人努力一點點,你就能得到別人得不到的,與其他職業相比,網際網路圈子還是非常開放和公平的。當然你要說Android開發工程師有沒有它的瓶頸,當然有,但至少貌似我們現在大部分人的水平還不夠資格去談論。大家都是搬磚的,搬哪種磚能掙錢是市場決定的,沒有誰比誰更優越,網際網路發展之快超乎你我想象。而其實當我們真正成為了一名資深的Android開發工程師或者任何其他工程師的時候,我們的視野會更加開闊,我們的技能樹不僅紮根很深,而且已經枝繁葉茂,那時候現在糾結的問題或許都不是問題了。

三. 正文

我可能不會指名道姓地記錄每家公司的整個面試過程和麵試問題了,因為首先市面上有挺多同型別的面經了,大概翻翻即可;其次那並不能成為你去相應公司面試的一個功課,換句話說就是別人的成功不可複製,因為同一公司尤其是大公司的不同部門的面試風格和麵試難度是不一樣的;再細化到面試官,不同面試官,不同時間不同心情對不同面試者出的面試題也很可能是不一樣的;退一步回來講,其實面多了你會發現,技術面試相對而言還是比較死板的,對於3年以內的面試者,經常被問到的問題其實也就那些,後面我會提到。

所以接下來我將結合我的面試經驗,概括地談一談整個面試前後過程中需要注意的一些點。

3.1 面試前

毋庸置疑,求職者在面試之前必須做好充足的準備,我認為有以下幾點是重中之重:

3.1.1 完善簡歷,以及對簡歷內容做充分準備

可以說簡歷內容不在於多而在於精,儘量讓每個字都有資訊量,而且千萬要中肯,比如說對於三年以內工作經驗的,還是不要用「精通」這兩個字了,會讓面試官覺得你很浮誇。

坦率地講,好的簡歷不僅是你得到面試機會的前提,更是後面拿下這場面試的基礎。在面試中有兩種最常見的形式,一是拋開簡歷問問題,二是盯著簡歷問問題。如果是第二種情況,那一份好的簡歷可以引導面試官去問你簡歷上的東西,如果你每一條都能講的頭頭是道,無疑對於面試是非常加分的,而那些寫在簡歷上你卻說不出個所以然或者說忘記了的,還是最好不要寫了。在寫簡歷的時候就應該一邊寫一邊想我這樣寫那面試官肯定會問XX的,所以這就需要你對於簡歷中體現的專案的重點難點或知識點和閃光點進行一定的準備,最好能回過頭來看看當時寫的程式碼,至少也要能自圓其說。

3.1.2 系統地複習基礎知識

坦白地說,即使是大廠,大部分人平時也都糾結於業務程式碼中,對於基礎知識難免會有生疏,因此在面試前系統地進行復習還是很有必要的,尤其對於根基不牢或者說背景一般的同學,你要是基礎再不紮實,就很難在跳槽中更進一步了。

對於Android程式設計師來講,所謂的基礎知識,最直接的就是Java和Android,然後就是演算法、資料結構、網路、設計模式。說到這裡說一些高頻考點吧,Java:多執行緒知識(鎖、執行緒池)、記憶體模型、HashMap等;Android:執行緒間通訊、多程式、View繪製、觸控事件傳遞等;演算法:連結串列翻轉、快速排序、二分查詢、棧相關、int翻轉、陣列合並、LRUCache等,其他:MVP、單例、HTTPS等等。其實都是些爛大街的問題,但你還真別覺得你都會,有時候很基礎的東西是可以問的非常深或者場景化的,這種時候難度就上來了,如果你能把基礎的東西理的特別清楚,那無疑是加分項。

3.1.3 投簡歷

其實投簡歷也有很多要注意的,比如說如果你不夠自信,或者面試經驗不足,或者對市場不夠了解,還是先降低難度從小廠面起吧,千萬別上來就面大廠,很容易失敗的,等慢慢找到感覺再去面你特別渴望的公司。

還有就是珍惜每一次機會,尤其是你要面一家比較嚮往的公司的時候,一定要打探清楚且準備好再去面試。舉個栗子,你在投遞崗位或者讓別人幫你內推的時候,一定要儘可能瞭解你所投遞的崗位的JD或需求和你是否基本匹配,千萬別因為面了一場註定會失敗的面試而導致失去了短期內再去這家公司其他更匹配的部門或崗位面試的機會。因為有的公司面試失敗了是有凍結期的,說多了都是淚,為此錯過了一個好的機會。

3.1.4 面試官怎麼想

其實在面試之前,不僅求職者要做準備,面試官可能也會做準備,體現在兩個方面,一個就是他想招一個什麼水平的人,放在大公司,一般可以直接量化:p6、T5、2-3;另一個就是他估計你是個什麼水平的人,稍微靠譜點的公司,面試官在面試你之前至少會看下你的簡歷,有的比較負責的會直接根據你的簡歷來提前準備好問題。

不要小看後者,同樣給予了面試的機會,其實面試官對你是有一個預判的,一個9分的期望值,面試中的問題你答的OK甚至有亮點,那面試其實就是一個面試官印證自己想法的過程,那就是「嗯,和我想的一樣,這個小夥子果然不錯」,而你拿下面試也是鬆鬆的了;而一個6分的期望值,面試中你答得的普普通通,沒有答出花兒來,那其實也是面試官在印證自己的想法,那就是「嗯,我就知道,果然水平一般般,沒能超出我的預期」,那這種的面試往往會以失敗告終。

那接下來就來談談面試吧。

3.2 面試中

面試其實說白了就是一場show,面試者需要在短短的幾十分鐘時間內盡力去「賣弄」自己,為自己求得一個好價錢。那麼同樣的水平,一場成功的show會讓面試官覺得你是神,相反一場失敗地show之後,面試官會覺得你一無是處。也就是說,其實面試是充滿了不確定性的。

說說常見的面試套路吧,有以下這幾種:

3.2.1 簡歷型

常見於一面或者二面,面試官會對著你的簡歷一條條來問,說實話某種程度來說這是面試官認可你的專案經歷的一種體現,因為你的簡歷好像讓他產生興趣了。正如前面所說,只要你簡歷不給自己挖坑或者不是看起來槽點滿滿,並且對於寫在簡歷上的東西都能自圓其說,那麼就問題不大。

3.2.2 全覆蓋型

常見於一面或二面,面試官會拋開你的簡歷,一個知識點接一個知識點的和你聊,從Java到Android,從網路到演算法,中間聊到興起還會讓你寫出來,來證明你是不是真的懂,還是隻是嘴上談兵。這種一般主要考察你的知識廣度,當然也可能穿插著往深了問來考察深度。這個沒什麼好說的了,基本功紮實並且說起什麼來都知道點就一定沒問題。

3.2.3 場景化型

常見於二面,面試官會向你描述一種場景或者一個問題,可能會給一些約束,讓你去實現或者解決。這種其實是比較有難度的,尤其對於某些知識點的掌握只是停留在部落格上面的同學。這種面試會充分考察你對某個知識點或技能的掌握深度以及你解決實際問題的能力。說實話應對這種面試,最好的辦法就是給出你的答案,如果實在沒有完整的思路,起碼要做到多和麵試官溝通,把能想到的東西儘可能多的講出來,有時候面試官也不會步步緊逼,只要聽到一個大概的思路就夠了。

其實前面說的三種面試場景都屬於你認真準備就能過的,後面的兩種就屬於逆風局了。

3.2.4 呵呵型

面試官會問你一些問題,這些問題可能比較大眾也可能比較偏,然後面試官的態度可能會比較好,你就放鬆了警惕,說的比較簡單,三言兩語,甚至對於自己瞭解的比較少的就直接說了不熟,面試官也不會往深了問,只會發出肯定的「嗯嗯」聲。反正就我經驗來看,這種面試面試官對於應聘人員的要求可能比較高,因此在面試前或者上半場面試官就基本給了你一個6分的分數,本身就對你不是很感興趣了,在後面的面試中也只是來進一步印證他對你的評判或者例行公事走完該走的環節,最後把你pass掉。說實話這是一個最為被動的面試場景,面試官本身就對你有一些偏見了,可能因為你的背景一般,可能有某個他認為必須掌握的知識點你不知道,也可能他想招某個專長的但你不是,然後你也沒辦法把他問的一些普通問題說出花兒來,因此多半結果會呵呵了。我認真想了下,這種面試本身勝算確實小,那想要突破困境,你要變得更主動一些,talk more,把你真正的閃光點show出來,挽回他,當然,很難。

3.2.5 diss型

顧名思義,你在回答了幾個不知道不清楚或不熟悉之後,面試官開啟了瘋狂diss模式,具體體現在說你表達有問題,或者否定你前半生。這種的吧其實一般不會是什麼壓力面,就是面試官不爽,可能覺得你浪費他時間了或者他生活不和諧心情不好?那這種時候面試結果多半已經出來了,求職者能做的就是儘量保持你自己的風度和態度,完成這場面試,然後過後從自己身上找問題。

綜上,其實面試的狀況有很多,但我覺得一個最基本的要素是你要保持一個好的形象給面試官,包括衣著、談吐、不要有小動作。就像我曾經面試過一個人,有一個讓我哭笑不得的小動作,那就是「豎中指扶眼鏡」,一場面試二十分鐘他可能對我豎了二十次中指,這個我不知道別的面試官會怎麼想,反正在我這兒是沒門兒,這輩子都沒有。。唉,不知道那位哥們現在過得如何。。

另一方面來說,面試一定是一個雙向選擇的過程,彼此都在選擇今後的同事,面試官在面試我們,同時我們也在考察面試官、團隊氛圍、公司環境。說實話,我們能從一場面試中看到很多。因為我發現優秀或者成熟的公司,面試的流程是很規範的,包括從HR通知你面試開始,到整個面試流程,看的出來面試官是認真準備的,並且充分尊重求職者的。像那些面試全程玩兒手機、摳手指頭或者讓你等半天然後面二十分鐘的,進去多半也是個坑。而如果你感覺沒怎麼問問題就輕輕鬆鬆發了offer的,那你又要對這個團隊的技術水平保持一定懷疑了。

3.3 面試後

3.3.1 面試結果

通常,就我的經驗來看,一面二面三面到HR面基本都是當天搞定的,如果HR面以前的面試官說「好,我沒有問題了,你先回去吧,等通知」,「我們boss不在,那今天就先到這兒吧」的百分之九十是涼涼了,一般也鮮有公司會真的通知你面試沒過的,冷處理的居多。

其實面試本來就是一個非常具有不確定性的事情,因為你永遠都不知道面試官在想什麼,比如有可能一場面試下來你自我感覺非常棒,但是就是沒有下文,那沒準兒他們HC已經發完了,但是又通知了你面試,那這種情況你再優秀似乎也沒什麼機會;還有的時候你認真準備了面試,但發現最後面試的過程根本不是你想象的那樣,面試官可能沒幾個問題就把你否定了,你認真準備的那些東西根本沒有用武之地,他可能認為你就是個辣雞,那種失落感非常難受;當然也會有其實你面試的感覺並不怎麼樣,有好些問題回答的並不好,但還是順利拿到了offer,這個時候可能你運氣好部門急招,也可能你身上的某個優點(比如年輕、比如踏實、比如背景好)被面試官抓住了。

總之面試就是要不停地面對失敗,沒關係,收拾心情,重新出發吧。

3.3.2 談談薪資

當然,如果順利到了HR面,那就要談薪資了可能,這塊兒說實話我經驗不多,尤其當我準備跳槽的時候,因為我從來沒有參加過社招,不太清楚現在準確的市場行情,而且對自己的背景有些不自信,對自己值多少錢這個事情心裡沒有譜。但其實經過後面不斷地面試,我的期望薪資一直在不斷往高提,提到提不動為止。

但其實現在想想,工作年限越短,大家的薪資差距越小,因此我們可以通過兩個途徑去了解市場行情,一就是我們可以去找學弟學妹瞭解一下目標公司目前校招的一個行情,據我所知,在我畢業這幾年校招的薪資也是水漲船高的,千萬別還是停留在一個自己當時畢業時候的認知;第二呢就是有比較熟的朋友,在你的目標公司或剛剛跳去了你的目標公司,問問他們的一個薪資情況或者委婉點問問他們你該要多少。還有就是因為你是跳槽,和那些畢業之後在你目標公司一路走來的同學相比,一般你要的薪資和職級至少不能比他們低,因為普漲和職級漲薪的漲幅始終是比較低的,而大幅漲薪始終是跳槽的重要意義之一。

對於定薪資,其實招聘方僅僅根據幾個小時對你的面試是很難做出一個非常準確的評估的,那麼在給你提供薪酬的時候,其實多半會首先參考你已經到手的offer的情況,然後考慮你上份工資,再然後結合他們以往的招聘經驗以及你的面試表現來給你定價。尤其是你已經到手的offer,這個是擺在招聘方面前最直接的一道關卡,他們想要在眾多offer中脫穎而出,那他們必須去匹配這個報價,除非他們有你已有offer提供不了的優勢所在。

因此我的建議是,千萬別被貧窮限制了想象力,在合理的範圍內儘量往高了要,給HR一個壓價的空間,一般優秀的公司很少因為你要的太高而直接否決你的,凡是能走完整個面試流程的,說明面試官對你是非常認可的,希望你加入的,至少會給你一個他們能提供的薪資,再讓你做決定。當然不靠譜小公司就不一定了,他們或許就想招一個10k的,高於這個直接pass也不是沒可能,或者也有HR同學因為莫須有的罪名把你卡掉的,攤手,我們本文針對的目標公司絕對不是這樣的公司。

3.3.3 談談offer的選擇

這個確實是很糾結也很重要的,當幾個offer擺在你面前並且都有吸引力的時候,你35歲、45歲甚至55歲什麼樣可能還真是你今天的選擇決定的。

引用扔物線大大的幾句話吧:「先想好你想要什麼,然後從裡面選出符合要求的」,「一般不會存在這個最好的選擇,都是分人了,而且每個人也分時候」。

我沒辦法給出建議,大家細細品味吧。

四. 結束語

其實整個求職的過程是一個不斷認清自己的過程,所以心態是最重要的,我們要把面試當成一個學習和成長的過程,大部分人能得到的結果是和我們過去的努力程度直接掛鉤的,所以永遠不要抱怨什麼,我們今天的現狀往消極了說是在為過去的選擇買單,往積極了說還要感謝那個曾經努力過的騷年。

說了這麼多,其實所謂面試的技巧只是求職中的「術」,而我們技術人,歸根結底還是要努力提高自己的姿勢水平,這才是我們整個職業生涯發展中的「道」。

這段時間我幾乎把全部精力放在了求職上,其實面試多了也挺累的,甚至會覺得空虛。回過頭來想想生活呀不應該只有眼前的工作,更不該只有面試和跳槽。我們通過自己的努力,得到想要的生活,實現個人價值,才是我們應該去堅持和追逐的東西。

最後,如果大家有什麼問題或者觀點可以留言討論,祝大家都能拿到滿意的offer吧。



相關文章