一位Android大牛的BAT面試心得與經驗總結(面試收穫及答案)

歡迎關注專欄:裡面定期分享Android架構技術知識點及解析,還會不斷更新的BATJ面試專題,歡迎大家前來探討交流,如有好的文章也歡迎投稿。

Android高級技術分享?

zhuanlan.zhihu.com圖標

序言

目前形勢,參加到Android隊伍的人是越來越多,可以說是已經達到了供過於求的地步了。

今年,找過工作人可能會更深刻地體會到今年的就業形勢不容樂觀,之前實習的時候就想著寫一篇面經,後來忙就給忘了,現在找完工作了,也是該靜下心總結一下走過的路程了,我全盤托出,奉上這篇面試心得與經驗總結。

誠意之作,希望可以給在外來找工作的人一點指導以及幫助,如果能耐心讀完的話,相信你會找到自己想需要的東西的。

在這之前我想先問大家幾個問題

你如何看待面試?

任何企業招聘重要崗位時都不會只安排一個候選人面試,通常都是兩到三個甚至更多,最終來優中選優綜合評估,篩選出與企業所需崗位能力素質要求最接近的人,所以對求職者來說面試是一場比拼,一個競爭的舞台,比的是素質經驗能力,也是思維方式,以及對崗位的認知度,拼的是耐性,臨場發揮,對企業的認同感,比拼的獎品就是錄用通知書,所以說應聘者以什麼心態,怎樣的精神面貌來對待面試這個過程,決定了你在面試時的結果。

並且我覺得面試本身並不能完全評價一個人的實力。面試通過的人,也許只是恰好在面試時遇到了自己熟悉的問題,面試不通過,也有可能是面試官自身的問題,並非每個面試官都具備客觀評價別人的能力。

換句話說,面試沒通過也許是面試官沒有發現你的才華,面試通過了也並不代表你就能勝任工作,因為進入企業之後可不是每天負責回答面試題!

網上關於面試最多的是什麼?就是面經,他有些介紹了一些「裝逼」的方法,還有所謂的「面試技巧」,我本人的話是不太認可的。技巧需要有,這是為了讓你更好的展示自己,而非坑蒙拐騙。我更想展現一個真實的自己,如果面試官不認可,說明我們沒有緣分,或者說自己的能力還不夠。

「面試造火箭,工作擰螺絲」,你也是這樣認為的嘛?

在招聘中,這類情況一直在發生。我們讓工程師通過嚴格的篩選程序,問他們一些有挑戰性的問題,但在把他們招進公司之後,只是讓他們做一些枯燥乏味的事情,比如負責由五六個服務組成的系統,或者讓頁面看起來更漂亮些。我並不是說這些任務就不需要技能,只是這些任務所需要的技能與大多數面試涉及的內容根本不一樣。

既然BAT們是眾所周知的福利待遇發展好,那自然其進入門檻也水漲船高,我記得曾有媒體戲稱進入BAT的難度不比考公務員低多少。

雖說如今招聘更偏重能力,但當出現僧多粥少的情況時,也必然需要進行硬性條件上的篩選。其實這也是沒有辦法的事情,不存在完全學歷歧視的問題。你想,招聘一個人,大概要看100份簡歷,面試10個人,最後才能選中一個。但從工作量上來說就是一個很大的事情,只能硬性條件卡嚴格一點。

篩選過後,還要進行幾輪的面試才能最終確定下來,崗位競爭非常激烈。但在經歷了激烈的面試,開始入職後,卻不乏有人發現崗位所需技能與面試所說差距過大,這是便有網友稱:面試造火箭,工作擰螺絲。個人成就感難以滿足,就萌生退意,遞交辭呈了。

我相信在很多個領域裡,有很多的人拿到的報酬已經遠遠超出了他們所從事工作的難度。有時候是因為他們是這個領域唯一知道怎麼做這些事情的人,有時候是因為他們所在的公司無法從人才市場上招到更好的人,有時候是因為其他工程師故意過度設計,這樣初級開發人員就需要花費很長時間才能理解它。無論如何,如果我們想要保持高薪和不被踢出局,就不能停止學習。加強知識的廣度和深度,並學會如何將炒作從真正的突破性技術中過濾掉。

你為面試準備了些什麼?

就算你覺得你所有的東西都準備好了,但也不是你拿著簡歷奔赴各個面試你就有機會

如果你為自己做了份詳細的職業生涯規劃,那你也應該為自己做一份詳細的時間管理計劃表。好的面試一定不是拿著簡歷跑出來的。

資歷深的HR可以清楚的看出優秀和普通面試者的區別,當然了他們可能也會問這樣的問題,「你覺得哪首歌最能體現你的職業道德?」「EXCEL有多少種演算法公式?」「你洗澡的時候都在想什麼」當然,這些問題也都是真實存在的。但是面試的重點一定不是尋找和你喜好相同,品味一致的人。

面試需要準備些什麼,在這裡我就不給予評價了,各大面經裡面都有,大家去看看就好了的。但是大家在刷面試題的時候一定要注意,不要僅僅是去背答案,淺步的了解會讓提高你面試的成功率。

總之,面試的本質一定不是一問一答,如果你還想要讓自己在面試過程中魅力十足,那就帶一份工作計划過去,這不僅是展現你的誠意,更讓HR看到的是你的工作思路和專業實力。

接下來我給大家分享一下我的經歷吧!

分享的多也沒有什麼用,就舉例一次映像十分深刻的吧。一次很偶然的機會,被獵頭推薦到阿里巴巴面試。簡歷被送到阿里後,會有幾天簡歷審核期,這個過程會先從簡歷上篩選掉一部分人。簡歷審核通過後,會有負責技術面試的人對你進行一個電話面試,我當時接到電話感到很突然,因為簡歷都已經投遞一周了,然後就匆匆跑到樓下進行電話面試。

面試問題還記得一些,一部分已經忘記了,為了防止再忘記,所以便寫了出來。

1:你是如何理解Android操作系統的。

2:是否熟悉framework層,如果熟悉,那就對framework做個簡介。

3:是否熟悉多線程,如果熟悉,介紹下線程。

4:對象鎖和類鎖是否會互相影響,會舉例子讓你判斷鎖的使用是否恰當,並說出原因。

5:是否熟悉Lopper架構,如果熟悉說下其原理,如果你自己實現,你會怎麼實現。

6:自定義控制項原理,及消息分發流程。

7:binder工作原理。

8:ActivityThread,Ams,Wms的工作原理。

9:如果工作中需要修改framework,你如何尋找切入點。

電話面試就這麼多內容,自我感覺給回答打了75分,然後就是等通知;又隔了兩天,阿里的HR打電話讓我去指定地點面試,心裡有點緊張,因為想給馬雲打工的人太多,競爭激烈程度可想而知(哈哈放平心態就好了,每個人都會有一個最好歸宿)。

和技術負責人聊了聊,大概2小時左右。

主要聊的是frameworkbinder並發容器線程並發對象鎖,再就是ndk使用的是否熟練,是否熟練hook技術等;還有你遇到過什麼技術難點,是如何解決的。還有你讀過什麼開源工程,有什麼感想,你是否考慮過做一個開源工程。最後就是設計一個多線程並發處理大數據量,然後刷新UI的架構。

最後結果是沒能達到他們的期望,跟技術負責人聊的較開心,就留了聯繫方式。

面試總結:通過這次面試知道自己還有哪些不足,要繼續努力,功夫用在平時很重要。

面試收穫,注意看!!非常重要!!

一、提前準備面試所有問題的答案並重複練習

眾所周知,面試就是由面試官向面試者提問,來了解面試者個人基本信息,考察面試者的工作態度、綜合能力和專業能力。想要順利通過面試,我們就得提前了解面試官經常會提問一些什麼問題,這樣才能針對性的進行回答。

二、重新回顧簡歷的工作經歷和結果很重要

HR 們會通過詢問你工作經歷中的具體細節來判斷這段經歷的真實性以及你的專業程度。實習等工作經歷是體現你專業能力的重要指標。

如果你無法詳細地講述工作經歷的細節,HR就有可能會懷疑你偽造工作經歷。或許離你上一次的工作經歷已經過去了很久,你可能已經忘記了很多細節。但沒關係,你可以通過下面這樣來回答:

  • 你做了什麼工作?
  • 這個工作的目的是什麼?
  • 這個工作發生在什麼時候?
  • 由誰參與了這個工作?
  • 在哪裡開展的工作?你在什麼情境下做的工作?
  • 你如何做這個工作?結果怎麼樣?

另外,一定要記住,最好使用具體的數據來證明自己的能力,數據往往比天花亂墜的形容詞來得更令人信服。

三、針對崗位量身製作一份求職作品集

一份好的求職作品集在面試中可以說是必殺技。一份優秀的求職作品集,一方面說明你對這次面試重視程度,讓 HR 體會到你的用心;另一方面,可以展現你出眾的專業技能。

你可以根據公司發布的招聘信息,提取關鍵詞。提取崗位招聘信息中的關鍵詞,熟悉工作流程,然後親手去執行幾遍,向HR展示你的成果。當然,如果你並不了解這份工作,也可以請教業內人士,指導整個過程,幫助你完善作品集。

四、自我介紹時,從這 3 個方面入手

無論是什麼樣崗位的面試都不會離開自我介紹,自我介紹那該說什麼?正確的邏輯應該是:先表達自己對這個行業、這個崗位的熱愛,然後表現自己的經歷與崗位相匹配,最後突出一下自己在工作中的優秀表現。

  • 熱情:對行業、崗位和公司的熱愛
  • 匹配:展現你與招聘崗位的匹配度
  • 出眾:請將你的亮點展示出來

五、如何去回答綜合能力題

在由專業HR面試的時候,最重要的環節其實是綜合能力層面的提問。綜合能力層面的問題一般是用來考察面試者的反應能力、溝通能力、學習能力、問題解決能力和領導能力等等。我們在回答的時候,盡量將你的思維過程講明白,把結論講清楚。

一般回答綜合能力題的時候,你可以這樣做:

  • 什麼工作?
  • 你為什麼要做這個工作?簡單說明一下當時的背景
  • 怎麼會出現這種情況?你如何解決了這個問題?
  • 你收穫了什麼經驗?你得到了什麼結論?

六、如何去回答專業能力題

在專業能力的考察中,面試官會挑選簡歷中感興趣的條目進行提問,考察是否具備專業的工作經驗。

那麼應該如何回答這一類的問題呢?你可以這樣去回答:

  • 情境:指你所做的工作的背景信息,比如你要在簡歷中介紹一次社群運營的經歷,那麼就先簡單說明你是因為轉化率不高,所以需要做社群運營;
  • 任務:指你工作的目的,就是你要達到的 KPI,或是要解決的問題,比如你運營這個社群是為了達到 3% 的轉化率;
  • 行動:指你為了完成任務而採取的行動,是指具體的行為,比如為了幫助學員學習更多知識,你在社群里進行了 5 次分享等;
  • 結果:指你的行動最終達到的效果,比如你最終達到了 3% 的轉化率、99% 的用戶滿意度等。

當面試者在描述一段工作經歷時,如果以上四個方面不完整,面試官就需要就沒有提及的方面進行提問。所以我們盡量按照這個模式去回答專業能力層面的問題。

七、從崗位、部門、企業三緯度向僱主提問最後的問題

當 HR 提問完上述的問題時,HR 總會詢問你:「你還有什麼問題要問嗎?」不少人會選擇回答說「沒有」。但其實,這樣會讓 HR 認為你對崗位和公司沒有多大興趣。但是說「有」,我們該問什麼呢?這個模塊來告訴你答案——從崗位、部門、企業三大緯度提問。

八、沒答好的問題可以通過郵件補充更好的回答

我想大家都有經歷過吵架時突然被對方懟的啞口無言,回到家才想起應該怎麼回懟的尷尬。雖然和面試官之間並非吵架,但總會有一兩個問題沒能回答好,之後才想到應該如何回答。不少人只會捶胸頓足,悶悶不樂:「要是那時候我這麼回答就好了。」但其實,還有補救的辦法——給 HR 發一封補充回答的郵件

請主動的詢問 HR 的郵箱。然後針對沒有回答好的答案,重新組織語言,通過郵件補充更好的答案當然,也可以在郵件中插入你的作品集或者一些補充材料會起到更好的效果。

總結

總而言之,成功是留給準備好的人的。無論是參加什麼面試,都要做好充足的準備,注意好面試的禮儀和穿著,向面試官表現出自己的熱忱與真誠就好。即使最後沒有過關,也要做好經驗的總結,為下一次面試做好充足準備。

想要面試順通嘛,趕緊領取下面的面試資料為之後的面試做足準備叭!這裡提前祝各位面試成功!

除了上面的面試題,我還總結出了互聯網公司Android程序員面試涉及到的絕大部分面試題及答案,並整理做成了文檔,以及系統的進階學習視頻資料,免費分享給大家。(包括Java在Android開發中應用、APP框架知識體系、高級UI、全方位性能調優,NDK開發,音視頻技術,人工智慧技術,跨平台技術等技術資料),希望能幫助到你面試前的複習,且找到一個好的工作,也節省大家在網上搜索資料的時間來學習。

資料領取傳送門:

Android架構進階必備學習資源免費領取(架構視頻+面試專題文檔+學習筆記)?

shimo.im圖標

部分資料截圖:


推薦閱讀:

做安卓照樣能拿 50k offer,服不服?
二:Activity啟動
為什麼部分果粉極度厭惡小米?
手機上怎麼看youtube視頻?
Glide源碼解析-載入流程

TAG:Android | Android開發 | 移動互聯網 |