以下內(nèi)容整理自一位阿里 Android 開發(fā)工程師的分享爽待,內(nèi)容是 畢業(yè)生應(yīng)該具備的技術(shù)樹 藤违,PART1
為較全面的技術(shù)樹整理粥脚,不同方向的人在這里面各有側(cè)重谍咆;PART2
為 Android 開發(fā)崗應(yīng)該具備的技術(shù)樹 ,希望對你有幫助禾锤。
PART1 較全面的技術(shù)樹
1.c/c++ 推薦閱讀書籍:
- 《c++ primer》
- 《c primer plus》
- 《effective c++》
- 《more effective c++》`
2.Java 推薦閱讀書籍:
- 《Java核心技術(shù)》卷 |、||
- 《深入理解Java虛擬機(jī)》
3.數(shù)據(jù)結(jié)構(gòu)與算法:
- 棧
- 鏈表(指針題)
- 各種排序算法以及復(fù)雜度分析
- hash算法的原理
- map的原理(hashmap摹察,treemap)
- 二叉樹恩掷、滿二叉樹、完全二叉樹供嚎、最小生成樹俯抖、Dijkstra(單源最短路徑)温峭、平衡二叉樹、紅黑樹實現(xiàn)
4.計算機(jī)網(wǎng)絡(luò):
- TCP:
《TCP/IP詳解 卷一》(網(wǎng)絡(luò)、通信嗜愈、分布式系統(tǒng)、服務(wù)器)
- HTTP:
《圖解HTTP》(web開發(fā))丁鹉、《UNIX網(wǎng)絡(luò)編程》
5.五層協(xié)議的體系結(jié)構(gòu)
- DNS的解析過程
- ping的過程
- TCP三次握手瓜贾、四次揮手
- TCP如何實現(xiàn)可靠傳輸(UDP)
- TCP擁塞控制
- TCP流量控制
- socket的使用
- HTTP、HTTPS着帽、HTTP2
6.操作系統(tǒng):
- 線程
- 進(jìn)程
- 線程同步
- 進(jìn)程間通信
- 緩存算法(LRU算法)
- 死鎖問題
- 文件系統(tǒng)
7.數(shù)據(jù)庫:
- 1NF罩阵、2NF、3NF
- sql語法與命令
- 索引的原理與作用
- 事務(wù):原子性启摄、一致性稿壁、隔離性、持久性
- 超鍵歉备、候選鍵傅是、主鍵、外鍵
8.編譯原理:
- 《龍書》《虎書》《鯨書》
- 解釋器、編譯器喧笔、虛擬機(jī)原理
- 編譯過程:詞法分析帽驯、語法分析、語義分析
9.設(shè)計模式:
- 《Head First 設(shè)計模式》
10.Linux:
- 《Linux從入門到精通》
- 《深入理解 Linux內(nèi)核》
- 《UNIX環(huán)境高級編程》
PART2 Android 技術(shù)樹:
1.基本功:
- Java书闸、數(shù)據(jù)庫尼变、操作系統(tǒng)、Android SDK
2.基礎(chǔ):
- Activity浆劲、Fragment生命周期
- 單線程模型中 Message嫌术、Handler、MessageQueue牌借、Looper 間的關(guān)系
- UI 的繪制和更新
- AsyncTask 使用場景度气、底層實現(xiàn)、優(yōu)缺點
- Activity 任務(wù)棧 和 LaunchMode
- Android 多線程間通信
- 高效可用的線程池
- 網(wǎng)絡(luò)異步加載的原理
- Android 事件傳遞
3.進(jìn)階:
- Android 系統(tǒng)架構(gòu)
- Dalvik 虛擬機(jī)
- Android 內(nèi)存回收機(jī)制
- 如何解決OOM
- 圖像緩存策略
- Android 中的設(shè)計模式
4.實戰(zhàn):
- 如何做好穩(wěn)定性
- 如何提升App性能
- 如何設(shè)計應(yīng)用啟動框架
- 如何做到業(yè)務(wù)解耦
5.流行開源庫:
- Retrofit
- leakcanary
- RxJava
- picasso/fresco
- EventBus/RxBus
- OkHttp / Volley
6.進(jìn)階書:
- 《深入理解Android內(nèi)核設(shè)計思想》
- 《Android 開發(fā)藝術(shù)探索》
- 《老羅的android之路》
7.關(guān)注:
- 標(biāo)桿公司的動態(tài):facebook膨报、google等
補充加密部分的知識點:
- RSA磷籍、MD5、BASE64现柠、對稱加密院领、非對稱加密、Https加密等