新鮮出鍋的Android面試知識點整理

像程序那樣思考 發佈 2022-07-31T21:04:00.851009+00:00

不知不覺中2022年已經過了大半,馬上又要到金九銀面試季,相信不少心裡痒痒的朋友們已經提前開始準備面試了。

不知不覺中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 是如何架構的?為什麼要這樣架構?
  • 平時怎麼進行技術進階,如何學習?
  • 你覺得自己處於什麼技術水平?
  • 你的技術優勢是什麼?

上面這些題目的答案我也都記錄在了文檔中,這裡由於篇幅原因就沒有一一把答案貼上來了,需要完整文檔的朋友們可以私信我【面試】免費領取!

這些題目的答案我都已經整理到了本地PDF文檔中,這裡由於篇幅原因沒有一一把答案貼上來,需要完整文檔的朋友們可以私信我【面試】免費領取!

關鍵字: