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