Java基礎
- Java Object類方法
- HashMap原理,Hash沖突,並發集合,線程安全集合及實現原理
- HashMap 和 HashTable 區別
- HashCode 作用,如何重載hashCode方法
- ArrayList與LinkList區別與聯系
- GC機制
- Java反射機制,Java代理模式
- Java泛型
- Synchronized原理
- Volatile實現原理
- 方法鎖、對象鎖、類鎖的意義和區別
- 線程同步的方法:Synchronized、lock、reentrantLock分析
- Java鎖的種類: 公平鎖、樂觀鎖、互斥鎖、分段鎖、偏向鎖、自旋鎖等
- ThreadLocal的原理和用法
- ThreadPool的用法和示例
- wait()和sleep()的區別
Java高階
- Java虛擬機,Java運行,Java GC機制(可達性分析法,引用計數法)
- Java對象的完整生命周期
- JVM內存模型
- 進程間通信,線程間通信
- JVM類加載機制
- Java引用類型
- 設計模式:除常用設計模式之外,特別的,反射機制,代理模式
- HTTP協議和HTTPS協議
- Socket協議,Socket實現長連接
- TCP和UDP協議
- HTTP協議中GET和POST的具體實現
- 序列化和反序列化
- 線程池的實現原理
- 數據庫基礎知識:多錶查詢、索引、數據庫事務
數據結構及算法
數據結構
- 棧和隊列
- 數組和鏈錶,自定義一個動態數組
- Hash錶,及Hash沖突的解决
- 二叉樹
- B+ B-樹
- 基礎排序算法:重點 快排、歸並排序、堆排序(大根堆、小根堆)
- 快排的優化
- 二分查找與變種二分查找
- 哈夫曼樹、紅黑樹
- 字符串操作,字符串查找,KMP算法
- 圖的BFS、DFS、prim、Dijkstra算法(高階技能)
- 經典問題:海量數據的處理 (10億個數中找出最大的10000個數 TOP K問題)
算法
Android基礎
- Application生命周期
- Android Activity生命周期
- Android Service、IntentService,Service和組件間通信
- Activity的onNewIntent
- Fragment的懶加載實現,參數傳遞與保存
- ContentProvider實例詳解
- BroadcastReceiver使用總結
- Android消息機制
- Binder機制,共享內存實現原理
- Android 事件分發機制
- Android 多線程的實現:Thread、HandlerThread、AsyncTask、IntentService、RxJava
- ActivityThread工作原理
- 嵌套滑動實現原理
- RecyclerView與ListView(緩存原理,區別聯系,優缺點)
- View的繪制原理,自定義View,自定義ViewGroup
- View、SurfaceView 與 TextureView
- 主線程Looper.loop為什麼不會造成死循環
- ViewPager的緩存實現
- requestLayout,invalidate,postInvalidate區別與聯系
- AndroidP新特性
- Android兩種虛擬機
- ADB常用命令
- Asset目錄與res目錄的區別
- Android SQLite的使用入門
最後
針對Android程序員,我這邊給大家整理了一些資料,包括不限於高級UI、性能優化、架構師課程、NDK、混合式開發(ReactNative+Weex)微信小程序、Flutter等全方面的Android進階實踐技術;希望能幫助到大家,也節省大家在網上搜索資料的時間來學習,也可以分享動態給身邊好友一起學習!
往期Android高級架構資料、源碼、筆記、視頻。高級UI、性能優化、架構師課程、混合式開發(ReactNative+Weex)全方面的Android進階實踐技術,群內還有技術大牛一起討論交流解决問題。

