Android工程師從初級到資深所應具備的技術棧(不斷補充中)

在Android開發上也做了有些年頭了,對Android開關相關的技術有了一定的積累,不敢說有多深,總是一些經驗與體會,一個開發人員,在完成工作的同時,應該不斷完善自身,這樣才能長期保持競爭力。在技術領域,有兩個特點,一爲更新極快,二爲多年不變。都是對的,新技術更新很快,而一些原理,底層技術卻是多年不變的。技術人員在積累技術時,要多關注底層原理,而不要把主要經力放在追逐新技術上。所謂萬變不離其中,原理是相同的,明白了原理,上手新技術是相多快的。好,進入正文,以下是我自己經驗總結的Android從事者所應積累的技術棧方向(因爲我自身是做音視頻相關,也寫有部分音視頻的內容):

1.Android源碼方向:HAL、IPC、AMS、WMS、ViewRoot、Surface
    初級:系統API的使用,四大組件,View特性,Handler使用
    中級:自定義View,自定義事件處理,JNI,AIDL,Handler原理
    高級:冷啓動,插件化組件化,平臺架構
    資深:系統源碼,OAT虛擬機
2.C/C++語法
3.計算機操作系統:Linux
4.代碼的編譯、鏈接、運行,虛擬機的編譯期與運行期、Java字節碼、dex文件格式、oat文件格式、.a、.o、elf文件、.mk文件
5.多媒體技術:錄製、播放、編解碼、音視頻、圖片、mp4、H264、amr
    初級:系統API特性及使用,圖片格式特性
    中級:錄製編輯等機型適配,FFMPEG,圖片壓縮原理,SurfaceView特性
    高級:開源播放器原理,mp4格式內容,音頻編解碼原理,H264原理
6.網絡協議:TCP、UDP、HTTP、RTSP、HTTPS
    初級:HTTP使用,okhttp調用,retrofit使用,RxJava使用
    中級:HTTP各版本特性,TCP三次握手,Https原理及抓包原理,okHttp框架原理,Retrofit源碼
    高級:okHttp各攔截鏈實現原理,TCP/IP協議原理,Socket特性,流媒體協議,HTTP2.0原理
7.設計模式:代理、命令、Builder、裝飾
    初級:單例,工廠,Builder,裝飾
    中級:觀察者,命令,生產者消費者,面向接口編程
    高級:MVP,複雜架構,EventBus源碼
8.算法:紅黑樹、存儲結構--Hash、圖論、SHA-256
    初級:排序、二手查找,時間複雜度算法,空間複雜度算法,遞歸
    中級:算法歸類,減分法,分治法、散列,二叉樹遍歷,常用數據結構
    高級:圖遍歷,複雜數據結構
    資深:加密算法,壓縮算法
9.文檔:MD文檔、UML圖
10.構建與版本控制:ant、maven、gradle、svn、git
11.Java:泛型、註解、反射、GC、虛擬機、線程同步、阻塞隊列
    初級:基本性性,static,final,OOP,異常捕獲
    中級:泛型,反射,枚舉,併發應用,阻塞隊列,集合特性
    高級:併發原理,虛擬機特性,字節碼,ClassLoader,集合實現原理
    資深:JVM調優,AOP,IOC,SPI
12.數據庫:關係庫、SQL、sqlite、GreenDao
    初級:建表原則,關係模型,1、n映射
    中級:SQL,索引,表聯查,GreenDao,ORM
    高級:數據庫鎖,事務,多進程數據庫

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章