Android2017-2018最新面試題(3-5年經驗個人面試經歷)

你如世間春秋發表於2018-10-15

大家好,在跟大家講述自己的面試經歷,以及遇到的面試題前,先說說幾句題外話。

接觸Android已經3年,在工作中遇到疑難問題總是在網上(csdn大牛部落格,stackoverflow等)搜尋答案,各位大牛大神總是把自己的經驗分享出來,幫助我們這些需要幫助的人,由此表示衷心感謝!然而現在自己細想了一下,自己也是時候把遇到的問題並把解決方案分享出來,希望能幫助到有需要的人。

隨著時間的流逝,很多人說網際網路這一塊已經越來越不好乾了,因為燒錢時代已經過去,剩下的都是根基牢固的大公司,獨角獸已經不復存在。這就直接導致了網際網路崗位的下降,本人親測,也的確如此。

2017.05月,本人離職(此時3年工作經驗,深圳就職),開始試水安卓市場,尋求一份合適自己,穩定的中大型公司。投了很多公司,面試機會並不是我想象中的那麼多,即時面試過程順利,也沒有獲得offer(候選人太多太多)。不過藉此機會,前前後後我面了10家公司,現在就把我遇到的面試題,並且提供一些面試技巧給各位即將面試的同志們。

OK,進入主題,請看Android知識圖譜。

PS.因為文字限制,想要這26條面試答案或者更多相關資料的,請評論或者私信關注我!

面試,無非都是問上面這些問題(挺多的 - -!),聘請中高階的安卓開發會往深的去問,並且會問一延伸二。以下我先提出幾點重點,是面試官基本必問的問題,請一定要去了解! 基礎知識 – 四大元件(生命週期,使用場景,如何啟動) java基礎 – 資料結構,執行緒,mvc框架 通訊 – 網路連線(HttpClient,HttpUrlConnetion),Socket 資料持久化 – SQLite,SharedPreferences,ContentProvider 效能優化 – 佈局優化,記憶體優化,電量優化 安全 – 資料加密,程式碼混淆,WebView/Js呼叫,https UI– 動畫 其他 – JNI,AIDL,Handler,Intent等 開源框架 – Volley,Gilde,RxJava等(簡歷上寫你會的,用過的) 擴充 – Android6.0/7.0/8.0特性,kotlin語言,I/O大會 急急忙忙投簡歷,趕面試,還不如沉澱一兩天時間,再過一遍以上內容。想穩妥拿到一個offer,最好能理解實現原理,並且知道使用場景了。不要去背!要去理解!面試官聽了一天這些內容是很厭倦的,最好能說出一些自己的見解。 面試題(固定答案不解答,自己可以找到)

順序是根據記憶排的,沒有優先順序之分,都是重點。

1.Activity的啟動過程(不要回答生命週期)

2.Activity的啟動模式以及使用場景

(1)manifest設定,(2)startActivity flag 【此處延伸:棧(First In Last Out)與佇列(First In First Out)的區別】

3.Service的兩種啟動方式

(1)startService(),(2)bindService()

4.Broadcast註冊方式與區別

(1)靜態註冊(minifest),(2)動態註冊【此處延伸:什麼情況下用動態註冊

5.HttpClient與HttpUrlConnection的區別 【此處延伸:Volley裡用的哪種請求方式(2.3前HttpClient,2.3後HttpUrlConnection)

6.http與https的區別 【此處延伸:https的實現原理】

7.手寫演算法(選擇冒泡必須要會)

8.程式保活(不死程式)【此處延伸:程式的優先順序是什麼

9.程式間通訊的方式

(1)AIDL,(2)廣播,(3)Messenger

10.載入大圖

11.三級快取(各大圖片框架都可以扯到這上面來)

(1)記憶體快取,(2)本地快取,(3)網路

12.MVP框架(必問)【此處延伸:專案中使用JNI的地方,如:核心邏輯,金鑰,加密邏輯】

13.講解一下Context

14.JNI 【此處延伸:專案中使用JNI的地方,如:核心邏輯,金鑰,加密邏輯】

15.java虛擬機器和Dalvik虛擬機器的區別

16.執行緒sleep和wait有什麼區別

17.View,ViewGroup事件分發

18.儲存Activity狀態

onSaveInstanceState()

19.WebView與js互動(呼叫哪些API)

20.記憶體洩露檢測,記憶體效能優化 【此處延伸:

(1)記憶體溢位(OOM)和記憶體洩露(物件無法被回收)的區別。

(2)引起記憶體洩露的原因

21.佈局優化

22.自定義view和動畫

23.設計模式(單例,工廠,觀察者。作用,使用場景)

一般說自己會的就ok,不要只記得名字就一輪嘴說出來,不然有你好受【此處延伸:Double Check的寫法被要求寫出來。】

24.String,Stringbuffer,Stringbuilder 區別

25.開源框架,為什麼使用,與別的有什麼區別

這個問題基本必問。在自己簡歷上寫什麼框架,他就會問什麼。

如:Volley,面試官會問我Volley的實現原理,與okhttp和retrofit的區別。

開源框架很多,我就選幾個多數公司都會用的出來(框架都是針對業務和效能,所以不一定出名的框架就有人用)

網路請求:Volley,okhttp,retrofit

非同步:RxJava,AsyncTask

圖片處理:Picasso,Glide

訊息傳遞:EventBus

以上框架請自行查詢,太多了就不貼出來了。

26.RecyclerView

結語

面試官面什麼,完全是看他們個人的(性格,心情,天氣,你的面相)。以上只是一些我覺得重要的點,當然還有很多深層的東西不是一時半日可以補上來的,還是要看自己平時的經驗積累。面試不單單是技術面,還有高層面,人事面,這些都要看個人發揮了。

PS:如果面試官說,還有什麼想問的,千萬不要給自己挖坑,說今天自己表現怎樣,能不能被錄取。要往公司的團隊,氛圍去問,儘量表現的對公司有興趣。

如:我想知道公司是否定期有開技術會議,老員工是否會分享自己的一些經驗等這些問題。

生活不易,如果有面試官(你將來有一天也會面試別人)看到這篇文章,請放下架子或者偏見,尊重每一位面試者。

最後,我列出以下面試需要注意的幾個點。

面帶微笑,有禮貌,謙遜

穿的體面一點,穿拖鞋的gg了8成

一定要帶簡歷和筆

來了說謝謝,面完說謝謝

要學會看面試官的表情,如果答的不好不要繼續往下說

不要吹的自己以前做過的專案有多牛b,也不要自吹

答題要冷靜,不要一輪嘴說一堆,面試官很煩的

接下來會寫幾篇針對BAT等大廠的面試題錦集,很快就出爐拉,已經在整理。喜歡的同學請點個贊哈!

最後祝大家面試順利,早日找到自己心儀的公司。

PS.因為文字限制,想要這26條面試答案或者更多相關資料的,請評論或者私信關注我!

相關文章