前幾天在鴻羊大神公眾號考到一片面試題文章,樓主把他借鑒過來,附上每道題的知識點連接,方便自己和他人復習用。
1 Java 技術篇
1.1 Java基礎
Object的hashCode()與equals()的區別和作用
1.2 集合類
1.3 多線程相關
Thread、Runnable、Callable、Futrue類關系與區別?
在理解默認線程池的前提下,自己實現線程池
1.4 字符
StringBuilder和StringBuffer的區別?
1.5 注解
注解的級別及意義
如何自定義注解
2 Android技術
2.1 Android基礎
AsyncTask的實現方式
Looper、Handler和MessageQueue的關系?
Activity的啟動流程??(考察對Framwork的熟悉程度)
多進程開發?的注意事項(Application類區分進程,進程間內存不可見、進程間通訊方式)
2.2 Resource相關
Android系統如何在多個資源文件夾下查找匹配最合適的資源?
2.3 虛擬機
熟悉垃圾回收的實現機制?,了解虛擬機的GC類型
2.4 View相關
常用組件的使用:ListView、RecyclerView及Adapter的使用
onMeasure/onLayout/onDraw的作用
Paint、Matrix、Shader等繪制相關類的方法作用?
2.5 動畫
Interpolator類的意義和常用的Interpolator?
如何自定義ViewAnimation
2.6 圖片處理
3 項目經驗
3.1 開發工具
代碼管理工具:SVN、Git
常用的調試工具:Hierarchy Viewer?、DDMS?等
CI工具:Lint檢查?,FindBugs?、Jenkins
內存分析工具:dumpsys、memoinfo、MAT
3.2 項目工程
APP更新策略:推送或者拉取?
如何統一處理錯誤崩潰
如何進行用戶行為收集
日志管理有哪些要點?(Debug包開放,release包關閉,錯誤日志反饋)
打包方式Ant、Maven、Gradle
3.3 開放平臺
是否使用過第三方平臺
常用開放平臺的熟悉度(微信、QQ、微博、支付寶等常用的支付和分享)
是否進行過對第三方平臺的統一封裝?
是否自己開發過SDK?
3.4 設計相關
設計原則????
設計模式在項目中的應用
項目中的分包方式
android項目中的常見層次結構,包劃分
有沒有設計過項目中的層級結構、包劃分