大家好,我是帅地。
好久没有给大家推荐书籍了,我一般很少给大家推荐书籍,因为自己没看过的,基本不推,只推荐我自己看过且自己自认为不错的书籍。
因为我自己本身是凭借着扎实的基础拿到大厂 offer 的,所以我一直跟大家强调基础的重要性,而且学完这些基础书籍,自己也会莫名自信,当然,不得不说,工作后,其实基础知识还是很少用到。
但这并不能阻碍我们对基础知识的学习,特别是未来要找工作面试的在校生!
今天这篇文章做了一下汇总,把自己看过的基础捋了一遍,大家以后要学某门知识时,可以来参考一波。
级别:入门
如果你认真阅读这本书,我估计一两天可能你就读完的,这算是一本入门书籍,就算你是小白,认真看,也能读懂。如书名所说,这本书主要讲解了我们平时所使用的程序,是如何在电脑中运行起来的,例如信息是如何存储的?为什么要用补码来表示二进制呢?数据如何压缩呢?等等
具体有哪些内容,大家可以去搜索这本书,然后看看目录,我这里由于篇幅原因,就不贴出来了
级别:入门
我们每时每刻都在使用网络,那么那些数据是如何在网络传递的呢?两台陌生的主机怎么就能够通过 ip 地址寻找到对方呢?为什么要有 ip 地址呢?等等
我觉得不管你是学前端,后端,还是什么岗位,都有必要了解下网络相关的知识,这本书将带你从零学习这些知识,你看这本书里面有一句话叫蹲马桶就能看懂的网络基础知识,所以呢,对于想入门的你,还是挺友好的。当然,还是那句话,自己去找目录看看。
级别:入门
这本书也挺不错,可以说也是和上面两本相辅相成,例如在《程序是怎样跑起来的》这本书中,我们知道计算机中所有的数据都是用 0 和 1 来表示的,那么计算机是如何识别 0 和 1 的呢?又是怎么做加减乘除的呢?
这本书比起上面两本,更加底层,类似于本科教学中的《计算机组成原理》,当然,《计算机组成原理》这本是被当成教材来用的,比较难读懂,而这本,则容易懂点,属于小白入门级别。
这三本书可以说是一个系列的,不过说实话,这本书我没看过,,,,不过我看了下,评价还是非常不错滴,加上三本又是一个系列,所以推荐给大家。
这本书我介绍过挺多次了,估计有些人都听烂了,不过我觉得这本书真心不错,这里再次介绍下。那么这本书于《网络是怎样连接的》有什么区别?我认为这本,算是进阶吧,当然,是相比之下算是进阶,其实它也可以当做入门的来看。
对于想学习计算机网络的,推荐这本书。
5、图解 HTTP
计算机网络那本书对于 http 并没有讲很多,例如 https 就没说,如果你想继续了解 http 的话,就可以考虑看《图解http》这本书了,居然是图解,那么将会有大量的图片,让你轻松读懂晦涩的知识点,相信你两天就能看完了,不过我建议你最好做一下笔记,不过,有些东西你很快就忘光光了,笔记面试的时候,还得要你把一些东西说出来。
级别:入门
我觉得,学点汇编语言还是非常非常有必要的,虽然你写程序的时候并没有用到汇编。
为什么呢?
我们平时使用的语言,例如 Java,C 算是高级语言,而计算机只能看到机器码,而汇编,是最接近机器码的语言了,通过学习汇编,可以让我们更加了解计算机是如何执行我们的代码的;当然,有时候对于不大理解的代码,例如 i++ 和 ++i 有什么区别,我们可以直接看看它翻译成的汇编代码,这样一目了然。
总之,学习汇编,能够让你变的更强。而王爽写的这本《汇编语言》,我觉得对于新手非常非常 nice,我最开始看学校的教材,真的是一脸懵逼,一开始就介绍一大堆概念,把我都搞晕了,直到入手了王爽写的这一本,才让我重拾信心。
不过,王爽的这本,只能算入门,学校的教材,感觉像是进阶,对于还没有学过汇编的你,推荐这本书勒,小白也能看懂,书也不厚,很快就能学完。
1、数据结构与算法分析(c 语言描述版)
级别:入门
我相信大部分人大学看的教程都是清华大学出版社严蔚敏写的那本书,说实话,作为初学者,那本书我没能坚持看下去,可能比较适合大佬看吧。我自己买了一本《数据结构与算法分析(c 语言描述版)》,挺薄的,不过感觉很棒,这本书让我学到了很多,个人感觉也挺容易懂的,代码实现是采用 C 语言来实现的,不是伪代码,如果你想学习数据结构,我觉得这本书是个不错的选择。班级里有挺多人看了《大话数据结构》,挺他们说也挺不错,不过我没看过。
2、挑战程序设计竞赛
这边书也是大一时看的,如果你想刷题,我挺推荐这本书,里面分初级、中级到高级。虽然每道题没有讲的特别详细,但当时都看懂了,真心不错。不过高级那部分我是没看,初级和中级看着挺舒服。也是学到挺多的,推荐给大家。
3、编程之美
级别:进阶
这本书,我也介绍过好几次了。这本书真心不错,题有一定的难度,这本书更加重要的是,拓展你的思路,而不是像其他算法一样,一个专题一个专题来。很多人问我刷了多少道 leetcode,其实我刷的题很少,不过我认为以刷多少道来衡量是不对的,因为有一些人可能刷的很少,不过看了很多算法书,我就属于刷的比较少,书看的多一点的那种了。
总之,学习算法,这本书挺推荐,挺有意思滴,不过不适合很多算法还没学过的新手,如果你在这方面是新手,那么可以看《图解算法》这种,当然,你如果连数据结构都没学过,那么建议你先学习数据结构,推荐《数据结构与算法分析:C语言描述版》这本书。
级别:进阶
感觉这本书也可以当做入门,也可以当做进阶,这个我也不好说,这本书主要讲解了各类算法,例如十大排序算法,各种图算法,各种树算法,各种高级的数据结构,并且使用了大量的图来帮助你理解这些算法。
不过,这本书是默认你已经懂链表,队列的,书籍主要使用 Java 代码来演示,对于那些想要学习各种经典算法的,还是挺推荐的,看完这本书,你估计再说算法方面,要强不少。
1、MySQL必知必会
MySQL 的书看的真心少,不过感觉《MySQL必知必会》讲的好不错,想学习 sql 语句的可以看看。
2、MySQL技术内幕:InnoDB存储引擎
学习MySQL,InnoDB 引擎是必须得学的,这本书讲的真心不错,讲了很多原理,例如索引、锁等相关的原理,如果说《MySQL必知必会》是入门,那么这本就是进阶了,这本书我很早就买了,不过也是最近刚看,不过我是看了极客时间的 MySQL 相关专栏再来看这本书的,感觉收获不少,推荐。
但其实我这本书没有全看,只看了索引和锁那一块,市面上关于 MySQL 的书不怎么多,这本书关于锁和索引那块。
MySQL 业界最火的可能就是《高性能MySQL》,这本书我也买了,看了一些一直没去看,好厚啊,好像80-90 买的,亏大。如果你想折腾,或许高性能这本书可以看看,不过,建议挑着看,别从头到尾看,除非你时间很多。
由于我的主要使用语言是 Java,所以 Java 这方面也是看过不少书籍,下面就介绍一些我觉得学 Java 不可错过的书籍吧。
1、Java编程思想
编程思想这本书个人感觉不错,不过不适合入门,我是看尚学堂高淇 300 集视频入门的,哔哩哔哩直接搜索就行了,说时候,讲的是非常非常不错,初学者强烈推荐这个视频。
我说了,单单视频是不够的,之后入手了《Java编程思想》这本书,不过我是挑着章节看的,看了之后,解决了非常非常多的疑惑,感觉自己对 Java 的理解更上一层楼了,不过,这本书看的时候,你可能会觉得有点啰嗦,不过没办法,国外的书籍大部分都这样,喜欢扯,不过我也是挺喜欢这种扯的,总之,强烈推荐(不建议从头看,可以挑着看)
2、Java 并发编程艺术
学编程,并发是避免不了的,我觉得《Java 并发编程艺术》这本书讲的非常不错,不过说实话,也是挺难的,我一下子就把这本书看完了,然后,看完之后感觉啥也忘了,然后第二次看的时候,感觉比第一次好挺多。总之这本书,我觉得要多看几次,你会有意外的收获。特别是后面,可能刚开始看有点懵,那是因为你菜。不过,多看几次就好了,学这本,听说应付面试也是非常不错的,推荐看。
对了,还要 《Java 并发编程实战》,也是挺不错,不过我只看了一些,感觉自己很多都懂(感觉要被打),就有点看不下去了,所以没看,你们自行选择。
3、深入理解 Java 虚拟机
呵呵,这本书,不用说,每个学 Java 的我觉得都应该看,不过我可以告诉你的是,第一遍你会看的很难受,确实挺难,比较底层。不过,想要进阶,就得要死磕,大家看的时候,有些章节可以先跳过,例如第一章。我是从第三部分的第六章开始看起的,看完再回头看前面的章节,至于为啥这样,我是在某某知识星球听大佬这样说的,所以就这样干了。总之,强烈推荐,以及多看几遍。
1、Redis开发与运维
我本人是看这本书入门 Redis 的,我觉得讲的很不错,很适合小白,如果仅仅只是为了面试,其实看这本书,也差不多了,大部分原理也都有讲。
2、Redis 设计与实现
后来为了稳一点,我有看了《Redis 设计与实现》,这本讲的深入和底层一些,看完这本,Redis 基本稳,但是嘛,其实看完上面我说的那本,其实也差不多了,你们自己选择吧。
这本书讲的是,一个网站从简单到类似与淘宝这种大型的网站,都经过那些迭代。不过讲的不深,看名字很高级,不过并不难,我觉得挺不错,感兴趣的可以看看,两天就能看完了。
一不小心已经介绍了十几本了,介绍的都是属于比较基础的书籍,我觉得打好这些基础还是挺重要的。上面的这些书,基本都是我全部看完的了,觉得真心不错,所以推荐给大家,以后再给大家推荐点高级的书哈。
作者简介:我是帅地,校招拿到过不少大厂offer,毕业去了腾讯研发岗,毕业半年整到人生第一个 100 万,目前专注于写大学规划 + 校招求职相关的内容,点击 可以了解帅地个人经历,著有个人原创网站 PlayOffer。