更新于2.13

这个问题简直是为我量身定做的,我也是非科班的程序员,因为我在大学学的是电信专业,后来跨专业考研学的是软件工程。研究生期间主要也是自学Java后端技术,所以你这个问题我觉得我还是很有发言权的。

前几个月刚刚参加秋招,毕业后即将去阿里工作,这个问题曾经也非常困扰我,因为我不知道该去看哪些书,才能够打好计算机基础。

很多朋友在留言表示我推荐的书太难,太多,我也可以理解。毕竟这个书单是基于我自己认知基础来进行推荐的,不一定适合所有人。

书是读不完的,但是知识可以是自己的,选择适合你自己的书单,可能是最佳的解决方案。

晒一下我的书架吧,基本上把我两年多时间买的书都摆上去了,确实有很多没机会看完的书,但是大部分都是不错的书,相比于这个书架上的书,你是不是觉得我推荐的书单已经算是很少了呢。


文中提到的技术书籍PDF版,全都可以到我公众号【程序员黄小斜】回复“书单”免费领取


在两年的研究生学习历程中我看了很多的书,其中不乏XXX入门到精通,XXX王者归来,XXX指南什么的。

虽然这类书确实毛病很多,但是作为非科班的我来说,当时还是看的津津有味。直到后来我看到一些优秀的书籍,以及一位大佬:江南白衣的书架,我才逐渐认识到看一些精品书籍的好处。

所以我们今天就从这些精品书籍中挑选一些优秀书籍来推荐给大家,当然其中有一些书我自己也没有时间看完。

接下来我会按照Java后端技术栈各个部分的内容来推荐书籍。

网络

1 TCP/IP卷一


这本其实我刚开始没看太懂,可能是当时太水的原因,但是一般是大牛力荐的书。

2 计算机网络:自顶向下


这本从应用层讲到物理层,感觉这种方式学起来更轻松,我比较推荐小白看这本。

3 图解HTTP和图解TCP/IP


相较于前两本大厚书,这两本书更加亲民,小白可以买来看看,还是很适合入门的。

4 计算机网络


没错,就是这本教材,作为非科班选手自己看这本书,那叫一个欲仙欲死啊,看完就忘记了。

操作系统

1 深入理解计算机系统


这本书不是严格意义上的操作系统书籍,而是对计算机基础和操作系统做了一个串联,可以解决你很多对于计算机的疑惑,并且对操作系统有一定理解。

其实这本书还是很厚的,有一定难度,建议有一些基础后再看。

2 现代操作系统


这本书其实我没怎么看,比较详细地讲解了操作系,但是也是大家都比较推崇的书,还是那句话,很厚,慎看。

3 Linux内核设计与实现


当你对操作系统有一定理解以后,这本书将为你打开学习Linux内核的大门,当然在此之前你得有一定的c语言开发能力,以及对Linux的了解。反正,我现在还没开始准备好看这本书。

4 Unix网络编程


这两本书的厚度绝对让你感到绝望,其实就是讲解了Unix内核是如何实现网络通信的,其中涉及到很多网络,操作系统的知识,并且你要熟悉c语言。总之,这是一本奉为网络编程神书的存在,不过我等新手还是拿他压压泡面就好了。

网上有很多博客会参照该书的内容,可以去看看它们。

数据结构与算法

不瞒你说,由于我非科班,所以算法基础比较差,数据结构是考研时跟着天勤考研指南学的,学习算法也是一路坎坷,举步维艰。还是分享几本比较靠谱的书吧。

1 算法导论


你问我是不是认真的,我就是说说而已,这本书我买来没看过。

2 数据结构与算法(Java版)


这本书对于初学者来说还是比较友好的,当然学Java的看这本。

3 算法图解,啊哈算法


这两部书籍非常适合学习算法的入门,前者主要用图解的形式覆盖了大部分常用算法,包括dp,贪心等等,可以作为入门书,后者则把很多常用算法都进行了实现,包括搜索,图,树等一些比较高级的常用算法。

4 剑指offer


这本书还是要强烈推荐的,毕竟是面试题经常参考的书籍,当然最好有前面基本的铺垫再看,可能收获更大,这本书在面试之前一般都要嚼烂。

5 LeetCode

这不是一本书,是一个题库,算法么,终究还是要靠刷题来提升熟练度的。

文中提到的技术书籍PDF版,全都可以到我公众号【程序员黄小斜】回复“书单”免费领取


若觉有用,请点赞支持下丫,给我提供更多干货的动力~

我的其它回答可能对你有很大帮助:

本科生如何才能进入腾讯,阿里等一流的互联网公司?(9K 赞同,26K 收藏)

一毕业就能进阿里的人有多厉害?(7K 赞同,17K 收藏)

搞 Java 的年薪 40W 是什么水平?(8K赞同,30K收藏)

Java学到什么程度才能叫精通?(3K 赞同,10K 收藏)

你考研到底是为了什么?(3K 赞同,5K 收藏)

—————————————–我是分割线————————————-

PS:私信很多,因知乎不常上,有事可以来公众号找我

1、点赞、关注、支持一下我的回答8,收藏数是点赞数3倍真的扎心哇

2、关注公众号「程序员黄小斜」(ID :AntCoder)回复“联系方式“可以直接找到我。

最后再送个福利,公众号「程序员黄小斜」后台:

回复【2019】,送我整理一年的3T技术学习资料,包含各大技术方向,从入门到进阶。
回复【PDF】,送你《全网最火的Java程序员面试宝典》(263页)
回复【书单】,送你《Java工程师必备书单》电子书合集
回复【架构师】,送你一套Java架构师视频教程,程序员进阶必备。
回复【校招】,送你程序员校招必备的视频资料,包括算法刷题、项目课、面试课等内容。
回复【考研】,送你计算机考研必备的复习资料,包括公共课和专业课,以及名校计算机教程。

▼都看到这里,不点个赞就说不过去了~

文章来源于互联网:非科班的Java程序员该如何补充计算机基础知识,需要看哪些书?

发表评论