不知不覺中2022年已經(jīng)過了大半,馬上又要到金九銀面試季,相信不少心里癢癢的朋友們已經(jīng)提前開始準備面試了。
近些年來面試的要求是越來越高,整個行業(yè)越來越卷。很多求職者抱怨大廠“面試造火箭,工作擰螺絲”,但實際上,面試中的大多數(shù)問題都是在全方位地考察你對技術(shù)的理解深度,以及解決問題的能力。如果沒有真正對技術(shù)原理和底層邏輯有一定的了解是無法通過的。
這里就將面試中常見的一些知識點做一個整理,希望可以幫助到大家。
1、Handler
- Handler Looper Message 關(guān)系是什么?
- Messagequeue 的數(shù)據(jù)結(jié)構(gòu)是什么?為什么要用這個數(shù)據(jù)結(jié)構(gòu)?
- 如何在子線程中創(chuàng)建 Handler?
- Handler post 方法原理?
- Android消息機制的原理及源碼解析 源碼角度完整解析
- Android Handler 消息機制
- Android 消息機制
2、Activity 相關(guān)
- 啟動模式以及使用場景
- onNewIntent()和onConfigurationChanged()
- onSaveInstanceState()和onRestoreInstanceState()
- Activity 到底是如何啟動的
- 啟動模式以及使用場景
- onSaveInstanceState以及onRestoreInstanceState使用 簡單通透
- onConfigurationChanged使用以及問題解決
- Activity 啟動流程解析
3、Fragment
- Fragment 生命周期和 Activity 對比
- Fragment 之間如何進行通信
- Fragment的startActivityForResult
- Fragment重疊問題
- Fragment 初探
- Fragment 重疊, 如何通信
- Fragment生命周期
4、Service 相關(guān)
- 進程保活
- Service的運行線程
- Service啟動方式以及如何停止
- ServiceConnection里面的回調(diào)方法運行在哪個線程?
- startService 和 bingService區(qū)別
- 進程保活一般套路
- 關(guān)于進程保活你需要知道的一切
5、Android布局優(yōu)化之ViewStub、include、merge
- 什么情況下使用 ViewStub、include、merge?他們的原理是什么?
- ViewStub、include、merge概念解析
- Android布局優(yōu)化之ViewStub、include、merge使用與源碼分析
6、BroadcastReceiver 相關(guān)
- 注冊方式,優(yōu)先級
- 廣播類型,區(qū)別
- 廣播的使用場景,原理
- Android廣播動態(tài)靜態(tài)注冊
- 常見使用以及流程解析
- 廣播源碼解析
7、AsyncTask相關(guān)
- AsyncTask是串行還是并行執(zhí)行?
- AsyncTask隨著安卓版本的變遷
- AsyncTask完全解析
- 串行還是并行
8、Android 事件分發(fā)機制
- onTouch和onTouchEvent區(qū)別
- dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法順序以及使用場景
- 滑動沖突,如何解決
- 事件分發(fā)機制
- 事件分發(fā)解析
- dispatchTouchEvent, onTouchEvent,
- onInterceptTouchEvent方法的使用場景解析
9、Android View 繪制流程
- 簡述 View 繪制流程
- onMeasure, onlayout,ondraw方法中需要注意的點
- 如何進行自定義 View
- view 重繪機制
- Android LayoutInflater原理分析
- Android視圖狀態(tài)及重繪流程分析
- Android自定義View的實現(xiàn)方法
10、Android 的核心 Binder 多進程 AIDL
- Window、Activity、DecorView以及ViewRoot之間的關(guān)系
- 常見的 IPC 機制以及使用場景
- 為什么安卓要用 binder 進行跨進程傳輸
- 多進程帶來的問題
- AIDL 使用淺析
- binder 原理
- binder 最底層解析 很
- 多進程通信方式以及帶來的問題
- 多進程通信方式對比
11、Android 的AMS,WMS,PMS
- AMS,WMS,PMS 創(chuàng)建過程
- AMS,WMS,PMS全解析
- AMS啟動流程
- WindowManagerService啟動過程解析
- PMS 啟動流程解析
12、Android ANR
- 為什么會發(fā)生 ANR?
- 如何定位 ANR?
- 如何避免 ANR?
- 什么是 ANR
- 如何避免以及分析方法
- Android 性能優(yōu)化之 ANR 詳解
13、Android 內(nèi)存相關(guān)
- 什么情況下會內(nèi)存泄漏?
- 如何防止內(nèi)存泄漏?
- 內(nèi)存泄漏和溢出的區(qū)別
- OOM 概念以及安卓內(nèi)存管理機制
- 內(nèi)存泄漏的可能性
- 防止內(nèi)存泄漏的方法
14、Android 屏幕適配
- 屏幕適配相關(guān)名詞解析
- 現(xiàn)在流行的屏幕適配方式
- 屏幕適配名詞以及概念解析
- 今日頭條技術(shù)適配方案
15、Android 緩存機制
- LruCache使用極其原理
- Android緩存機制
- LruCache使用極其原理述
16、Android 性能優(yōu)化
- 如何進行 內(nèi)存 cpu 耗電 的定位以及優(yōu)化
- 性能優(yōu)化經(jīng)常使用的方法
- 如何避免 UI 卡頓
17、Okhttp 、 Retrofit、Glide
- Okhttp完整解析
- Retrofit使用流程,機制詳解
- 從 HTTP 到 Retrofit
- Retrofit是如何工作的
- Glide的基本用法
- 從源碼的角度理解Glide的執(zhí)行流程
- 深入探究Glide的緩存機制
18、Android 組件化與插件化
- 為什么要用組件化?
- 組件之間如何通信?
- 組件之間如何跳轉(zhuǎn)?
- Android 插件化和熱修復(fù)知識梳理
- 為什么要用組件化
19、面試常問的點
- 你在項目中遇到最難得點是什么?如何解決的?
- 平時遇到問題了是如何解決的?比較好的回答:
- 你最近做的 App 是如何架構(gòu)的?為什么要這樣架構(gòu)?
- 平時怎么進行技術(shù)進階,如何學(xué)習(xí)?
- 你覺得自己處于什么技術(shù)水平?
- 你的技術(shù)優(yōu)勢是什么?
上面這些題目的答案我也都記錄在了文檔中,這里由于篇幅原因就沒有一一把答案貼上來了,需要完整文檔的朋友們可以私信我【面試】免費領(lǐng)取!