Android 2017-2018面试题详解
面試題(固定答案不解答,自己可以找到)
順序是根據記憶排的,沒有優先級之分,都是重點。
1.Activity的啟動過程(不要回答生命周期)?
http://blog.csdn.net/luoshengyang/article/details/6689748
2.Activity的啟動模式以及使用場景?
(1)manifest設置,(2)startActivity flag?
http://blog.csdn.net/CodeEmperor/article/details/50481726?
此處延伸:棧(First In Last Out)與隊列(First In First Out)的區別
3.Service的兩種啟動方式?
(1)startService(),(2)bindService()?
http://www.jianshu.com/p/2fb6eb14fdec
4.Broadcast注冊方式與區別?
(1)靜態注冊(minifest),(2)動態注冊?
http://www.jianshu.com/p/ea5e233d9f43?
此處延伸:什么情況下用動態注冊
5.HttpClient與HttpUrlConnection的區別?
http://blog.csdn.net/guolin_blog/article/details/12452307?
此處延伸:Volley里用的哪種請求方式(2.3前HttpClient,2.3后HttpUrlConnection)
6.http與https的區別?
http://blog.csdn.net/whatday/article/details/38147103?
此處延伸:https的實現原理
7.手寫算法(選擇冒泡必須要會)?
http://www.jianshu.com/p/ae97c3ceea8d
8.進程保活(不死進程)?
http://www.jianshu.com/p/63aafe3c12af?
此處延伸:進程的優先級是什么(下面這篇文章,都有說)?
https://segmentfault.com/a/1190000006251859
9.進程間通信的方式?
(1)AIDL,(2)廣播,(3)Messenger?
AIDL :?https://www.jianshu.com/p/a8e43ad5d7d2?
https://www.jianshu.com/p/0cca211df63c?
Messenger :?http://blog.csdn.net/lmj623565791/article/details/47017485?
此處延伸:簡述Binder ,?http://blog.csdn.net/luoshengyang/article/details/6618363/
10.加載大圖?
PS:有家小公司(規模寫假的,給騙過去了),直接把項目給我看,讓我說實現原理。。?
最讓我無語的一次面試,就一個點問的我底褲都快穿了,就差幫他們寫代碼了。。?
http://blog.csdn.net/lmj623565791/article/details/49300989
11.三級緩存(各大圖片框架都可以扯到這上面來)?
(1)內存緩存,(2)本地緩存,(3)網絡?
內存:http://blog.csdn.net/guolin_blog/article/details/9526203?
本地:http://blog.csdn.net/guolin_blog/article/details/28863651
12.MVP框架(必問)?
http://blog.csdn.net/lmj623565791/article/details/46596109?
此處延伸:手寫mvp例子,與mvc之間的區別,mvp的優勢
13.講解一下Context?
http://blog.csdn.net/lmj623565791/article/details/40481055
14.JNI?
http://www.jianshu.com/p/aba734d5b5cd?
此處延伸:項目中使用JNI的地方,如:核心邏輯,密鑰,加密邏輯
15.java虛擬機和Dalvik虛擬機的區別?
http://www.jianshu.com/p/923aebd31b65
16.線程sleep和wait有什么區別?
http://blog.csdn.net/liuzhenwen/article/details/4202967
17.View,ViewGroup事件分發?
http://blog.csdn.net/guolin_blog/article/details/9097463?
http://blog.csdn.net/guolin_blog/article/details/9153747
18.保存Activity狀態?
onSaveInstanceState()?
http://blog.csdn.net/yuzhiboyi/article/details/7677026
19.WebView與js交互(調用哪些API)?
http://blog.csdn.net/cappuccinolau/article/details/8262821/
20.內存泄露檢測,內存性能優化?
http://blog.csdn.net/guolin_blog/article/details/42238627?
這篇文章有四篇,很詳細。?
此處延伸:?
(1)內存溢出(OOM)和內存泄露(對象無法被回收)的區別。?
(2)引起內存泄露的原因
21.布局優化?
http://blog.csdn.net/guolin_blog/article/details/43376527
22.自定義view和動畫?
以下兩個講解都講得很透徹,這部分面試官多數不會問很深,要么就給你一個效果讓你講原理。?
(1)http://www.gcssloop.com/customview/CustomViewIndex?
(2)http://blog.csdn.net/yanbober/article/details/50577855
23.設計模式(單例,工廠,觀察者。作用,使用場景)?
一般說自己會的就ok,不要只記得名字就一輪嘴說出來,不然有你好受。?
http://blog.csdn.net/jason0539/article/details/23297037/?
此處延伸:Double Check的寫法被要求寫出來。
24.String,Stringbuffer,Stringbuilder 區別?
http://blog.csdn.net/kingzone_2008/article/details/9220691
25.開源框架,為什么使用,與別的有什么區別?
這個問題基本必問。在自己簡歷上寫什么框架,他就會問什么。?
如:Volley,面試官會問我Volley的實現原理,與okhttp和retrofit的區別。?
開源框架很多,我就選幾個多數公司都會用的出來(框架都是針對業務和性能,所以不一定出名的框架就有人用)?
網絡請求:Volley,okhttp,retrofit?
異步:RxJava,AsyncTask?
圖片處理:Picasso,Glide?
消息傳遞:EventBus?
以上框架請自行查找,太多了就不貼出來了。
26.RecyclerView?
這個挺搞笑的。有另外一個同事也在找工作,面試官嫌他沒用過RecyclerView直接pass掉。?
http://blog.csdn.net/lmj623565791/article/details/45059587
OK,點到即止。
結語
面試官面什么,完全是看他們個人的(性格,心情,天氣,你的面相)。以上只是一些我覺得重要的點,當然還有很多深層的東西不是一時半日可以補上來的,還是要看自己平時的經驗積累。面試不單單是技術面,還有高層面,人事面,這些都要看個人發揮了。
PS:如果面試官說,還有什么想問的,千萬不要給自己挖坑,說今天自己表現怎樣,能不能被錄取。要往公司的團隊,氛圍去問,盡量表現的對公司有興趣。?
如:我想知道公司是否定期有開技術會議,老員工是否會分享自己的一些經驗等這些問題。
生活不易,如果有面試官(你將來有一天也會面試別人)看到這篇文章,請放下架子或者偏見,尊重每一位面試者。
最后,我列出以下面試需要注意的幾個點。
- 面帶微笑,有禮貌,謙遜
- 穿的體面一點,穿拖鞋的gg了8成
- 一定要帶簡歷和筆
- 來了說謝謝,面完說謝謝
- 要學會看面試官的表情,如果答的不好不要繼續往下說
- 不要吹的自己以前做過的項目有多牛b,也不要自吹
- 答題要冷靜,不要一輪嘴說一堆,面試官很煩的
接下來會寫幾篇針對BAT等大廠的面試題錦集,很快就出爐拉,已經在整理。喜歡的同學請點個贊哈!?
最后祝大家面試順利,早日找到自己心儀的公司。
**個人面試經歷總結文章:?
Android2017-2018最新面試題(3-5年經驗個人面試經歷)?
**BAT面試系列文章:?
一、Android(2017-2018)BAT面試題整理(java篇,含答案)?
二、Android(2017-2018)BAT面試題整理(Android篇,含答案)?
總結
以上是生活随笔為你收集整理的Android 2017-2018面试题详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓UI测试(基于android stu
- 下一篇: Android 友盟推送开发