您現在的位置是:首頁 > 手機遊戲首頁手機遊戲
後端的學習路線分享
- 2022-10-03
後端工程師需要學什麼
後端工程師初、中、高階各級別學習成長路線,以及所需要掌握瞭解的技術核心要點分享給大家,並提供相關的閱讀學習書籍參考。
對於學習的過程,除了要堅持以外,還要注重實踐和交流,交流就包括要去思考和總結,並且將其輸出出來。
1、初階
1.技術基礎
網路:DNS、TCP&IP、瀏覽器、HTTP
2.作業系統
Unix/Linux命令列:grep, awk, sed, lsof, curl, wget, tail, head, less, find, ssh, kill;正則表示式
作業系統如何執行
程序管理
執行緒與併發
3.基本前端知識
HTML、CSS、JavaScript
4.程式語言
Java, Go, Kotlin、Bash、C/C++
5.演算法與資料結構
效能分析、基本資料結構(列表、樹等)、排序、查詢、圖
6.資料庫
索引、事務、分庫分表
7.程式設計工具
版本管理:
Git、版本控制系統、程式碼託管服務
8.構建工具
Maven、Gradle
9.編輯器
VSCode、Emacs、VIM
IDE:
Intellij IDEA
10.相關學習資源
1、陳鳴譯,《計算機網路:自頂向下方法(原書第6版)》
2、龔奕利,賀蓮譯,《深入理解計算機系統(原書第3版)》
3、謝路雲譯,《演算法(第4版)》
4、陳昊鵬譯,《Java程式設計思想》
5、李道兵等譯,《Go程式設計語言》
6、《ProgrammmingKotlin》
7、劉曉霞等譯,《MySQL必知必會》
8、《Pro Git》
9、許曉斌,《Maven實戰》
10、李松峰等譯,《JavaScript高階程式設計(第3版)》
11、Cameron Newham等,《學習bash(第二版)》
2、中階
1、程式設計框架:
應用框架:spring、play網路框架:netty、持久化:MyBatis、HibernateRPC:gRPC、Dubbo
2.JVM執行系統:
類結構與位元組碼、類載入機制記憶體管理:記憶體區域與溢位、垃圾收集器與記憶體分配策略、效能監控與故障處理工具)併發:記憶體模型與執行緒、執行緒安全與鎖最佳化
3.訊息佇列:
kafka、rocketmq
4.儲存:
redis 、mysql
5.工程測試:
單元測試、整合測試、功能測試安全:OAuth、HTTPS、CORS、內容安全策略持續整合
6.相關學習資源
1、 Brian Goetz等,《Java併發程式設計實戰》
2、張衛濱譯,《Spring實戰》
3、何品譯,《Netty實戰》
4、周志明,《深入理解Java虛擬機器》
5、 Neha Narkhede等,《Kafka: The Definitive Guide》
6、黃健宏,《Redis設計與實現》
7、《計算機程式的構造和解釋》
3、高階
1.程式設計正規化
函數語言程式設計、面向物件程式設計、泛型程式設計、型別系統、裝飾器模式、代理模式
2.設計原則
DRY、KISS、S。O。L。I。D。
3.分散式系統
基礎理論:節點與網路、時間與順序、ACID、CAP/FLP/DLS、一致性理論
設計模式:閘道器模式,Gateway、邊車模式,Sidecar、服務網格,Service Mesh、防腐層,Anti-corruption Layer、分散式鎖、配置中心、非同步通訊、冪等性
彈性(容錯)設計:服務降級、服務限流、熔斷設計、補償事務、隔離設計、非同步通訊、冪等性設計、重試設計、bulkhead
工程:監控追蹤、服務/資源排程、流量控制、資料排程、開發與運維自動化、負載均衡+健康檢查、服務發現+動態路由+健康檢查、自動化運維
4.相關學習資源
1、趙軍平等譯,《資料密集型應用系統設計》
2、Marko Luksa,《Kubernetes in Action》
3、Distributed systems theory for the distributed systems engineer
4、孫宇聰譯,《SRE:Google運維解密》
5、崔力強等譯,《微服務設計》