史上最全 Android 中高級工程師面試複習大綱

概述

都說金三銀四青銅五,這幾個月份是程序員最好的跳槽時間,筆者四月初也換了工做。找工做以前看了不少面試題,複習資料,可是發現純看面試題是不行的,由於靠背的東西是記不牢的,須要知識成體系才能夠,因此筆者整理了一份複習大綱,基本涵蓋了 Android 中高級工程師面試所必須知識點,但願能夠經過此文幫助一些想換工做的朋友更好的複習,準備面試。程序員

本文只羅列出大綱內容,至於每一個模塊的詳細內容,網上不少資料,可自行查閱,後序有時間會放一些我複習時看的資料,這樣複習起來知識更成體系,事半功倍。面試

一、Java 相關

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

須要瞭解其實現原理,還要靈活運用,如:本身實現 LinkedList、兩個棧實現一個隊列,數組實現棧,隊列實現棧等。算法

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

二、Android 基礎

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

三、Android Framework

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

四、三方源碼

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

五、算法與數據結構

  1. 單鏈表:反轉、插入、刪除
  2. 雙鏈表:插入、刪除
  3. 手寫常見排序、歸併排序、堆排序
  4. 二叉樹前序、中序、後序遍歷
  5. 最大 K 問題
  6. 廣度、深度優先搜索算法
  7. 能夠去刷一下 LeetCode ,對本身提高也會比較大。
相關文章
相關標籤/搜索