一点浅薄的经验,阅读书籍与对现实的理解是相互迭代螺旋上升的。在校学生的最大短板是对企业性质的工作没有认识,比如你说到后台开发,我们姑且认为这是指服务端开发吧,这其实是一个涵盖面很广的工种,举一些栗子:
Web服务后台开发(侧重业务建模能力)
基础设施(Infrastructure)开发(侧重高可用)
算法类(侧重效率与质量的权衡)
在线部分,如推荐引擎
离线部分,如训练模型
游戏服务器(侧重实时性与性能)
...
以上提到的侧重点并不严谨,只是作为说明。所以你看,一个后台工程师,他有很多种技能树可以点,而在校学生在有机会尝试之前是很难一概而论地通过读书来达到“高级”水平。
因此首先建议你有机会时候去公司实习,大公司,小公司,不同领域,都可以体验一下,尽早消除信息不对称。
看书的角度,只能推荐一些通用的:
不管喜欢不喜欢,接触一下*nix文化
Linux程序设计
APUE
Linux内核设计与实现
Unix网络编程
标签提到了C++,这个点知乎上太多帖子推荐了,不多说,个人觉得比较能够以点带面的书有
Effective C++
@陈硕 的 Linux多线程服务端编程
STL源码剖析
C++ Primer
Java的话,打好语言基础比较关键,设计模式什么的,光看书可能比较抽象,在工作中加强理解比较高效
Core Java
Thinking in Java
Java Concurrency in Practice
深入理解Java虚拟机
Head First 设计模式