来自网络现在毕业很难接触到底层架构的实现,架构已经被前辈搭建好了,而且比较稳定,好像只需要学习使用即可,然后实现各种业务逻辑。好像学好一门语言(java、C、C++等)就好,而且每天也就是if else for循环,用不到什么高深的东西,刚毕业很少再去看底层的书。但是出了问题排查的时候、写代码稍微多一点儿的项目的时候就不知从何下手,别说架构设计了。远离浮躁,静下心,读一些底层经典的书,对个人职业生涯受益匪浅。可以参考我前面的文章程序员的我,应该如何学习呢?,感觉读取底层书籍的重要性。
1 计算机系统
如果对计算机系统比较了解,我们再来看现在分布式系统设计,缓存机制,是吧借鉴了计算系统的L1、L2、内存的设计机制呢?分布式文件存储,是吧和计算机系统的文件存储一致呢?
深入理解计算机系统
从程序员的视角,看计算机系统!适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。以后你才可以写出高效的代码,设计出优秀的架构,分布式系统也是遵从计算机系统设计。
UNIX环境高级编程
来自网络书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。适合经常翻阅,每次看,你对Linux,经常使用的库、工具又会有深的认识。
2 网络
每天离不开网络,底层到底如何通讯的呢?公司每天使用的系统大部分都是分布式系统,系统之间是如何交互的呢?他们底层离不开TCP/IP、UDP的网络通讯。
TCP/IP详解 卷1:协议
各种协议的理论知识,需要结合UNIX网络编程来看。
UNIX网络编程 卷1:套接字联网API&
书中的所有示例都是在UNIX系统上测试通过的真实的、可运行的代码,“学习网络编程的最好方法就是下载这些程序,对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法。”着重可以看TCP、UDP的章节,因为每天都和他们打交道。
3 数据结构算法
一个算法可能节约几台,甚至几十台机器。
编程珠玑
来自网络书的内容围绕程序设计人员面对的一系列实际问题展开。引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。
编程之美
来自网络书中题目大部分在近年的笔试、面试中出现过,或者是被微软员工热烈讨论过。从各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。
数学之美
网络把高深的数学原理讲得更加通俗易懂,让非专业读者也能领略数学的魅力。读者通过具体的例子学到的是思考问题的方式 —— 如何化繁为简,如何用数学去解决工程问题,如何跳出固有思维不断去思考创新。
网友评论