概述
都說金三銀四青銅五,這幾個(gè)月份是程序員最好的跳槽時(shí)間粮呢,筆者四月初也換了工作婿失。找工作之前看了很多面試題钞艇,復(fù)習(xí)資料,但是發(fā)現(xiàn)純看面試題是不行的豪硅,因?yàn)榭勘车臇|西是記不牢的哩照,需要知識(shí)成體系才可以,所以筆者整理了一份復(fù)習(xí)大綱舟误,基本涵蓋了 Android 中高級(jí)工程師面試所必須知識(shí)點(diǎn)葡秒,希望可以通過此文幫助一些想換工作的朋友更好的復(fù)習(xí),準(zhǔn)備面試嵌溢。
本文只羅列出大綱內(nèi)容眯牧,至于每個(gè)模塊的詳細(xì)內(nèi)容,網(wǎng)上很多資料赖草,可自行查閱学少,后序有時(shí)間會(huì)放一些我復(fù)習(xí)時(shí)看的資料,這樣復(fù)習(xí)起來知識(shí)更成體系秧骑,事半功倍版确。
1、Java 相關(guān)
- 容器(HashMap乎折、HashSet绒疗、LinkedList、ArrayList骂澄、數(shù)組等)
需要了解其實(shí)現(xiàn)原理吓蘑,還要靈活運(yùn)用,如:自己實(shí)現(xiàn) LinkedList坟冲、兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列磨镶,數(shù)組實(shí)現(xiàn)棧,隊(duì)列實(shí)現(xiàn)棧等健提。
- 內(nèi)存模型
- 垃圾回收算法(JVM)
- 類加載過程(需要多看看琳猫,重在理解,對(duì)于熱修復(fù)和插件化比較重要)
- 反射
- 多線程和線程池
- HTTP私痹、HTTPS脐嫂、TCP/IP、Socket通信紊遵、三次握手四次揮手過程
- 設(shè)計(jì)模式(六大基本原則雹锣、項(xiàng)目中常用的設(shè)計(jì)模式、手寫單例等)
- 斷點(diǎn)續(xù)傳
2癞蚕、Android 基礎(chǔ)
- 自定義 View(參考鏈接:自定義View,有這一篇就夠了 - 簡(jiǎn)書辉哥、Android 自定義 View)
- 事件攔截分發(fā)(Android事件分發(fā)機(jī)制桦山,大表哥帶你慢慢深入 - 簡(jiǎn)書 )
- 解決過的一些性能問題攒射,在項(xiàng)目中的實(shí)際運(yùn)用。
- 性能優(yōu)化工具 (TraceView恒水、Systrace会放、調(diào)試 GPU 過度繪制 & GPU 呈現(xiàn)模式分析、Hierarchy Viewer钉凌、MAT咧最、Memory Monitor & Heap Viewer & Allocation Tracker 等)
-
性能優(yōu)化
(1)網(wǎng)絡(luò):API 優(yōu)化、流量?jī)?yōu)化御雕、弱網(wǎng)優(yōu)化
(2)內(nèi)存:OOM 處理矢沿、內(nèi)存泄漏、內(nèi)存檢測(cè)酸纲、分析捣鲸、Bitmap 優(yōu)化
(3)繪制
(4)電量:WeakLock 機(jī)制、JobScheduler 機(jī)制
(5)APK 瘦身
(6)內(nèi)存抖動(dòng)
(7)內(nèi)存泄漏
(8)卡頓
(9)性能優(yōu)化:布局優(yōu)化闽坡、過度渲染處理栽惶、ANR 處理、監(jiān)控疾嗅、埋點(diǎn)外厂、Crash 上傳。 - IntentService 原理及應(yīng)用
- 緩存自己如何實(shí)現(xiàn)(LRUCache 原理)
- 圖形圖像相關(guān):OpenGL ES 管線流程代承、EGL 的認(rèn)識(shí)汁蝶、Shader 相關(guān)
- SurfaceView、TextureView次泽、GLSurfaceView 區(qū)別及使用場(chǎng)景
- 動(dòng)畫穿仪、差值器、估值器(Android中的View動(dòng)畫和屬性動(dòng)畫 - 簡(jiǎn)書意荤、Android 動(dòng)畫 介紹與使用)
- MVC啊片、MVP、MVVM
- Handler玖像、ThreadLocal紫谷、AsyncTask
- Gradle(Groovy 語法、Gradle 插件開發(fā)基礎(chǔ))
- 熱修復(fù)捐寥、插件化
3笤昨、Android Framework
- AMS 、PMS
- Activity 啟動(dòng)流程
- Binder 機(jī)制(IPC握恳、AIDL 的使用)
- 為什么使用 Parcelable瞒窒,好處是什么?
- Android 圖像顯示相關(guān)流程乡洼,Vsync 信號(hào)等
4崇裁、三方源碼
- Glide :加載匕坯、緩存、LRU 算法
- EventBus
- LeakCanary
- ARouter
- 插件化(不同插件化機(jī)制原理與流派拔稳,優(yōu)缺點(diǎn)葛峻。局限性)
- 熱修復(fù)
- RXJava
- Retrofit
5、算法與數(shù)據(jù)結(jié)構(gòu)
- 單鏈表:反轉(zhuǎn)巴比、插入术奖、刪除
- 雙鏈表:插入、刪除
- 手寫常見排序轻绞、歸并排序采记、堆排序
- 二叉樹前序、中序铲球、后序遍歷
- 最大 K 問題
- 廣度挺庞、深度優(yōu)先搜索算法
- 可以去刷一下 LeetCode ,對(duì)自己提升也會(huì)比較大。