您現在的位置是:首頁 > 手機遊戲首頁手機遊戲

後端的學習路線分享

簡介正則表示式作業系統如何執行程序管理執行緒與併發3.基本前端知識HTML、CSS、JavaScript4.程式語言Java, Go, Kotlin、Bash、CC++5.演算法與資料結構效能分析、基本資料結構(列表、樹等)、排序、查詢、圖6.

後端工程師需要學什麼

後端工程師初、中、高階各級別學習成長路線,以及所需要掌握瞭解的技術核心要點分享給大家,並提供相關的閱讀學習書籍參考。

對於學習的過程,除了要堅持以外,還要注重實踐和交流,交流就包括要去思考和總結,並且將其輸出出來。

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、崔力強等譯,《微服務設計》

Top