后端工程师
1.学习方向和学习方式
1.1主要学习方向
- 语言
- 数据结构和算法
- 操作系统(理论知识、Linux中的实现)
- 计算机网络(网络分层、TCP协议)
- 系统编程和网络编程(Linux/Unix的系统编程接口和网络编程模型)
1.2加分项
- 分布式系统
- 编译原理
- Functional Programming
- 云原生、容器、服务编排等
2.学习道路
2.1入门
- 《C Primer Plus》- Stephen Parata
- 《编码》- Charles Petzold
- 《计算机科学概论》- J Glenn Brookshear
2.2数据结构
- 《数据结构与算法分析(C语言描述)》- Mark Allen Weiss
2.3语言
- 《C++ Primer》- Stanley B Lippman
3.算法
- 《算法(第四版)》- Robert Sedgewick
- 《算法导论》- Thomas H Cormen/Charles E Leiserson/Ronald L Rivest/Clifford Stein
4.系统
- 《深入理解计算机系统》- Randal E Bryant/David O Hallaron
5.操作系统
- 《操作系统导论》- Remzi H ArpaciDusseau/Andrea C ArpaciDusseau
- 《Linux内核设计与实现》- Robert Love
- 《深入理解Linux内核》- (美)博韦/西斯特
6.实现一个操作系统
- 《操作系统真象还原》- 郑钢
7.培养好的C++编程习惯/巩固C++知识
- 《Effective C++》- Scott Meyers
- 《Effective Modern C++》- Scott Meyers
8.计算机网络
- 《计算机网络:自顶向下方法》- James F Kurose/Keith W Ross
- 《TCP/IP详解 卷1:协议》- Kevin R Fall/W Richard Stevens
9.系统编程和网络编程
- 《UNIX环境高级编程》- W Richard Stevens/Stephen A Rago
- 《UNIX网络编程 卷1:套接字联网API》- W Richard Stevens/Bill Fenner/ANDREW M Rudoff
- 《Linux/UNIX系统编程手册》- Michael Kerrisk
- 《Linux多线程服务端编程》- 陈硕
10.加深学习C++
- 《深度探索C++对象模型》- Stanley B Lippman
- 《STL源码剖析》-侯捷
- 《C++ Templates 英文版》- David Vandevoorde/Nicolai M Josuttis/Douglas Gregor
- 《C++ concurrency in action》
- 《剑指Offer》- 何海涛
11.工业界
11.1中间件
- 《Redis深度历险:核心原理与应用实践》- 钱文品
11.2 分布式系统
- 《数据密集型应用系统设计》- Martin Kleppmann
11.3编译器
-
《编译原理》- Alfred V Aho/Monica S Lam/Ravi Sethi/Jeffrey
-
《编译器设计》- Keith Copper/Linda Tprczon
-
《自制编译器》- 青木峰郎