記錄自己面試中所遇到的所有知識(shí)點(diǎn),加強(qiáng)基礎(chǔ)才是王道?。。?/p>
一、 Java
1. Java集合
- List
- ArrayList
- LinkedList
- Map
- HashMap
- HashTable
- LinkedHashMap
- Set
- HashSet
- TreeSet
- Queue
- PriorityQueue
- ArrayDeque
2. JVM&內(nèi)存管理
3. 多線程&并發(fā)包
-
并發(fā)基礎(chǔ)知識(shí)
- 線程的狀態(tài)轉(zhuǎn)換
- CPU & 磁盤IO 的調(diào)度方式
- 新建線程的幾種方式
- 死鎖的產(chǎn)生條件和解決方法
-
- 并發(fā)容器
- ConcurrentMap
- BlockingQueue
- 鎖(Lock 接口)
- ReentrantLock
- ReadLock & WriteLock
- Volatile作用
- 線程池
- Runnable & Callable
- Future & FutureTask
- Executor & ExecutorServices 接口
- Executors
- JUC深入研究系列(可裝逼)
- 并發(fā)容器
線程和進(jìn)程的區(qū)別
線程 & 進(jìn)程同步的幾種方式
線程中斷方法及適用場(chǎng)景
Synchronizer & Lock的使用和區(qū)別
生產(chǎn)者和消費(fèi)者問(wèn)題(隊(duì)列)
4. 網(wǎng)絡(luò)編程
- Tcp 協(xié)議
- Socket 編程
- Http協(xié)議組成及狀態(tài)碼
- Https & Http 2.0
- 網(wǎng)絡(luò)協(xié)議的區(qū)別及應(yīng)用(概述)
二、Android
1. UI
- View
- 屬性動(dòng)畫 & 動(dòng)畫插值器
- RecycleView & ListView
- Scroller 完全解析
2. 常用類源碼分析
- Android 事件傳遞機(jī)制
- AsyncTask源碼分析 (缺點(diǎn))
- Handler 機(jī)制分析
- Binder
- AIDL原理 & 生成的java 都做了些什么
- Android打包過(guò)程
-
Android 顯示原理
- Vsync信號(hào)量 & 視圖緩沖顯示機(jī)制
- Choreographer 源碼分析
- 如何準(zhǔn)確評(píng)測(cè)Android應(yīng)用的流暢度?
3. 常用技能
- 性能優(yōu)化
- 內(nèi)存泄露優(yōu)化
- 界面卡頓優(yōu)化
- 網(wǎng)絡(luò)請(qǐng)求優(yōu)化(接口合并等需要后臺(tái)支持)
- 電量 & 流量消耗優(yōu)化
- 打點(diǎn)統(tǒng)計(jì) & 崩潰檢測(cè)
- 友盟統(tǒng)計(jì)
- 自己后臺(tái)(怎么上報(bào))
- Bugly & Fabric (怎么還原錯(cuò)誤棧)
- Bitmap 占用內(nèi)存計(jì)算 & 優(yōu)化
- 滑動(dòng)嵌套解決方案
4. 項(xiàng)目架構(gòu) & 解決方案
- MVP & MVVM 的優(yōu)缺點(diǎn)(怎么解決P層的生命周期問(wèn)題)
- 組件化(解決相互依賴)
- 新建項(xiàng)目怎么選擇輪子(技術(shù)棧)
- ANR 問(wèn)題怎么分析
5. 高級(jí)技術(shù)(了解)
- 插件化
- 熱更新
- 加固 & 反編譯
- NDK
三、設(shè)計(jì)模式
四、啊哈、算法
-
排序(概述)
- 快速排序
- 歸并排序
- 翻轉(zhuǎn)單鏈表
- 回形打印二維數(shù)組
- 合并兩條有序鏈表
- 查找一個(gè)數(shù)組中最長(zhǎng)遞減數(shù)組并返回
五、輪子原理
- OKHttp源碼分析(基于Okhttp 3.6)
- Butterknife原理分析
- EventBus 源碼分析
- Retrofit源碼分析
- Gilde圖片加載框架源碼分析
- RxJava& RxAndroid全家桶
六、場(chǎng)景設(shè)計(jì)
- 設(shè)計(jì)一個(gè)高可用的線程池(包含對(duì)阻塞態(tài)線程的處理)
- 設(shè)計(jì)一個(gè)圖片加載框架(Lru緩存)
- 怎么統(tǒng)計(jì)App網(wǎng)絡(luò)請(qǐng)求狀況 & 流量使用情況
七、大神博客
八、工具使用
- Charles
- Git使用
- Markdown語(yǔ)法
- Gradle高級(jí)用法(如: 差異化構(gòu)建)
- 手機(jī)開發(fā)者選項(xiàng)
- TraceView 方法性能分析
- MAT & LeakCanary 內(nèi)存泄漏分析
- 反編譯ApkTools