帥地這些年看過的書
大家好,我是帥地。
好久沒有給大家推薦書籍了,我一般很少給大家推薦書籍,因?yàn)樽约簺]看過的,基本不推,只推薦我自己看過且自己自認(rèn)為不錯(cuò)的書籍。
因?yàn)槲易约罕旧硎菓{借著扎實(shí)的基礎(chǔ)拿到大廠 offer 的,所以我一直跟大家強(qiáng)調(diào)基礎(chǔ)的重要性,而且學(xué)完這些基礎(chǔ)書籍,自己也會(huì)莫名自信,當(dāng)然,不得不說,工作后,其實(shí)基礎(chǔ)知識(shí)還是很少用到。
但這并不能阻礙我們對(duì)基礎(chǔ)知識(shí)的學(xué)習(xí),特別是未來要找工作面試的在校生!
今天這篇文章做了一下匯總,把自己看過的基礎(chǔ)捋了一遍,大家以后要學(xué)某門知識(shí)時(shí),可以來參考一波。
一、計(jì)算機(jī)基礎(chǔ)
1、程序是怎樣跑起來的

級(jí)別:入門
如果你認(rèn)真閱讀這本書,我估計(jì)一兩天可能你就讀完的,這算是一本入門書籍,就算你是小白,認(rèn)真看,也能讀懂。如書名所說,這本書主要講解了我們平時(shí)所使用的程序,是如何在電腦中運(yùn)行起來的,例如信息是如何存儲(chǔ)的?為什么要用補(bǔ)碼來表示二進(jìn)制呢?數(shù)據(jù)如何壓縮呢?等等
具體有哪些內(nèi)容,大家可以去搜索這本書,然后看看目錄,我這里由于篇幅原因,就不貼出來了
2、網(wǎng)絡(luò)是怎樣連接的

級(jí)別:入門
我們每時(shí)每刻都在使用網(wǎng)絡(luò),那么那些數(shù)據(jù)是如何在網(wǎng)絡(luò)傳遞的呢?兩臺(tái)陌生的主機(jī)怎么就能夠通過 ip 地址尋找到對(duì)方呢?為什么要有 ip 地址呢?等等
我覺得不管你是學(xué)前端,后端,還是什么崗位,都有必要了解下網(wǎng)絡(luò)相關(guān)的知識(shí),這本書將帶你從零學(xué)習(xí)這些知識(shí),你看這本書里面有一句話叫蹲馬桶就能看懂的網(wǎng)絡(luò)基礎(chǔ)知識(shí),所以呢,對(duì)于想入門的你,還是挺友好的。當(dāng)然,還是那句話,自己去找目錄看看。
3、計(jì)算機(jī)是怎樣跑起來的

級(jí)別:入門
這本書也挺不錯(cuò),可以說也是和上面兩本相輔相成,例如在《程序是怎樣跑起來的》這本書中,我們知道計(jì)算機(jī)中所有的數(shù)據(jù)都是用 0 和 1 來表示的,那么計(jì)算機(jī)是如何識(shí)別 0 和 1 的呢?又是怎么做加減乘除的呢?
這本書比起上面兩本,更加底層,類似于本科教學(xué)中的《計(jì)算機(jī)組成原理》,當(dāng)然,《計(jì)算機(jī)組成原理》這本是被當(dāng)成教材來用的,比較難讀懂,而這本,則容易懂點(diǎn),屬于小白入門級(jí)別。
這三本書可以說是一個(gè)系列的,不過說實(shí)話,這本書我沒看過,,,,不過我看了下,評(píng)價(jià)還是非常不錯(cuò)滴,加上三本又是一個(gè)系列,所以推薦給大家。
4、計(jì)算機(jī)網(wǎng)絡(luò):自頂向下

這本書我介紹過挺多次了,估計(jì)有些人都聽爛了,不過我覺得這本書真心不錯(cuò),這里再次介紹下。那么這本書于《網(wǎng)絡(luò)是怎樣連接的》有什么區(qū)別?我認(rèn)為這本,算是進(jìn)階吧,當(dāng)然,是相比之下算是進(jìn)階,其實(shí)它也可以當(dāng)做入門的來看。
對(duì)于想學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)的,推薦這本書。
5、圖解 HTTP

計(jì)算機(jī)網(wǎng)絡(luò)那本書對(duì)于 http 并沒有講很多,例如 https 就沒說,如果你想繼續(xù)了解 http 的話,就可以考慮看《圖解http》這本書了。
居然是圖解,那么將會(huì)有大量的圖片,讓你輕松讀懂晦澀的知識(shí)點(diǎn),相信你兩天就能看完了,不過我建議你最好做一下筆記,不過,有些東西你很快就忘光光了,筆記面試的時(shí)候,還得要你把一些東西說出來。
6、匯編語言(王爽著)

級(jí)別:入門
我覺得,學(xué)點(diǎn)匯編語言還是非常非常有必要的,雖然你寫程序的時(shí)候并沒有用到匯編。
為什么呢?
我們平時(shí)使用的語言,例如 Java,C 算是高級(jí)語言,而計(jì)算機(jī)只能看到機(jī)器碼,而匯編,是最接近機(jī)器碼的語言了,通過學(xué)習(xí)匯編,可以讓我們更加了解計(jì)算機(jī)是如何執(zhí)行我們的代碼的;當(dāng)然,有時(shí)候?qū)τ诓淮罄斫獾拇a,例如 i++ 和 ++i 有什么區(qū)別,我們可以直接看看它翻譯成的匯編代碼,這樣一目了然。
總之,學(xué)習(xí)匯編,能夠讓你變的更強(qiáng)。而王爽寫的這本《匯編語言》,我覺得對(duì)于新手非常非常 nice,我最開始看學(xué)校的教材,真的是一臉懵逼,一開始就介紹一大堆概念,把我都搞暈了,直到入手了王爽寫的這一本,才讓我重拾信心。
不過,王爽的這本,只能算入門,學(xué)校的教材,感覺像是進(jìn)階,對(duì)于還沒有學(xué)過匯編的你,推薦這本書勒,小白也能看懂,書也不厚,很快就能學(xué)完。
數(shù)據(jù)結(jié)構(gòu)與算法
1、數(shù)據(jù)結(jié)構(gòu)與算法分析(c 語言描述版)

級(jí)別:入門
我相信大部分人大學(xué)看的教程都是清華大學(xué)出版社嚴(yán)蔚敏寫的那本書,說實(shí)話,作為初學(xué)者,那本書我沒能堅(jiān)持看下去,可能比較適合大佬看吧。
我自己買了一本《數(shù)據(jù)結(jié)構(gòu)與算法分析(c 語言描述版)》,挺薄的,不過感覺很棒,這本書讓我學(xué)到了很多,個(gè)人感覺也挺容易懂的,代碼實(shí)現(xiàn)是采用 C 語言來實(shí)現(xiàn)的,不是偽代碼。
如果你想學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),我覺得這本書是個(gè)不錯(cuò)的選擇。班級(jí)里有挺多人看了《大話數(shù)據(jù)結(jié)構(gòu)》,挺他們說也挺不錯(cuò),不過我沒看過。
2、挑戰(zhàn)程序設(shè)計(jì)競賽

這邊書也是大一時(shí)看的,如果你想刷題,我挺推薦這本書,里面分初級(jí)、中級(jí)到高級(jí)。雖然每道題沒有講的特別詳細(xì),但當(dāng)時(shí)都看懂了,真心不錯(cuò)。不過高級(jí)那部分我是沒看,初級(jí)和中級(jí)看著挺舒服。也是學(xué)到挺多的,推薦給大家。
3、編程之美

級(jí)別:進(jìn)階
這本書,我也介紹過好幾次了。這本書真心不錯(cuò),題有一定的難度,這本書更加重要的是,拓展你的思路,而不是像其他算法一樣,一個(gè)專題一個(gè)專題來。
很多人問我刷了多少道 leetcode,其實(shí)我刷的題很少,不過我認(rèn)為以刷多少道來衡量是不對(duì)的,因?yàn)橛幸恍┤丝赡芩⒌暮苌?,不過看了很多算法書,我就屬于刷的比較少,書看的多一點(diǎn)的那種了。
總之,學(xué)習(xí)算法,這本書挺推薦,挺有意思滴,不過不適合很多算法還沒學(xué)過的新手,如果你在這方面是新手,那么可以看《圖解算法》這種,當(dāng)然,你如果連數(shù)據(jù)結(jié)構(gòu)都沒學(xué)過,那么建議你先學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),推薦《數(shù)據(jù)結(jié)構(gòu)與算法分析:C語言描述版》這本書。
3、算法(第四版)

級(jí)別:進(jìn)階
感覺這本書也可以當(dāng)做入門,也可以當(dāng)做進(jìn)階,這個(gè)我也不好說,這本書主要講解了各類算法,例如十大排序算法,各種圖算法,各種樹算法,各種高級(jí)的數(shù)據(jù)結(jié)構(gòu),并且使用了大量的圖來幫助你理解這些算法。
不過,這本書是默認(rèn)你已經(jīng)懂鏈表,隊(duì)列的,書籍主要使用 Java 代碼來演示,對(duì)于那些想要學(xué)習(xí)各種經(jīng)典算法的,還是挺推薦的,看完這本書,你估計(jì)再說算法方面,要強(qiáng)不少。
MySQL
1、MySQL必知必會(huì)

MySQL 的書看的真心少,不過感覺《MySQL必知必會(huì)》講的好不錯(cuò),想學(xué)習(xí) sql 語句的可以看看。
2、MySQL技術(shù)內(nèi)幕:InnoDB存儲(chǔ)引擎

學(xué)習(xí)MySQL,InnoDB 引擎是必須得學(xué)的,這本書講的真心不錯(cuò),講了很多原理,例如索引、鎖等相關(guān)的原理。
如果說《MySQL必知必會(huì)》是入門,那么這本就是進(jìn)階了,這本書我很早就買了,不過也是最近剛看,不過我是看了極客時(shí)間的 MySQL 相關(guān)專欄再來看這本書的,感覺收獲不少,推薦。
但其實(shí)我這本書沒有全看,只看了索引和鎖那一塊,市面上關(guān)于 MySQL 的書不怎么多,這本書關(guān)于鎖和索引那塊。
MySQL 業(yè)界最火的可能就是《高性能MySQL》,這本書我也買了,看了一些一直沒去看,好厚啊,好像80-90 買的,虧大。如果你想折騰,或許高性能這本書可以看看,不過,建議挑著看,別從頭到尾看,除非你時(shí)間很多。
Java 相關(guān)
由于我的主要使用語言是 Java,所以 Java 這方面也是看過不少書籍,下面就介紹一些我覺得學(xué) Java 不可錯(cuò)過的書籍吧。
1、Java編程思想

編程思想這本書個(gè)人感覺不錯(cuò),不過不適合入門,我是看尚學(xué)堂高淇 300 集視頻入門的,嗶哩嗶哩直接搜索就行了,說時(shí)候,講的是非常非常不錯(cuò),初學(xué)者強(qiáng)烈推薦這個(gè)視頻。
我說了,單單視頻是不夠的,之后入手了《Java編程思想》這本書,不過我是挑著章節(jié)看的,看了之后,解決了非常非常多的疑惑,感覺自己對(duì) Java 的理解更上一層樓了。
不過,這本書看的時(shí)候,你可能會(huì)覺得有點(diǎn)啰嗦,不過沒辦法,國外的書籍大部分都這樣,喜歡扯,不過我也是挺喜歡這種扯的,總之,強(qiáng)烈推薦(不建議從頭看,可以挑著看)
2、Java 并發(fā)編程藝術(shù)

學(xué)編程,并發(fā)是避免不了的,我覺得《Java 并發(fā)編程藝術(shù)》這本書講的非常不錯(cuò),不過說實(shí)話,也是挺難的,我一下子就把這本書看完了,然后,看完之后感覺啥也忘了,然后第二次看的時(shí)候,感覺比第一次好挺多。
總之這本書,我覺得要多看幾次,你會(huì)有意外的收獲。特別是后面,可能剛開始看有點(diǎn)懵,那是因?yàn)槟悴?。不過,多看幾次就好了,學(xué)這本,聽說應(yīng)付面試也是非常不錯(cuò)的,推薦看。
對(duì)了,還要 《Java 并發(fā)編程實(shí)戰(zhàn)》,也是挺不錯(cuò),不過我只看了一些,感覺自己很多都懂(感覺要被打),就有點(diǎn)看不下去了,所以沒看,你們自行選擇。
3、深入理解 Java 虛擬機(jī)

呵呵,這本書,不用說,每個(gè)學(xué) Java 的我覺得都應(yīng)該看,不過我可以告訴你的是,第一遍你會(huì)看的很難受,確實(shí)挺難,比較底層。
不過,想要進(jìn)階,就得要死磕,大家看的時(shí)候,有些章節(jié)可以先跳過,例如第一章。我是從第三部分的第六章開始看起的,看完再回頭看前面的章節(jié),至于為啥這樣,我是在某某知識(shí)星球聽大佬這樣說的,所以就這樣干了。總之,強(qiáng)烈推薦,以及多看幾遍。
Redis
1、Redis開發(fā)與運(yùn)維

我本人是看這本書入門 Redis 的,我覺得講的很不錯(cuò),很適合小白,如果僅僅只是為了面試,其實(shí)看這本書,也差不多了,大部分原理也都有講。
2、Redis 設(shè)計(jì)與實(shí)現(xiàn)

后來為了穩(wěn)一點(diǎn),我有看了《Redis 設(shè)計(jì)與實(shí)現(xiàn)》,這本講的深入和底層一些,看完這本,Redis 基本穩(wěn),但是嘛,其實(shí)看完上面我說的那本,其實(shí)也差不多了,你們自己選擇吧。
其他

這本書講的是,一個(gè)網(wǎng)站從簡單到類似與淘寶這種大型的網(wǎng)站,都經(jīng)過那些迭代。不過講的不深,看名字很高級(jí),不過并不難,我覺得挺不錯(cuò),感興趣的可以看看,兩天就能看完了。
一不小心已經(jīng)介紹了十幾本了,介紹的都是屬于比較基礎(chǔ)的書籍,我覺得打好這些基礎(chǔ)還是挺重要的。上面的這些書,基本都是我全部看完的了,覺得真心不錯(cuò),所以推薦給大家,以后再給大家推薦點(diǎn)高級(jí)的書哈。
書籍獲取方式
至于書籍去哪里獲???
大部分書籍可以在我的個(gè)人網(wǎng)站那里下載到,網(wǎng)站鏈接直達(dá):https://www.iamshuaidi.com/




