后端程序员进阶书单

大学里,自己能独立写出几个项目,感觉自己技术特牛逼了,相比那些认真学基础知识却没有什么项目经验的同学,心里还有丝丝优越感。工作一年多,发现正是当初的自以为是,让自己在开发中走了不少弯路,踩了不少坑。因此,结合自己的情况,我理了一个书单,准备弥补下自己的基础知识。

数据结构与算法

书名:《算法(第4版)》

作者:Robert Sedgewick / Kevin Wayne

书中介绍了基本的数据结构与算法,还具体给出了每个程序员应知应会的 50 个算法。

当然,也不能光看书,这样的话效果并不大好。看了部分内容后,可以试着去leetcode做一些算法训练,理论结合实践才能学得更好。

上面那本书偏实践一些,好处是简单好学,缺点是内容不大全,比如动态规划算法好像就没怎么提。所以看完上面一本书后,可以去看下这本书

书名:《算法导论(原书第3版)》

作者:Thomas H.Cormen / Charles E.Leiserson / Ronald L.Rivest / Clifford Stein

这本书更侧重理论一些,看完这本应该能进一步加深你对算法的认识。

操作系统

因为自己暂时不会接触操作系统相关的开发,所以只准备看下相关的基础知识,对操作系统的执行有个大致的认识即可。我选择的这本书

书名:《深入理解计算机系统(原书第3版)》

作者:Randal E.Bryant / David O'Hallaron

计算机网络

网络这块,光看书可能容易迷茫,所以能结合一些有趣的例子来学习效果会更好。因此,我准备从两个方面入手来学习:书籍和在线课程。

图书方面,我选择下面这本

书名:《TCP/IP详解 卷1:协议》

作者:W·Richard Stevens

课程方面,我订阅了极客时间里的专栏「趣谈网络协议」

当然,还是不能光看或者光听,还是要试着做一些实践。

书名:《Wireshark数据包分析实战》

作者:Chris Sanders

这本书通过一些简单的网络案例演示了使用 Wireshark 进行数据包分析的一些方法。我们可以参考例子去实操下,加深对网络知识的理解。

数据库

数据库有 SQL 和 NoSQL 两种类型,目前准备主攻下前者。

我一般接触 MySQL 较多,所以选择这本书

书名:《高性能MySQL(第3版)》

作者:Baron Schwartz / Peter Zaitsev / Vadim Tkachenko

个人觉得这本书中有一些实践例子,用于 MySQL 的进阶学习还是比较合适的。

看完后,下面这本书也值得一看

书名:《数据库系统概念(原书第6版)》

作者:braham Silberschatz / Henry F.Korth / S.Sudarshan

看完工程性的内容后,再补下理论,对数据库应该会有更全面的认识。

数据结构与算法、操作系统、计算机网络、数据库,这些知识虽说是基础,但感觉掌握的人并不是太多。如果想在技术方面有所建树,这些都是避免不了的,所以,把学习当成一种习惯吧。日积月累,总会有收获的。

这篇文章是看了极客时间陈皓的专栏「左耳听风」的一点小结,希望能帮助到有需要的伙伴。

下面贴了文中所提到的专栏邀请二维码,有需要的自行订阅。你订阅后,我有一点佣金,不过在这里推荐更多的是对专栏内容的认可,不喜请忽略。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180908G06G2W00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券