史上最全 Android 中高級工程師面試復(fù)習(xí)大綱

概述

都說金三銀四青銅五,這幾個月份是程序員最好的跳槽時間,筆者四月初也換了工作。找工作之前看了很多面試題,復(fù)習(xí)資料,但是發(fā)現(xiàn)純看面試題是不行的,因為靠背的東西是記不牢的,需要知識成體系才可以,所以筆者整理了一份復(fù)習(xí)大綱,基本涵蓋了 Android 中高級工程師面試所必須知識點,希望可以通過此文幫助一些想換工作的朋友更好的復(fù)習(xí),準(zhǔn)備面試。

本文只羅列出大綱內(nèi)容,至于每個模塊的詳細內(nèi)容,網(wǎng)上很多資料,可自行查閱,后序有時間會放一些我復(fù)習(xí)時看的資料,這樣復(fù)習(xí)起來知識更成體系,事半功倍。

1、Java 相關(guān)

  1. 容器(HashMap、HashSet、LinkedList、ArrayList、數(shù)組等)

需要了解其實現(xiàn)原理,還要靈活運用,如:自己實現(xiàn) LinkedList、兩個棧實現(xiàn)一個隊列,數(shù)組實現(xiàn)棧,隊列實現(xiàn)棧等。

  1. 內(nèi)存模型
  2. 垃圾回收算法(JVM)
  3. 類加載過程(需要多看看,重在理解,對于熱修復(fù)和插件化比較重要)
  4. 反射
  5. 多線程和線程池
  6. HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次揮手過程
  7. 設(shè)計模式(六大基本原則、項目中常用的設(shè)計模式、手寫單例等)
  8. 斷點續(xù)傳

2、Android 基礎(chǔ)

  1. 自定義 View(參考鏈接:自定義View,有這一篇就夠了 - 簡書Android 自定義 View
  2. 事件攔截分發(fā)(Android事件分發(fā)機制,大表哥帶你慢慢深入 - 簡書 )
  3. 解決過的一些性能問題,在項目中的實際運用。
  4. 性能優(yōu)化工具 (TraceView、Systrace、調(diào)試 GPU 過度繪制 & GPU 呈現(xiàn)模式分析、Hierarchy Viewer、MAT、Memory Monitor & Heap Viewer & Allocation Tracker 等)
  5. 性能優(yōu)化
    (1)網(wǎng)絡(luò):API 優(yōu)化、流量優(yōu)化、弱網(wǎng)優(yōu)化
    (2)內(nèi)存:OOM 處理、內(nèi)存泄漏、內(nèi)存檢測、分析、Bitmap 優(yōu)化
    (3)繪制
    (4)電量:WeakLock 機制、JobScheduler 機制
    (5)APK 瘦身
    (6)內(nèi)存抖動
    (7)內(nèi)存泄漏
    (8)卡頓
    (9)性能優(yōu)化:布局優(yōu)化、過度渲染處理、ANR 處理、監(jiān)控、埋點、Crash 上傳。
  6. IntentService 原理及應(yīng)用
  7. 緩存自己如何實現(xiàn)(LRUCache 原理)
  8. 圖形圖像相關(guān):OpenGL ES 管線流程、EGL 的認識、Shader 相關(guān)
  9. SurfaceView、TextureView、GLSurfaceView 區(qū)別及使用場景
  10. 動畫、差值器、估值器Android中的View動畫和屬性動畫 - 簡書、Android 動畫 介紹與使用
  11. MVC、MVP、MVVM
  12. Handler、ThreadLocal、AsyncTask
  13. Gradle(Groovy 語法、Gradle 插件開發(fā)基礎(chǔ))
  14. 熱修復(fù)、插件化

3、Android Framework

  1. AMS 、PMS
  2. Activity 啟動流程
  3. Binder 機制(IPC、AIDL 的使用)
  4. 為什么使用 Parcelable,好處是什么?
  5. Android 圖像顯示相關(guān)流程,Vsync 信號等

4、三方源碼

  1. Glide :加載、緩存、LRU 算法
  2. EventBus
  3. LeakCanary
  4. ARouter
  5. 插件化(不同插件化機制原理與流派,優(yōu)缺點。局限性)
  6. 熱修復(fù)
  7. RXJava
  8. Retrofit

5、算法與數(shù)據(jù)結(jié)構(gòu)

  1. 單鏈表:反轉(zhuǎn)、插入、刪除
  2. 雙鏈表:插入、刪除
  3. 手寫常見排序、歸并排序、堆排序
  4. 二叉樹前序、中序、后序遍歷
  5. 最大 K 問題
  6. 廣度、深度優(yōu)先搜索算法
  7. 可以去刷一下 LeetCode ,對自己提升也會比較大。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容