最新Android面試題集錦
最近因為某些原因想換工作,整理一下個人覺得面試中還比較值得記錄的一些題目,給需要找這方面工作的人一個借鑒。
以下基本只記錄題目或者大概答案,如果大家有比較詳細的解答或者比較好的面試題木,希望各位看到的能補充在評論裡,供後來人蔘考,謝謝。
Java部分:
1. 線程有哪幾種實現方式
Thread、Runable比較簡單,主要考點在關於線程池,因為我對線程池使用不多沒有深入問。
2. sychronised關鍵字
考察重點在於理解sychronized針對的是對象而非語句或者方法
3. hashcode和equals方法
考察hashcode方法的作用是什麼,equals和hashcode之間的關係
4. hashmap和treemap
考hashmap的使用,hash基礎知識,hashmap簡單的實現原理(數組加鏈表),treemap是已排序二叉樹
5. Java的lock機制
ReentrantLock的理解,因為瞭解不多沒有再追問,比如他的簡單原理,與sychronized的優劣勢
6. 設計模式
說出幾種你用過的設計模式,他們的使用情境
7. 詳細描述一下GC及簡單工作原理
考察GC回收時機、GC判斷是否需要回收的機制
8. final、finally、finalize
老生常談了,多注意一下最後finalize不是特別常用
Android部分:
1. Android動畫有哪幾種,詳細解釋
property animation, view animation, drawable animation。具體比較想考察property animation
2. Activity Visible Lifetime 和 Foreground Lifetime
考察visible指的是onStart->onStop, foreground指的是onResume->onPause
3. AndroidManifest.xml檔案中minSdkVersion、maxSdkVersion和targetSdkVersion
min、max表示sdk版本必須限定在此範圍內,而target指的是Android據此決定是否運行在相容模式下
4. Fragment
考察fragment的使用,與activity的聯絡
5. Android的弱引用指標和強引用指標
考了基本概念
6. Android Touch流程
主要考察dispatchTouchEvent、onTouchEvent、onInterceptTouchEvent
7. IntentService和AIDL
intentservice和普通service的區別,處理序間通訊
8. layout布局考察
linearlayout layout_weight的意思,framelayout中aligntop和alignparenttop的區別
9. View的繪製過程
考察onMeasure(特別是setMeasuredDimension)、onLayout、onDraw方法
10. ListView或者ViewPage中的Adapter
11. Looper、Handler、Message