BATZ Android工程師面試流程詳細(xì)解析(真實還原)

求職和我們每個人息息相關(guān),而求職也有門道,好的發(fā)揮和技巧或許能讓我們以壓倒性優(yōu)勢在面試中勝出,可能我們技不如人,但是我們的綜合能力如果優(yōu)秀的話,企業(yè)也愿意招這樣的人,因此我將自己親身經(jīng)歷的BAT和其他知名互聯(lián)網(wǎng)的面試經(jīng)驗分享給大家,讓有技術(shù)的人展現(xiàn)獲得實現(xiàn)自我更好的平臺。

前幾天在網(wǎng)上一搜,一系列的百度面試題,我特別興奮,點(diǎn)擊練鏈接一看,差點(diǎn)給嚇尿,這尼瑪什么東東,結(jié)果發(fā)現(xiàn)都是一些標(biāo)題黨,里面沒有太實質(zhì)性的東西,如果按照那上面題目的去準(zhǔn)備,估計進(jìn)一家創(chuàng)業(yè)公司的中級開發(fā)工程師也難啊,除非老板不懂技術(shù),但是別忘了現(xiàn)在很多創(chuàng)業(yè)公司的CEO一般是技術(shù)出生的,在他面前也是會瞬間被完虐,今天就給大家整理和回憶下自己面試過以往百度,京東,新浪,攜程,唯品會,阿里面試經(jīng)驗,其他小名氣的公司在此就可以忽略了,只要掌握百度的面試流程騰訊估計也就八九不離十。在開始面試之旅之前還是要多說幾句,選公司是要看時機(jī)的 ,建議先去小公司試試水,找找感覺,其次建議春節(jié)過后看機(jī)會,選熟人內(nèi)推或者找個好的獵頭也是對我們的面試成功率有幫助的,那么就開始今天的面試之旅吧!

面試流程

招聘方式:

BAT技術(shù)一般分為校招和社招兩個方向。

校招一般去定點(diǎn)的211和985大學(xué)去招聘,并且是拼證書和筆試題的,像我這種野雞大學(xué)的人來說校招是我無法達(dá)到的境界(說白了也就那樣,這個社會干啥事你說不得有個好的干爹),所以校招呢 我今天就不談了,因為我也沒經(jīng)歷過。

社招一般面向全國本科以上2-3年以上計算機(jī)相關(guān)專業(yè)的(可能現(xiàn)在已經(jīng)要求到4年+了),能力不錯的可以放寬到大專和其他專業(yè),但是簡歷是Hr選的 ,硬性條件不過,誰知道你能力好呢,所以這點(diǎn)這也是扯犢子的。 至于你達(dá)到學(xué)歷要求了,經(jīng)驗要求了,你投了簡歷,但是往往很多時候簡歷石沉大海了,因為五年甚至以上的人投簡歷,這樣就類似高考錄取一樣,你再怎么牛逼也會被hr的一個next按鈕篩掉,甚至加入黑名單。因此我們想要加入BAT等的公司最好還是找個認(rèn)識的人內(nèi)推一下,這樣至少不會被hr給無情的篩掉,也會大大加快面試流程的效率,直接約面試即可。

目前由于BAT收到簡歷的很多,在簡歷通過后,會通常進(jìn)行技術(shù)的的審核篩選,簡歷通過后,還會進(jìn)行所謂的電話面試。電話面試過了,才會安排我們現(xiàn)場面試,如果異地會進(jìn)行會議面試(電話視頻面試),
面試一般分為三輪或四輪,甚至更多,第一輪一般為筆試,二輪三輪一般為面試,四輪就是hr或boss面試,筆試不是所有項目組都需要的,而是看你所面試部門的需求,當(dāng)時我就沒有進(jìn)行筆試。

面試方式:

電話面試:

簡歷通過后技術(shù)會進(jìn)行短暫的技術(shù)面試,別小瞧的電話面試,有可能這就決定了你有沒有機(jī)會去現(xiàn)場面試和最終定級的問題,因為大家知道BAT都是分技術(shù)等級的,面試發(fā)揮好的話,評級也比較高,當(dāng)然薪水也就能拿到高,有人會說,那我進(jìn)去努力升級不就可以了嗎, 我說你再怎么牛逼至少半年內(nèi)的你的工資是漲不了,至于晉升吧還要看你交際能力和個人給項目帶來的貢獻(xiàn)和收益,還要看你的人格魅力(說白了還需要點(diǎn)拍馬屁精神),就如同大海撈魚一樣,大家都在競爭憑什么讓你升級呢,所以最好的加薪機(jī)會就是面試跳槽。

電話面試一般面試廣度比較大,深度一般不會太大,安卓一般面試以下幾點(diǎn)。

  1. 安卓View繪制流程
  2. 事件分發(fā)機(jī)制
  3. JAVA基礎(chǔ)思想
  4. 多線程和安全問題
  5. 安卓性能優(yōu)化和兼容問題
  6. 再問一下常規(guī)的組件相關(guān)問題

當(dāng)然不會問的太難,但是也不會太簡單,你要知道這次只是面試官對你的初步衡量,除非你太low,一般都會有機(jī)會現(xiàn)場面試。

現(xiàn)場筆試:

筆試題目一般和你的簡歷項目無關(guān),BAT也不會按照你的簡歷項目特意指定面試題,面試題一般面向大眾的,面試基礎(chǔ)的,也會有算法在里面,只要是走流程的,關(guān)鍵還是看后面的面試表現(xiàn),但是你也不能答的太LOW, 最好手機(jī)充好電帶身上,不會的建議搜一下答案,我盡量回憶一下這幾個公司的筆試題

目前BAT很多項目組已無筆試題

1  請描述安卓四大組建之間的關(guān)系,并說下安卓MVC的設(shè)計模式。

2 線程中sleep()和wait()有和卻別,各有什么含義                   

3  abstract和interface的區(qū)別?

4 array,arrayList, List ,三者有何區(qū)別?

5 hashtable和hashmap的區(qū)別,并簡述Hashmap的實現(xiàn)原理

6 StringBuilder和],String ,subString方法的細(xì)微差別

7 請寫出四種以上你知道的設(shè)計模式,并介紹下實現(xiàn)原理

8 安卓子線程是否能更新UI,如果能請說明具體細(xì)節(jié)。

9 ANR產(chǎn)生的原因和解決步驟

10 JavaGC機(jī)制的原理和內(nèi)存泄露

11  安卓布局優(yōu)化方案,          

12  請在100個電話號碼找出135的電話號碼   注意 不能用正則,(類似怎么最好的遍歷LogGat日志)

此類算法一般比較類似 記得京東筆試比較10個數(shù)字,拿出最大的數(shù)字,也就是冒泡排序。唯品會是讓你寫一算法,依次從10個數(shù)字中拿出3個,不夠依次類推

13  Handler機(jī)制,請寫出一種更新UI的方法和代碼

14  請解釋安卓為啥要加簽名機(jī)制。

15   你覺得安卓開發(fā)最關(guān)鍵的技術(shù)在哪里?

筆試題一般分為選擇和簡答題,選擇題我不再整理,因為目網(wǎng)上流行的java面試寶典和安卓面試寶典的經(jīng)典題目以包含在里面,類似考駕照一樣,你提前背會,總之面中幾率很高,如果我們很久沒去注意細(xì)節(jié)了,建議還是去多看一下基礎(chǔ)面試題,不要忽視了它。

一輪面試:

此面試一般為基礎(chǔ)面試,主要有項目Leader或高工來面試,大多是java的題目居多,安卓也會涉及到一些基礎(chǔ)問題,此環(huán)節(jié)也比較關(guān)鍵,一般一面不會問我們熟知的項目,大多是一些基礎(chǔ)功底的初探,面試官會看你的筆試試卷問答,
記得阿里P6面試題,其中我也加入了其他上市公司的面試題,希望對大家有用
PS;順序不一定正確

1  ANR 具體產(chǎn)生的類型有哪些,具體說下其產(chǎn)生的最大超時時間。

2  多線程多點(diǎn)下載的過程

3 http協(xié)議的理解和用法

4 安卓解決線程并發(fā)問題

5 你知道的數(shù)據(jù)結(jié)構(gòu)有哪些,說下具體實現(xiàn)機(jī)制

6 十六進(jìn)制數(shù)據(jù)怎么和十進(jìn)制和二進(jìn)制之間轉(zhuǎn)換

7 談下對Java OOP中多態(tài)的理解

8  activty和Fragmengt之間怎么通信,F(xiàn)ragmengt和Fragmengt怎么通信

9 怎么讓自己的進(jìn)程不被第三方應(yīng)用殺掉,系統(tǒng)殺掉之后怎么能啟動起來。
10 說下平時開發(fā)中比較注意的一些問題,

答 :可以熟說下svn和git的細(xì)節(jié),和代碼規(guī)范問題,和一些安全信息的問題等

11 自定義view效率高于xml定義嗎?說明理由。

13 廣播注冊一般有幾種,各有什么優(yōu)缺點(diǎn)

14 服務(wù)啟動一般有幾種,服務(wù)和activty之間怎么通信,服務(wù)和服務(wù)之間怎么通信
15 布局優(yōu)化主要哪些?具體優(yōu)化?

16 數(shù)據(jù)庫的知識,包括本地數(shù)據(jù)庫優(yōu)化點(diǎn)。

一面大致為半小時左右,問題一般比較廣,但是不會牽扯太多的深層問題,只要考核我java基礎(chǔ)和安卓開發(fā)APP的必備基礎(chǔ)能力,這個環(huán)節(jié)一般面試官不會問你為啥
離職,為啥選擇本公司之類的,但是又公司會讓你做自我介紹。

二輪面試:

此階段面試一般為技術(shù)經(jīng)理或者小組Leader面試,主要問的技術(shù)點(diǎn)看你的簡歷寫的必備技能面試,所以我們寫簡歷的時候不要瞎寫,自己不會的千萬別寫上去,不然問到了你不會,這樣會大大降低對你技術(shù)能力的認(rèn)證,因為面試官會覺得你會的也是不會的,不會的也是你不會的,所以根據(jù)自己擅長的方向去寫簡歷,

面試官也會主動問你擅長什么,主要看你之前的工作項目經(jīng)驗做了什么模塊,但是主動權(quán)還是由我們自己把控,我們可以引開話題,往自己會的知識點(diǎn)去走。

主要還是挖掘你的技術(shù)功底。面試題目一般為

1 安卓事件分發(fā)機(jī)制,請詳細(xì)說下整個流程

2 安卓view繪制機(jī)制和加載過程,請詳細(xì)說下整個流程

3 activty的加載過程 請詳細(xì)介紹下(不是生命周期切記)

4 安卓采用自動垃圾回收機(jī)制,請說下安卓內(nèi)存管理的原理

5  說下安卓虛擬機(jī)和java虛擬機(jī)的原理和不同點(diǎn) 

6 多線程中的安全隊列一般通過什么實現(xiàn)?線程池原理?(java)

7 安卓權(quán)限管理,為何在清單中注冊權(quán)限,安卓APP就可以使用,反之不可以(操作系統(tǒng))

8  socket短線重連怎么實現(xiàn),心跳機(jī)制又是怎樣實現(xiàn),四次握手步驟有哪些(網(wǎng)絡(luò)通訊原理)

9 http中TCP和UDP有啥區(qū)別,說下HTTP請求的IP報文結(jié)構(gòu)(計算機(jī)網(wǎng)絡(luò))
10 你知道的安全加密有哪些?   (如果你說了一個加密,面試官就會接著跟進(jìn)提問,所以之前你必須要會,不會的話背也要背下來)(安全加密)
11  你知道的數(shù)據(jù)存儲結(jié)構(gòu)?堆棧和鏈表內(nèi)部機(jī)制。(數(shù)據(jù)結(jié)構(gòu))

12 說下Linux進(jìn)程和線程的區(qū)別。進(jìn)程調(diào)度優(yōu)先級,和cpu調(diào)度進(jìn)程關(guān)系。(操作系統(tǒng))

13 請你詳細(xì)說下你知道的一種設(shè)計模式,并解釋下java的高內(nèi)聚和低耦合。

14  spring 的反射和代理,在安卓中應(yīng)用場景(插件和ROM數(shù)據(jù)框架)

15 JNI 調(diào)用過程中 混淆問題

16 看過安卓源碼嗎,請說出一個你看過的API或者組建內(nèi)部原理。

17 android 5.0 6.0 以及7.0預(yù)測新特性

18 hybrid混合開發(fā),響應(yīng)式編程等

17為啥離職呢  對待加班看法

18 你擅長什么,做了那些東西。

好了 ,總結(jié)一些,本階段只要問深層的問題,前面三道題盡量細(xì)節(jié)說到代碼方法,光理論沒用的,主要看你平時有沒有積累,有無真實的項目經(jīng)驗,后面幾道題也主要看你是否從科班出身,只要涉及計算機(jī)網(wǎng)絡(luò),數(shù)據(jù)結(jié)構(gòu),線性代數(shù),操作系統(tǒng),安全密碼學(xué),軟件建模,設(shè)計模式等,如果大學(xué)你學(xué)過這些課程,那么此階段的一些非安卓常用開發(fā)的問題,估計你又能答上來,鑒于很多有培訓(xùn)學(xué)校出來的,那么請先去準(zhǔn)備下這些理論知識,因為關(guān)系到你薪水問題,定級問題,因為不一樣的等級進(jìn)去一半干的活一樣,何必為了這些常規(guī)的問題而比別人少拿待遇呢,一般BAT面試都會做記錄,后面一輪的面試官會看上一個面試官的記錄和評價。

此階段關(guān)鍵度很大,直接影響你技術(shù)評級問題,面試官已經(jīng)了解了你的技術(shù)家底,比如已經(jīng)定了你T4或P6, 后面你表現(xiàn)再怎么多么好,估計已經(jīng)無法改變了,除非Hr能給你多加點(diǎn)工資而已。

三輪面試:

此階段只要是部門經(jīng)理級別的面試,有技術(shù)問題也有非技術(shù)問題,主要是看面試官是否技術(shù)出身,據(jù)我經(jīng)驗和百度這邊的習(xí)慣,大都技術(shù)出身,但是他們知道的技術(shù)已經(jīng)老舊了,所以問的問題大多是一面和筆試的問題,即使問到二面中的問題 ,也不會細(xì)到某個方法的程度,此面試主要看你的溝通能力和管理協(xié)調(diào)能力,也會在看你的穩(wěn)定程度,阿里一般會換其他部門的經(jīng)理來面,為了方便交叉考核,此時的氣氛不會向一面和二面那樣嚴(yán)肅,稍微緩和了,如果不出意外你已經(jīng)有很大錄取的可能。

1  說下項目中遇到的棘手問題,包括技術(shù),交際和溝通。

2 說下你進(jìn)幾年的規(guī)劃

3 給你一個項目,你怎么看待他的市場和技術(shù)的關(guān)系

4 你一般喜歡從什么渠道獲取技術(shù)信息,和提高自己的能力

5  你以往的項目中,以你現(xiàn)在的眼光去評價項目的利弊

6 對加班怎么看(不要太浮夸,現(xiàn)實一點(diǎn)哦)

7 說下OPP 和AOP的思想

8 你知道的一些開源框架和原理

9 不同語言是否可以互相調(diào)用

10 安卓適配和性能調(diào)優(yōu)問題

11 對于非立項(KPI)項目,怎么推進(jìn)

11 你還要什么了解和要問的嗎

總潔:此階段一般也非技術(shù)問題為主,主要看你的思想和個人態(tài)度方向相關(guān),而最后一個問題也決定了領(lǐng)導(dǎo)是否看你有無領(lǐng)導(dǎo)能力,不要第一句話就問公司加班多嗎

公司福利怎樣,公司活動等,互聯(lián)網(wǎng)哪公司不加班吶,尤其大公司加班更嚴(yán)重。 你可以問下項目團(tuán)隊多少人,主要以什么方向為主,一年內(nèi)的目標(biāo)怎樣,團(tuán)隊氣氛怎樣,等內(nèi)容著手。

今年可能你多學(xué)習(xí)下響應(yīng)式編程( Rxjava, React Native等),面向協(xié)議編程,以及7.0最新API特性,一些流行的架構(gòu)模式(mvvm, mvp等),以及Hot Fix, Hybrid開發(fā)模式等,和android系統(tǒng)啟動流程等,如果你的開發(fā)工具還在用Eclipse,建議切到Android studio,不要敗在Gradle語法上!

HR面試:

好了 到此你離BAT的大門已經(jīng)很近了,只要不出叉子,不漫天要價,那么你已經(jīng)安全了,此階段人事會問你為何離職,大學(xué)哪里上的,以前公司一些細(xì)節(jié)問題

不要大含糊哦,不要和大公司的精明的hr搞心機(jī)(尤其阿里的Hr,分分鐘把你滅掉),求職者總是站在劣勢一方,我主要整理下面的問題,這階段和普通公司沒多大區(qū)別。

1 為何離職

2 對加班怎么看

3  對之前面試感覺怎樣。

4 自我評價下你的優(yōu)缺點(diǎn)

5 接下來幾年你是怎么規(guī)劃的

6你做的瘋狂的事是什么

7對我公司文化怎么看待

總之Hr會和你瞎扯,但是不要掉以輕心哦,當(dāng)初唯品會我就這在這里掛掉的。不要亂說hr不問的東西,不要暴露自己比較極端的一面,這個階段hr會根據(jù)你表現(xiàn)和技術(shù)反饋的技術(shù)等級,和以往員工的待遇加上你的項目經(jīng)歷做出一個初步的定級,提前會問題你期望的工資,當(dāng)然啊你可以提前了解下BAT的薪資范圍,再根據(jù)自己的表現(xiàn)提出合理的范圍,Hr一般會砍價,就看你自己堅持度了,心理戰(zhàn)很重要,等你們商量好薪水和合同期限后,今天的面試會通常結(jié)束,也不會當(dāng)天通知你offer,

也有可能復(fù)試的可能,一般是離面試之后一周進(jìn)行,三面的面試一般是單人面試,而復(fù)試一般是兩人以上面試,中主要以技術(shù)為主,之后技術(shù)過后了,hr也不會面試。

阿里一面二面三面 估計需要一個多月,甚至在你終面以后還會進(jìn)行交叉面試,或者HRG來面試(hr老大),我有碰到三個月后才發(fā)offer的同學(xué)

如果你沒進(jìn)行復(fù)試,一般兩周內(nèi)發(fā)offer,如果安排你復(fù)試,大概延遲一周后收到offer

面試細(xì)節(jié)總結(jié):

1 如果電話面試結(jié)束后,三天內(nèi)沒通知你面試,那么你百分之九十掛了,

2 一面結(jié)束或者終止面試,面試官讓你回去的,你也掛了,

3 如果二面結(jié)束了,讓你回去的,或者三面沒有問很多問題的,你百分之70掛了,

4 三面結(jié)束或者三面中面試官沒問多少東西的,你50%掛了,

5 如果沒有安排Hr面試 你離錄取只有40%的可能,

6 如果HR 面了沒談到工資環(huán)節(jié),敷衍了事 你有40%掛的可能

7 薪水談完了 通知你復(fù)試的 你有20%掛的可能,你做好胚胎和拍馬屁的準(zhǔn)備 尤其面阿里的時候

"可以高呼,馬云我愛你了 我愛阿里 你收我去掃廁所吧"  你就會被錄了,哈哈當(dāng)然是逗你玩的

大熱天的來個葛優(yōu)躺可否?

8 如果工資談完了,說三天內(nèi)給你答復(fù)的那么你有15%可能。

9 如果工資談完了,說一周內(nèi)沒任何消息的,多半你掛了,另謀出路吧。


也有人說面試看臉,估計是的,這跟相親一樣一樣的,你情我愿。

總之面試是一種技術(shù)活,又是體力活,并且還是一場心理戰(zhàn)。雖然我上面提供的題目是去兩年前的面試題,但是有80%的接近騰訊2.3和阿里的p6程師的面試題。對一些小的公司估計你會了筆試題目和一面的技術(shù)點(diǎn),估計你已經(jīng)被offer了,稍微的二線公司,只要會了一面和二面的部分問題,只要說出理論,不要到細(xì)節(jié),那么你已經(jīng)有了被錄取的可能,總之能力和薪水成正比的。但是前提你要準(zhǔn)備,至少兩個月是合理的。

最后切記,大公司不要學(xué)歷造假,不然你無法入職的,現(xiàn)在很多公司都在offer前進(jìn)行背調(diào),這樣會影響你以后去該公司的就入職機(jī)會,小公司當(dāng)然你可以玩點(diǎn)技巧,但最重要的還是你必須自我努力,自己有能力才是關(guān)鍵,是金子去哪里都會發(fā)光。

有用的話,點(diǎn)個贊吧?( ′???` )比心

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容