最近因為某些原因想換工作,整理一下個人覺得面試中還比較值得記錄的一些題目,給需要找這方面工作的人一個借鑒。
以下基本只記錄題目或者大概答案,如果大家有比較詳細的解答或者比較好的面試題木,希望各位看到的能補充在評論里,供后來人參考,謝謝。
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