6

计算机领域推荐书籍有哪些呢?

 2 years ago
source link: https://www.zhihu.com/question/508799306
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

计算机领域推荐书籍有哪些呢?

23 个回答

专注图解计算机基础,《图解网络》和《图解系统》PDF 作者

这一个我就很有心得了,因为我大学的专业并不是计算机专业的,是电气自动化专业的,所以学校的课程并没有操作系统、计算机网络、计算机组成、数据库这类课程,但是还是会有编程课。

所以,计算机基础这些课程都是我自学过来的,期间看过了很多的书,也在中国慕课和 B 站刷过很多视频,踩过不少的坑。其实在自学过程中,最容易踩坑的地方就是不看自己当前水平,盲目跟风买那些豆瓣高分的大而全的计算机黑皮系列的书,然后学几天,就放弃了。

这些大而全的计算机黑皮书当然很经典,但是它们并不适合新人入门学习,因为这类书籍的内容都充满大量的专业术语,我们人在看到陌生又难以理解的词汇时,就会感觉很吃力,脑子看着就会很累,就会驱使你做简单和快乐的事情,比如睡觉、刷短视频、玩游戏。。。不要问我,为什么知道的那么清楚,因为我就是这么踩坑过来的。

所以,我认为学习一门学科的时候,要从最基础的书开始学起,接着搭配视频快速入门,然后再渐渐步入到这些大而全的计算机黑皮书。

接下来,推荐下我看过和在豆瓣收集的高分计算机领域的书籍:

  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 计算机组成原理
  • 数据库
  • c/++
  • java

接下来,针对每一个课程介绍一下的书。

我也整理一套系统化学习 CS 的书籍,这次分享给大家点击获取方式计算机必读书籍(含下载方式)数据结构,计算机网络,数据库,计算机组成原理,操作系统这些统统都有。

计算机网络

如果你要入门 HTTP,首先最好书籍就是《图解 HTTP》了,作者真的做到完完全全的「图解」,小林的图解功夫还是从这里偷学到不少,书籍不厚,相信优秀的你,几天就可以看完了。

如果要入门 TCP/IP 网络模型,我推荐的是《图解 TCP/IP》,这本书也是以大量的图文来介绍了 TCP/IP 网络模式的每一层,但是这个书籍的顺序不是从「应用层 —> 物理层」,而是从「物理层 -> 应用层」顺序开始讲的,这一点我觉得不太好,这样一上来就把最枯燥的部分讲了,很容易就被劝退了,所以我建议先跳过前面几个章节,先看网络层和传输层的章节,然后再回头看前面的这几个章节。

另外,你想了解网络是怎么传输,那我推荐《网络是怎样连接的》,这本书相对比较全面的把访问一个网页的发生的过程讲解了一遍,其中关于电信等运营商是怎么传输的,这部分你可以跳过,当然你感兴趣也可以看,只是我觉得没必要看。

对于 TCP/IP 网络模型深入学习的话,推荐《计算机网络 - 自顶向下方法》,这本书是从我们最熟悉 HTTP 开始说起,一层一层的说到最后物理层的,有种挖地洞的感觉,这样的内容编排顺序相对是比较合理的。

但如果要深入 TCP,前面的这些书还远远不够,赋有计算机网络圣经的之说的《TCP/IP 详解 卷一:协议》这本书,是进一步深入学习的好资料,这本书的作者用各种实验的方式来细说各种协议,尤其是 TCP 部分写的很好(我也只看了这书的 TCP 部分,嘻嘻),这本书买第一版本就好了,第二版本翻译的有问题。




我看的第一本操作系统书是《现代操作系统》,这本书也是大家力推的入门操作系统的教材,有很多常见的面试题都基本是出自这里的,比如哲学家就餐、读者写者等问题。如果单纯看书觉得比较枯燥,可以搭配 B 站清华大学操作系统课程一起学习。

华为鸿蒙操盘手陈海波大神,也出了一本新书《现代操作系统:原理与实现》,是由上海交通大学陈海波、夏虞斌领衔撰写。由浅入深介绍现代操作系统经典理论与方法,结合前沿研究与工业界实践,面向真实场景与真实问题。全新打造 ChCore 微内核系列课程实验,建立对操作系统的第一手实践经验。

推荐一个说的更细的操作系统书 —— 《操作系统导论》,这本书不仅告诉你 What,还会告诉你 How,书的内容都是循序渐进,层层递进的,阅读起来还是觉得挺有意思的,这本书的内存管理和并发这两个部分说的很棒。

这本被称为神书的《深入理解计算机系统》,豆瓣评分高达 9.8 分,这本书严格来说不算操作系统书,它是以程序员视角理解计算机系统,不只是涉及到操作系统,还涉及到了计算机组成、C 语言、汇编语言等知识,是一本综合性比较强的书。

计算机组成原理

对于初学者学计算机组成原理,我推荐两本书《计算机是怎么样跑起来》和《程序是怎么跑起来的》,这两本很薄而且图文并茂,作者都是用大白话的方式来阐述知识,这点对初学者非常友好。这两本不用 1 个月就能看完,因为在看这两本书的时候,你会看的很顺畅,相比学习的心态,你更多的是会带着「好奇心」的心态去读。

其中《程序是怎么跑起来的》是一个「微缩版本」的计算机组成原理,你可以只选择看这一本,从这本书的名字也可以知道,它是从计算机是怎么运行程序的视角来讲的,然后把涉及到的计算机硬件和它们之间是如何协作的一点一点的给大家带出来,让大家能瞬间明白这些计算机硬件的作用。这本仅仅是入门级别,主要的作用是让初学者明白计算机组成原理这门课是学什么的,以及梳理主要的知识体系,用了这本书的概念后,在去深入计算机组成的时候,就不会雨里雾里的。

另外,《编码:隐匿在计算机软硬件背后的语言》这本书也很不错,是本科普类的书,非常适合非科班的同学,主要讲是计算机工作的原理(二进制编码、加减法运算、计算机部件、浮点数定点数、处理器等),也就是跟计组息息相关的知识,它的内容很有趣味性,并不想教科书那样晦涩难懂,丝毫不会让你感到生硬,读起来很畅快。

计算机组成大部分人会认为是硬件开发的人才需要接触,软件开发的人不用了解,我觉得这个观点是不对的,你写的程序也是运行在计算机上的,并且实际上计算机组成原理有些知识还是跟软件有关系的,那就有一本很适合软件开发人员了解的书 —— 《计算机组成与设计 硬件/软件接口




数据结构与算法

数据结构与算法尤其重要呀,校招大厂就特别爱考察,还没练起算法的同学,抓紧啦!

Mysql 两本高分的书。



Redis 两本高分的书。



小林虽然不是搞 Java 的,但是请教了搞 Java 大佬,我把他推荐的书也放在这啦,Java 同学可以参考参考。

C/C++

对于想入门 C 语言的同学,可以看看这本黑皮经典书籍。

C++ 最好的入门书,就是这本了。

入门完 C++ 下,我们也不能停下脚步,快马加鞭进入进阶的节奏。



Linux

Linux 命令入门的好书,跟着鸟叔一起敲 Linux 命令,很快就能入门了。

熟悉了 Linux 命令后,我们就从编程的角度来学习 Linux,这里有几本好书。

什么?你还想再深入 Linux 系统,那就来啃 Linux 内核代码吧,保证你对操作系统由有新的认识。

其他还有推荐的,评论区欢迎推荐呀

华中科技大学 计算机应用硕士

读书是世界上性价比最高的成长方式,书很便宜但分量很重,是让我们摆脱平庸走向卓越的方式之一。

冯仑也有一句金句:学先进傍大款走正道。冯仑说的学先进其实就是读书!

关于读书,我有一个建议:如果是要获得专业上的成长,建议挑选几本好书反复读。如果是要获得人生认知、格局的成长,建议泛读、通读,在这个基础上挑出适合你的经典,再精读。

给大家推荐一波我读过的经典计算机书籍,希望对大家有帮助,贪多嚼不烂,只推荐最经典的10本:

1、Web性能权威指南——无论是前后端开发,还是想做架构师,这本书都值得看。要知道速度是互联网的关键,而这本书的重点,就是教你如何优化网站和App的运行速度。

2、算法导论——算法是区隔普通程序员和高级程序员的最佳方式之一,别说你工作中用不到,如果你写的是核心模块,对运行效率有要求的那种,不懂算法,你连如何降低时间复杂度都不会。

一句话总结:假如日后有一天遇到某些复杂场景的需求或者性能瓶颈,一定会感谢你自己曾经读过算法导论。

不过,这本书不适合初学者,如果你是初学者,推荐看看《大话数据结构》。

3、现代操作系统——最近很多小伙伴问操作系统该怎么学,如果想先掌握概念和理论,来一个全貌的认知,那看这本书就对了。

4、性能之巅——想洞悉系统运作的方式?想学习分析和提高系统与应用程序性能的方法?那看看这本巨作吧。

5、高性能MySql——MySql基本属于通用技能了,这本书就是提升MySql内功的不二选择,英语能力强的,建议直接看英文原版。

6、TCP/IP详解——这是一个系列书籍,不用说太多,认真读完之后,你的网络基础将无比夯实,经典中的战斗机。

不过、不过,这本书翻译真的烂啊,5秒钟都能翻译成5分钟,英语能力强的,一定一定看原版。

7、重构——重构,说白了就是在不改变外部行为的前提下,有条不紊地改善代码。这个能力真的相当重要!

旧文也写过,刚去360就接受了一个几十万行代码量的超级烂摊子,这是一个前任领导留下的屎堆起来的一个克苏鲁缝合怪,看起来摇摇欲坠,有无数的虫子爬来爬去。但勉强堆起了山一样的形体,蠕动着为老板赚钱。

当年我就是一边看这本书,一边用吃屎一般的心情完成整个重构过程的:用时3个月,重构了所有核心设计,同时发了N个线上版本。

8、代码整洁之道——写代码从来是个艺术活,可很多人把它干成了脏活累活苦活,并真的把自己当成「码农」了,这些同学真应该看看这本书。

我一直认为,要成为优秀的程序员,必须对代码之美有洁癖一般的追求,有时候你要把代码当作艺术品。看完「代码整洁之道」相信你也会有类似感悟。

9、人月神话——这本书能让你了解敏捷开发,也能让你对软件开发流程和项目管理有深度的认知,特别适合技术管理岗或者立志要做管理的同学阅读。

10、代码之外的世界——一名成功的软件开发人员,不能只编写代码,还要有精彩的人生。

这本书主要在传授道,而非术。全书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,通过阅读它,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。

另外,以上10本书我整理了下,同时我把大学和工作中用的经典电子书库(包含数据结构、操作系统、C++/C、网络经典、前端编程经典、Java相关、程序员认知、职场发展)、面试找工作的资料汇总都打包放在这了,点击下方可以直接获取:

这套资源可不是一般那种网上找的资源,是伴随我从学生一路成长为腾讯高级开发工程师,360技术经理、360技术总监、中小公司CTO的打包全套!非常宝贵!

以上10本经典技术书籍,推荐完毕,再唠叨几句:看书除了要看,还要动手,对于技术书籍来说,书上的习题一定要动手实践。

人生有三个最大错觉:她喜欢我、手机震动、我能反杀,对于学计算机的同学们和程序员来说,还要加一个:有思路我就能做出来。

动手最起码有以下几点好处:

1.真正理解看过的书和知识

这就跟我们小时候背课文最后必须默写下一个道理,纸上得来终觉浅,需知此事要躬行。自己写出来的感觉就完全不一样了,它代表了真正的理解和深度的认知。

脑补和代码真实跑起来完全是两码事,细节是魔鬼,那些微小的细节恰恰是你以为理解其实没理解的东西。

2.增强动手能力,消除编程恐惧症

不动手的计算机学生或者程序员,对编辑器比如vi、vs,对代码托管工具比如github、svn等等,都会充满恐惧。

别不信,曾经我招过一个985硕士毕业的小孩,刚进我们组的时候,打开编辑器都颤颤巍巍的,遇见build不过就慌神了,到处问,完全没有自己解决问题的能力。

后来我俩长谈了一次,我才知道:他读书期间只会看书学习,都很少上机。

3.积累代码库

是的,动手写代码还可以帮你积累自己的代码库,这就跟滚雪球一样,越早启动最后滚的越大。

很多技术大牛都有自己的代码库,是多年动手实践的结晶,题主如果从大学就开始积累,自然能跑得更快。

4.锻炼debug能力

动手编写习题代码,最终你的程序得跑起来吧?跑起来就一定会有各种稀奇古怪的bug,debug的过程真的是精华,是程序员成长的利器。

还有一个事实:没有一万行代码量,你很难入门计算机,没有十万行代码量,你很难成为计算机领域的专家。

希望大家都能在编码世界里,一码平川。

另外,对于计算机专业的学生和程序员来说,算法非常重要,不说在工作中遇到性能卡点问题就需要算法,大厂面试过程算法都是必考的,甚至会要求你手写。

程序员要想进大厂先从刷算法做起是个好方法,算法厉害的人进大厂非常容易,这里送一本阿里P8撰写的算法刷题笔记,身边不少朋友通过它加入大厂:

看看这本书的目录和排版!相当经典!

祝大家前程似锦,在编码的道路上一马平川。

码字不易,硬核码字更难,希望大家不要吝啬自己的鼓励,给我 :

@findyi

一个点赞,鼓励下我

华中科技大学 计算机应用技术硕士

编程话题下的万粉万赞答主来了~精华可以先看目录~

本回答不仅推荐书籍,还会告诉你学习顺序,基本算是保姆级教程。

回答很长,建议先点赞&收藏,防止迷路~

(一)C语言

如果是零基础的纯小白,不建议上来就啃书,可以先从视频课程入门。

推荐中国大学慕课上翁恺老师的2门C语言课程:

程序设计入门--C语言_浙江大学_中国大学MOOC(慕课)

C语言程序设计进阶_浙江大学_中国大学MOOC(慕课)

再推荐3本书,难度依次递增。

1、难度较小的推荐啊哈!C语言

简单易懂,初中生都能学会,很适合零基础的小伙伴入门,准大一新生可以利用暑假提前预习下。

2、难度中等的推荐《C Primer Plus》

也是C语言书最好的入门书籍之一,0基础完全可以,比较权威。

可以说是满分入门书籍,内容循序渐进,这本书重要的不止是让你学会了C语言,更重要的是能够锻炼你的编程思想,这对以后的学习很有帮助。

3、有能力的可以看《C 程序设计语言》

这本属于比较进阶的,不太适合小白。

作者是C语言之父,相当经典,“hello,World"程序就是由本书首次引入的。

这本书一定要啃下来!这本书一定要啃下来!这本书啃下来C语言就基本上没问题了。

再来唠叨2句,有些书籍最好不要买,比如21天精通XXX,完全就是割韭菜的。

学习计算机一定不要想着速成,没有什么捷径和超能力。要下苦功夫去啃那些经典书和源码,然后自己动手写,所有技术大佬都是一行行代码敲,一本本书啃出来的。

我看过的书籍里的一部分

我在大学期间,为了把专业学好,看了大量经典的专业书籍,整理了这份计算机必读的高分经典书籍

需要的戳下面链接下载

这份书单对于CS学习的同学帮助非常大且十分系统,这些书籍的电子版已经整理好了。

需要的直接戳这里领计算机必看经典书籍(附pdf下载),请注意查收~

(二)C++

C++是非常难掌握的一门语言,想学好,需要花很大的精力。

下面说下我自己对如何学C++的一点看法。

首先,可以找一本稍微薄一点的书入门,经典的有《Essential C++》。掌握基本的语法和概念,对C++有一个初步的认识。

然后,就可以看《C++ Primer》了,这本书强烈推荐。这本书有点厚,需要耐心。一定要认真读完,并且尽量实现一些例子,自己动手去写,去debug。这本书吃透C++的基础基本掌握了,编写常用的程序不是问题。

接下来可以进阶了。面向对象程序设计,侯捷翻译的《深度探索C++对象模型》必读。这本书讲的是底层编译器C++面向对象 的实现原理,继承、虚函数等等的机制。这本书比较有难度,个人认为需要至少读2遍

然后是Effective C++,讲了55条准则,提高C++编程质量的。如果有一定的C++开发经验,读起来更有感触。

关于泛型编程,可以先读《C++标准程序库》,对STL有个基本认识,学会使用。

然后可以去研究stl源码,侯捷的《STL源码剖析》值得推荐。源码面前,了无秘密。阅读经典源码往往能获得很大的收获。

如果有精力,可以再学学boost库,号称准标准。

到这里,你的C++入门到进阶之路就基本完成了。

(三)Java

入门书籍1-《head first java》

首推《Head First Java》,这本书相比常见的另外两本书《Java编程思想》和《Java核心技术》,偏趣味性,语言也比较轻松,能将高深的知识讲的浅显易懂,不会让人觉得枯燥无味

另外2本书大块头,部分章节比较枯燥难以理解,容易让初学者钻进去出不来。

入门书籍2-《Java并发编程实战

要写出工业级的代码,必然和并发脱离不了干系。程序员面试,并发也是必考知识点之一

书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。

进阶书籍1-《深入理解Java虚拟机》

作为Java程序员,不懂JVM是不行的。

本书详细讲解了类加载、java内存原理、垃圾回收机制等知识。只有掌握了JVM,才能在实际生产环境遇到线上问题如GC频率过高、内存溢出等应对自如、还有应用系统JVM参数合理配置。

本书是JVM公认的推荐好书,是Java进阶必看书籍

进阶书籍2-《Java性能权威指南

市面上专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。

通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。

进阶书籍3-《大话设计模式

如果以前未接触过面向对象程序设计,那么本书必读,毕竟面向对象程序设计和C语言中面向过程设计有很大的不同。

分布式书单推荐-《数据密集型应用系统设计

吐血推荐,本书豆瓣评分9.7分,堪称分布式领域圣经,本人非常后悔没有更早的阅读本书

本书并没有局限于那种分布式框架,而是着重讲解分布式整体架构设计理念和基础知识。

作者水平非常高,本书广度非常大(诚然并不是很深,要在一本书里将那么多知识深度讲解也是不可能的),深入浅出,大家不用担心晦涩难懂(在这里更加推荐英文基础好的话直接读英文原版)。

书中有大量插图,将分布式系统高深的技术形象生动的描述,通俗易懂,比如下图是讲数据库多副本 并发写的问题的:

而且我昨天刚写了一个类似的回答,刚发出去不到1天的时间就获得了700+点赞和2000+收藏,说明这本书推荐得非常正确,评论区也全部都是好评。

数据库-《高性能MySQL》

本书深度讲解了mysql引擎架构、索引设计、SQL查询优化的实战技巧、复制、分片等原理,还有运维技能。适合精读。

(四)计算机基础

基础课程推荐的视频课程和书籍有:

1、操作系统

①MIT6.268

课程官网:https://pdos.csail.mit.edu/6.828/2018/schedule.html

网友的一些homework实现:
https://github.com/SmallPond/MIT6.828_OS/tree/master/xv6-public

MIT6.828 是一门公认的硬核课程,一直以来都有很高的知名度,也广受好评,是理论与实践相结合的经典

建议是在上过学校的OS课,或者阅读过操作系统导论类再来学习这门课。最好在开始之前熟悉C和汇编,也对计算机组成有一定了解。

然后只要你跟着项目一步一步走,做完 6 个实验,就能实现一个简单的操作系统内核。

lab是这门课的重点:

  • Lab1: C, Assembly, Tools, and Bootstrapping. 熟悉课程使用的工具qemu,C语言,以及汇编。讲解了bootstrapping:从计算机从通电,到开始运行操作系统,这个过程中发生了什么。
  • Lab2: Memory management. 实现虚拟内存,分页机制。
  • Lab3: User-level Environments. 实现进程管理,中断机制(interrupt),系统调用(system call),缺页处理(page fault handling)等。
  • Lab4: Preemptive Multitasking. 实现多CPU的支持,Round-Robin进程调度,Copy-on-Write机制,抢占式多任务(preemptive multitasking), 进程间通信(IPC)。
  • Lab5: File system, spawn, and sh. 实现文件系统,完善sh。
  • Lab6: Networking. 实现网络功能。

②国内哈工大的操作系统实验课
https://github.com/hoverwinter/HIT-OSLab

2、计算机网络

推荐standford课程cs144结合书籍计算机网络:自顶向下方法

课程链接:

https://www.scs.stanford.edu/10au-cs144/

https://cs144.github.io/

书籍选择《计算机网络:自顶向下方法》,豆瓣评分9.3分

这位知乎大佬 @胡津铭 有一个专栏讲如何自己实现一个TCP,强烈推荐:
https://zhuanlan.zhihu.com/p/175998415

如果想找一本简单的入门书籍,推荐图解TCP/IP》。

实战的话推荐《Wireshark网络分析就这么简单》,可以亲手尝试抓包分析数据报文的信息。

3、数据库

① standford CS145/CS245/CS346逐步递进的学习

课程链接:
CS145:Introduction to Databases Course Information
https://cs145-fa20.github.io/
http://infolab.stanford.edu/~junyang/cs145/info.html

CS245:Principles of Data-Intensive Systems
https://web.stanford.edu/class/cs245/

CS346:Database System Implementation
https://web.stanford.edu/class/cs346/2015/

②伯克利的数据库导论
https://www2.eecs.berkeley.edu/Courses/CS186/

③CMU的数据库系统

数据库系统设计域实现,涵盖数据模型、存储模型、查询语言、存储架构、事务处理、恢复、并发架构等等,并结合开源和商业数据库给出案例讲解。
https://15445.courses.cs.cmu.edu/fall2020/

④书籍推荐数据库系统概念

4、数据结构与算法设计

①MIT 6.006 Introduction to Algorithms

MIT 6.006 是经典的数据结构和算法入门课程,涉及到排序、哈希、图论、动态规划。Lecture非常翔实,伪代码可读性强,在辅以专门的practice,用py实现的。

课程链接:
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/

②书籍推荐《算法》,豆瓣评分9.4分。

内容全,源码示例多。

比如普林斯顿大学教材使用的就是这本书,然后有配套的教程网站,上面有很多文档和demo:
https://algs4.cs.princeton.edu/lectures/

视频:
https://www.youtube.com/watch?v=1QZDe28peZk&list=PLRdD1c6QbAqJn0606RlOR6T3yUqFWKwmX

建议通过可视化的方式学习算法和数据结构,能很容易看出其基本原理、各种操作是怎么实现的。

数据结构和算法可视化学习网站这里强烈推荐:
visualgo:
https://visualgo.net/zh
Data Structure Visualizations:
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

5、计算机组成原理

国外大学是怎么学习计算机组成原理的-
https://www.zhihu.com/question/38838088

http://www.cs.cmu.edu/~213/
http://web.stanford.edu/class/cs107/

关于公开课,更多的可以参考这个github项目,维护了众多推荐的公开课程资源:(star 14K)
https://github.com/ForrestKnight/open-source-cs/blob/master/README.md
老外OSSU组织总结的自学计算机学习路径,star 92K:
https://github.com/ossu/compute

希望本回答能对你有所帮助~

入门和学习计算机,应该看哪些书籍?哪些书籍通俗易懂?哪些书籍条例清晰?等等等等

最终目的:学以致用 融会贯通

寿司在这里就给计算机相关领域的友友列出了涉及到计算机系统、计算机组成原理、算法与数据结构、计算机网络、数据库系统和原理、C++编程语言、python、Java、编程范式、软件开发、web框架、网站技术架构等相关推荐书籍,附带书籍评分、内容概述、评价等等,希望对你们能有所帮助!

话不赘述,直接上清单吧:

1、《深入理解计算机系统 原书第3版》【涉及计算机系统】

豆瓣评分:9.8分

本书的最大特点就是从程序员的视角描述了计算机系统的本质概念及其实现,从最底层的数据在内存中的表示到流水线指令的构成,以及虚拟存储器,编译系统,动态加载库,到最后的用户态应用等。书中也提供了大量的例子和习题练习,可助读者加深对文中概念和知识的深度理解。

部分相关热评:

2、《计算机程序的构造和解释》【涉及计算机组成原理方面】

豆瓣评分:9.5分

这本书也是美国麻省理工学院(MIT)多年使用的教材。书中讲了从数据抽象、过程抽象、迭代、高阶函数等编程和控制习题复杂性的思想,以及到数据结构和算法、编译器/解释器、程序语言设计等内容。

部分相关热评:

3. 《算法导论 原书第3版》、《算法分析导论》【涉及算法与数据结构方面】

《算法导论》豆瓣评分:9.3分

《算法分析导论》豆瓣评分:8.0分

《算法导论》这本书可以说是MIT的经典算法教材,其内容对于算法的描述和分析可以说是深入浅出,十分到位,本书在算法类书中,占据着相当靠前的地位;

《算法分析导论》这本书主要阐述了用于算法数学分析的主要方法,其所涉及的材料来自经典数学课题,包括了离散数学、初等实分析、组合数学,以及来自经典的计算机科学课题,包括算法和数据结构,其内容集中也覆盖了基础、重要和许多有趣的算法,前面侧重数学,后面也集中讨论了算法分析的应用,重点是算法分析的数学方法。每章也包含了大量习题以及参考文献,还是相当不错的。

《算法导论》部分相关热评:

4、《计算机网络自顶向下方法 第7版》【计算机网络参考教材】

豆瓣评分:9.4分

本书也作为研究生“计算机网络”课程的参考教材,是业界中最为经典的计网教材之一,非常适用于从事网络技术和相关专业研究领域的人阅读。第7版也保持了以前版本的特色,继续关注因特网和计算机网络的现代处理方式,注重原理和实践,为计算机网络教学提供一种新颖和与时俱进的方法。

部分相关热评:

4. 《MYSQL必知必会》《数据库系统概念第六版》【涉及数据库系统和原理】

豆瓣评分:8.4

MYSQL作为一种关系型数据库管理系统,同时也是世界上最受欢迎的数据库管理系统之一。这两本书中,第一本《MYSQL必知必会》可以说清楚的讲解了MYSQL从简单到复杂的内容,例如检点的数据检索再到联结的使用、子查询、正则表达式和基于全文本搜索、存储过程等。文章内容突出重点、条理清晰;第二本《数据库系统概念第六版》也是数据库系统方面的经典教材之一,也被国内外多所知名大学作为授课教材以及研究生指定参考教材使用。其内容也是深入浅出,不仅讲述数据库系统基本概念,也讲述了数据库技术的新发展。

《Mysql必知必会》部分相关热评:

5. 《C++ Primer 中文版第5版》【C++编程语言】

豆瓣评分:9.4分

这本书是C++编程语言的经典教程,其中所囊括的所有案例都是采用C++11标准来改写,非常适合入门学徒,同时也是程序员升级中、高的必读经典书籍。

部分相关热评:

6. 《Python Cookbook中文版第3版》【Python 3】

豆瓣评分:9.4分

这本书是入门Python的经典读物,它介绍了Python在各领域所应用时所涉及的一些使用技巧和方法。同时它也覆盖有数据结构和算法、字符串和文本、日期和时间、迭代器和生成器、文件和I/O、数据表吗与处理、函数、类与对象、猿编程、网络和Web编程、并发、应用脚本和系统管理、C语言拓展等等。

部分相关热评:

7. 《Java编程思想第4版》、《深入理解Java 虚拟机:JVM高级特性与最佳实践第2版》

【Java推荐书】

《Java编程思想第4版》豆瓣评分:9.1分

《深入理解Java 虚拟机:JVM高级特性与最佳实践第2版》 豆瓣评分:9.0分

《Java编程思想第4版》这本书也被很多高校拿来作为讲授面向对象程序设计语言以及Java语言的教材和参考书。它包括了操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、Java I/O系统、并发以及图形化用户界面等内容,不仅囊括了Java语言基础语法,也内含其高级特性;

《深入理解Java 虚拟机:JVM高级特性与最佳实践第2版》这本书是整个Java图书领域公认的经典著作和超级畅销书,其内容共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。

《Java编程思想第4版》部分相关热评:

《深入理解Java 虚拟机:JVM高级特性与最佳实践第2版》部分相关热评:

8. 《Head First 设计模式》、《七周七语言:理解多种编程范型》【编程范式】

《Head First 设计模式》豆瓣评分:9.2分

《七周七语言——理解多种编程范型》豆瓣评分:8.1分

《Head First 设计模式》这本书每个章节都会介绍一些涉及模式,全书也覆盖了四人组版本全部23个设计模式;

《七周七语言:理解多种编程范型》这本书主要介绍了七种语言,即:Ruby、Io、Prolog、Scala、Erlang、Clojure、Haskell 。

《Head First 设计模式》部分相关热评:

《七周七语言:理解多种编程范型》部分相关热评:

9. 《敏捷软件开发:原则、模式与实践》、《重构:改善既有代码的设计》【涉及开发类】

《敏捷软件开发:原则、模式与实践》豆瓣评分:9.0分

重构——改善既有代码的设计》豆瓣评分:9.0分

《敏捷软件开发:原则、模式与实践》这本书主要通过真实的案例来讲解面对对象设计的基本原则、重要设计模式、UML和敏捷方法等;

《重构:改善既有代码的设计》这本书解释了重构原理和最佳实践方法,也指出了应该在什么情况下开始挖掘自己的代码去寻求改善。

《敏捷软件开发:原则、模式与实践》部分相关热评:

《重构:改善既有代码的设计》部分相关热评:

10. 《Spring实战第4版》【涉及Web框架】

豆瓣评分:8.3分

这本书可作为Spring入门学习指南,也适用于具有一定Java编程基础、从事软件开发与测试的人儿。其第1部分介绍Spring框架的核心知识。第2部分在此基础上介绍了如何使用Spring构建Web应用程序。第3部分告别前端,介绍了如何在应用程序的后端使用Spring。第四部分描述了如何使用Spring与其他的应用和服务进行集成。

部分相关热评:

v2-a419b37c387be98ecfe781b134219736_720w.jpg?source=1940ef5c

11. 《大型网站技术架构:核心原理与案例分析》【涉及网站技术架构】

豆瓣评分:7.9分

v2-8282a9d51cc43110a4abefded2bf326f_720w.jpg?source=1940ef5c

这本书主要通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。

部分相关热评:

v2-d24502344e873d2b9c78b13245bf6031_720w.jpg?source=1940ef5c

当然,每个人都有适合自己的读书习惯,也不排除还有其它很多相关的好书籍,小苏以上列举的推荐书目清单大伙可按需去做选择性阅读哒!

希望大家最后都能学以致用,融会贯通,成为行业佼佼者!

v2-62177e2d1617948711d3ba8d8d85dabf_720w.jpg?source=1940ef5c更多资料干货、经验分享、考情讯息等,请关注

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK