注意!!!

該計算機經典書籍書單我使用爬蟲抓了30個知乎計算機經典圖書高贊回答後得出的

好書集錦

,每本書都在推薦版上出現過5次及其以上!!1

以下推薦的經典書籍PDF電子版均可在下列github開源倉庫中均可以找到:

地址1:

https://

github。com/forthespada/

CS-Books

(如果由於網路等因素不能訪問,可以嘗試地址2)

地址2 :

https://

gitee。com/ForthEspada/C

S-Books

1、C/C++語言

C++和C語言是分不開的,可以說C++時至今日依然能夠在網際網路上有一席之地,有一部分原因是牢牢抱緊了C語言的大腿。可能很多人大學裡學的第一門語言就是C語言,用的都是譚浩強的那本《C語言程式設計》,但那本書真的一言難盡…。

C++的知識點比較多,也比較細,其實C++並不容易學好,如果你只是簡單拿的學習一下語法比如for迴圈、變數型別之類的,那麼一兩週你就可以上手,但是如果想要學好C++還是需要持之以恆的coding。

首先推薦兩本

C語言

方面的好書,答應我,把你手中的譚浩強C語言放一邊好嗎…。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:征服C指標

理由:C語言最為核心的點莫過於指標了,在一些大型專案裡指標經常指來指去,多重指標容易弄得一些小白雲裡霧裡不知所云,這本書是講指標的經典書籍,阿秀學長學習完後重新認識了指標,看完再不懂指標可以來揍阿秀學長。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:C陷阱和缺陷

理由:這裡搬運一段百度百科上的介紹和說明:“本書的出發點不是要批判C語言,而是要幫助C程式設計師繞過程式設計過程中的陷阱和障礙。全書分為8章,分別從詞法分析、語法語義、連線、庫函式、預處理器、可移植性缺陷等幾個方面分析了C程式設計中可能遇到的問題。最後,作者用一章的篇幅給出了若干具有實用價值的建議。本書適合有一定經驗的C程式設計師閱讀學習,即便你是C程式設計高手,本書也應該成為你的案頭必備書籍。”,從這段介紹中就可以感受到這本書的分量了。

除此之外,還有一些比較優秀的書籍,如果你想要走C/C++開發的路線,這些書籍都是十分不錯的資料。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:C和指標

理由:指標方面的經典好書。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:C++ Primer Plus

理由:這本書我沒有系統看過,只是大概翻了翻,它與C++ Primer都是不可多得的好書,只不過這本書更適合那些沒有程式設計基礎的人看,如果你有一定的語言基礎不是一個小白,我建議你直接C++Primer搞起來!反之,如果你沒有程式語言基礎的話建議你從這本C++Primer Plus入手!

下面是比較好的C++方面的書籍

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:C++ Primer 5th

理由:我願稱之為C++聖經,這本書對於有一定C語言基礎或者有其他語言基礎的人來說是最好的入門書,沒有之一!大概800多頁,阿秀學長前前後後讀了大概兩遍半,建議至少通讀一到兩遍。如果你能夠將這本書吃透,那麼下面的《Effective C++》你看的就會非常輕鬆了。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:STL原始碼剖析

理由:C++大師侯捷老師的經典之作,原始碼方面的好書!雖然裡面的很多知識已經不再適用如今的C++11 甚至C++17了,但是我們所要學習的是設計思想,對於其中的兩級空間分配器,vector擴容,map/set底層等都是面試時常問的知識點,阿秀學長看過兩遍,現在還偶爾會翻翻,建議放在C++Primer這本書之後,有過一些coding經驗後再去看。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:Effective C++

理由:C++是一門很嚴謹的語言,這也導致瞭如果出錯bug也是不好找的,當初看這本書的時候,阿秀學長一遍一遍的重新整理對於C++的認識:這居然可以?這居然不可以??這居然會報錯??有不少內容與C++ Primer 5th那本書是相同的,可以在看完C++Primer後再看這本書。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:More Effective C++

理由:同Effective C++一樣,也是一本會揭露一些你不容易察覺到的會犯的一些錯誤,可以再看完Effective後再開始看這本書。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:深度探索C++物件模型

理由:這本書會幫助你對虛擬函式有一個全新的認識,雖然網路上有不少類似的講解虛擬函式的部落格,但還是建議同學們自己看一下其中的虛擬函式那章,看完可能會忘,得多看幾遍。面試過程中問的也基本只有虛擬函式,其餘章節可略看。

2、資料結構與演算法

資料結構與演算法是相輔相成的關係,學好演算法有助於理解資料結構,學好資料結構也更有助於理解好演算法。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:大話資料結構

理由:對於一些小白來說這本書是福音了,大話系列的典範之作。將資料結構中比較晦澀難懂的連結串列、樹等知識講得通俗易懂,對新手比較友好。有一定資料結構基礎的可以忽略了。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:啊哈!演算法

理由:與大話資料結構一樣對於新手比較友好,是一本很有趣的演算法入門書,如果你有一定演算法或者coding基礎就不必看了。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:劍指Offer

理由:這本書不需要多做介紹,校招必備!可是還是要自己看起來、刷起來,不要放在那裡吃灰,如果這本書上的題目你都沒有做過或者也不會的話,演算法這一關基本是送人頭的存在了,阿秀學長在秋招過程中這本書看了2遍。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:挑戰程式設計競賽

理由:阿秀學長吹爆這本書!!!也是阿秀學長唯一一本系統看完的演算法書籍!!這本書比啊哈演算法算是進階一點的演算法書籍了,作者是ACM-ICPC全球總冠軍,國內的ACM大神巫澤俊譯的,彙集了世界頂級程式設計高手的經驗總結,裡面有很多題都是很經典的題目,比如有一題是兩隻螞蟻相對運動就曾經出現在某演算法平臺的周賽中。看這書不能急,得慢慢消化。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:程式設計師程式碼面試指南

理由:牛客官網合作大佬-左程雲大神的著作,牛客上還有這位大佬的專欄和演算法提高班。書中既有一些比較簡單但易錯的經典題型,比如“反轉連結串列、二叉樹序列化”,也有一些拔高的題,比如海量資料處理中的“10億個URL中重複的有哪些或者找出10億個URL中的Top K個”,確實是本好書。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:演算法第四版

理由:又一部經典著作,這裡不推薦黑色機器工業出版的那本《演算法導論》,那是本好書不錯,但是有點難懂了,相比之下演算法第四版要好得多,如果你有時間的話可以多看看,否則就像我一樣當個工具書來用吧,哪裡不會翻哪裡,在實戰中去學習和進步。

3 、作業系統

作業系統是一門在面試過程中問的不算很深的課程,因為這門課往下走的話深度太深,也不好展開,面試官不好嘗試,甚至於一些面試官對於某些具體的知識點也不熟悉(大佬除外),作業系統必須深入學習,才能學明白學透徹。

影片推薦:

南京大學袁春風老師的計算機基礎(一)、(二)、(三)

清華大學向勇老師的作業系統影片課程

麻省理工大學MIT 6。828作業系統課程

書籍推薦:

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:深入理解計算機系統

理由:被譽為“和金子一樣重要的計算機基礎書籍”,就好像學霸考試只能考100分是因為試卷只有100分一樣,這本書推薦指數為五星,那是因為最高就是五星了。這本書十分經典,每一次看都會有新的體會和感悟,這本書從程式執行的計算機角度開始,介紹了處理器的體系結構、程式的機器級最佳化、虛擬儲存器、系統級IO、網路通訊等等多個方面。還有一點就是不要放過課後的各種Lab,阿秀學長這裡推薦大家和 MIT6。828以及

CMU 15-213 CSAPP

這門課一塊看。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:現代作業系統

理由:同樣是講作業系統的一本好書,《深入理解計算機系統》有些作業系統的知識講的比較泛沒有這本書細緻,如果趕時間的話可以把這本書中進執行緒、死鎖、快取等重要知識點先看一下,後續有時間了再補上其他章節。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:現代作業系統:原理與實現

理由:上海交通大學陳海波教授的最新著作,阿秀學長已經買了,書中主要介紹作業系統的理論、架構、設計方法與具體實現細節,個人感覺細節上不如現代作業系統,但是架構描寫要好不少,大概翻了一遍還是很不錯的,值得推薦。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:自己動手寫作業系統

理由:很好的一本實踐書籍,看這本書的前提是要有一定的彙編知識,如果不懂一些基本的彙編知識容易看的迷迷糊糊。本書親自帶你走一遍作業系統的具體實現,打造一個簡易版的作業系統,阿秀學長在學完彙編後花了二十餘天跟著走了一遍,感覺很多東西豁然開朗了一樣,值得一看!

4 、計算機網路

計算機網路是重點之一,特別是HTTP以及TCP相關知識點,面試必問,但是難度是逐年上升的。阿秀學長請教過18屆的師兄,他們當初考察計算機網路對於TCP就隨便問問,就只問一些基本的三次握手四次揮手大概過程,不會過多問細節。但是現在不直接問三次握手四次揮手,反而問一下連結建立過程中的意外情況,比如SYN請求包丟失的話,客戶端會怎麼做?或者為什麼要等待2MSL時間,為什麼不等待1MSL或者3MSL呢?

這裡以TCP/IP四層協議為例簡單介紹一下校招過程中經常考到的協議,知識導圖:

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

書籍推薦

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:圖解TCP/IP、圖解HTTP

理由:日本人寫的兩本科普書,很適合計算機網路入門,書很小並且書中圖畫很多,看著有300多頁挺多的,其實沒有多少內容的。看完這兩本書對於場面的秋招面試題都能夠答得上來,但對於一些細節問題還不太夠比如TCP中的滑動視窗、擁塞避免等還是需要看別的經典書籍加以補充。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:網路是怎樣連線的

理由:強推!同樣是日本人寫的一本書,本書緊緊圍繞一個問題:輸入一個URL,按下enter鍵,直到我們在網頁端看到請求的內容,這中間發生了什麼?這本書抽絲剝繭般將這個問題逐步細化,親手帶你自頂向下的走完整個網頁訪問的過程。不可多得的一本好書!強烈推薦!

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:計算機網路:自頂向下方法

理由:別的常見介紹計網的書籍是從底向上即物理層到應用程式介紹網路,這本書另闢蹊徑,是自頂向下介紹整個網路的。這樣做的好處是從我們所接觸的應用層開始逐步深入,而不是從離我們最遠的物理層開始。如果不是網路安全相關專業,大多數人看重點章節也就是第三章傳輸層那一章,重點看TCP/UDP的各種細節基本也夠用了,剩下的可以後期再補,為自己節約時間。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:TCP/IP詳解 卷1:協議

理由:確認過眼神,是經典中的經典,沒錯了。不過就是,emmm太厚了…阿秀學長買來翻了翻TCP/UDP知識點就用來墊電腦了…。。對於TCP的各種機制介紹的很細緻,看了之後對於TCP/UDP感覺明顯上升了一個臺階。如果不是資訊保安、網路安全相關崗位的,可以作為一本工具書來使用的,需要用到某些知識再來補就行。

5、資料庫

資料庫是一門需要自己動手實踐的學科,在學習一些SQL語句時,建議大家自己實操一下,建個數據庫表,輸入一些資料,自己動手寫SQL,牛客上也有相關的SQL語句練習資源,建議好好利用:

https://www。

nowcoder。com/ta/sql

書籍推薦:

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:MySQL必知必會

理由:同《圖解HTTP》一樣也是袖珍型書籍的典型代表,書雖薄但是很經典,是一本很小的小冊子,阿秀學長當時不到一週就看完了,看完基本的SQL語句沒什麼問題了。需要注意的是千萬要記得自己手敲一遍其中的SQL語句,要實操才能理解的更深。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:Redis設計與實現

理由:Redis方面的好書,算是Redis入門資料吧,認真看完的話就對Redis的五種資料結構以及快取等常見問題有大概瞭解了,包括其中的底層資料結構,其中的跳錶需要特別注意,是Redis面試知識點常問之一。Redis在如今的網際網路中很多時候都充當快取中介軟體來使用,其中有不少設計很巧妙的地方,推薦推薦!

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:Redis實戰

理由:Redis系列的第二本書。前一本書偏向於理論講解,這本書偏向於實戰講解,學了不能就完事了,畢竟還是要實操的,不能只停留在理論層面上,書中除了透過一些例項講解了Redis的用法,還講述了一些Redis的最佳化方法以及擴充套件方法,確實不錯!

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:高效能MySQL

理由:首先肯定這是本經久不衰的資料庫方面的好書,但是,也是真的厚,墊書桌都嫌厚的那種厚度。。阿秀學長買來只看了其中的索引以及最佳化兩章,對於常問知識點有個大概瞭解後就放一邊了,在面試過程中夠用了,其他的後面再說,哈哈。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:MySQL技術內幕:InnoDB儲存引擎

理由:作為MySQL內建引擎的InnoDB能夠滿足絕大多數情況下常見業務的需求,本書從原始碼角度帶我們深度解析InnoDB的體系結構、實現原理以及工作機制,對於更好的理解MySQL有很好的幫助,如果你是資料庫相關從業人員,更不能錯過這本書了,相信這本書能帶給你很多全新的認知!

6 、Linux

C++跟Linux基本是離不開的,特別是後端方向跟網路通訊關係很大。在實際工作裡,很多成熟的專案都是在Linux上進行開發的。阿秀學長在秋招過程中被問過很多網路通訊相關的知識,比如IO模型、執行緒池、多執行緒、epoll底層資料結構等等。

說來慚愧,阿秀學長並沒有系統的學習過Linux相關命令,都是遇到問題了再去翻書或者面向百度學習。遇到問題了再去學其實也是很多人的真實寫照,畢竟學習時間相比於浩瀚的知識海洋來說真的很有限。反而對於網路通訊與Linux系統核心倒是系統的學過不少,這裡也簡單推薦一些資料。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:鳥哥的Linux私房菜、Linux就該這麼學

理由:這兩本書都挺經典的,不過褒貶不一,阿秀學長覺得還是不錯的,算是比較好的Linux入門書了。如果想要系統學習Linux可以照著書本上的命令老老實實的敲上一遍,Linux命令這一塊基本沒啥問題了,要不然就像阿秀學長這樣當個工具書,哪裡不會翻哪裡就是了。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:深入理解Linux核心

理由:堪稱講述Linux核心方面不可多得的一本好書,個人感覺比那本《Linux核心完全註釋》要好上不少,不過仁者見仁智者見智。這本書可以很好的對你在核心中使用的最重要的資料結構、演算法和程式設計訣竅進行一次詳細解讀,也能幫助你在以後使用Linux時更好地進行程序排程、檔案存取和記憶體管理。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:TCP/IP網路程式設計

理由:如果讓我推薦一本網路程式設計入門書籍,那我毫無疑問會推薦這本韓國人寫TCP/IP網路程式設計,書中例子超級多,堪稱一小節一個例子,比如很知名的簡易版回聲伺服器、優雅斷開TCP連結等,從客戶端和服務端兩個方面分別展開敘述,手把手帶你初窺網路通訊的點點滴滴。在看這本書的時候,注意總結筆記,因為例子太多了阿秀學長經常出現看了後面一節就忘記前面一節的內容的情況,後來記了筆記就好多了。而且在github上也有很多別人做好的讀書筆記,牛友們可以自行檢索。在獲得同樣知識的前提下,當然用的時間越少越好了。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★

書名:Linux高效能服務端程式設計

理由:遊雙老師的經典之作,阿秀學長第一次看的時候,內心os:這什麼垃圾,那麼多人推薦??第二遍看的時候,不好意思,是我垃圾…。

這本書需要一定的門檻,但真的是一本很好的書,網路通訊相關基本全都涉及到了,比上面那本《TCP/IP網路程式設計》要詳細的多。其中第1-5章高度涵蓋了計算機網路的知識,高度概括,所以看這本書的前提就是要對計算機網路有基本瞭解和認識,後面的章節講的是網路通訊的前世今生,關於網路通訊你知道的不知道的,這本書都告訴你了。強烈推薦!

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★

書名:Linux多執行緒服務端程式設計:使用muduo C++網路庫

理由:前排提醒,這本書有一定的門檻。北師大陳碩大神的經典著作,從事服務端程式設計方向的從業人員必看的一本書,能夠從書中借鑑到很多比如關於定時器的設計。阿秀學長也只是看了一小半,建議後期再看,需要不少基本功才能看明白。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★

書名:UNIX網路程式設計 卷1套接字聯網API與卷2程序間通訊

理由:史蒂文斯大神的蓋世之作。說一句“網路程式設計方面的聖經”不為過。對於有志進入騰訊鵝廠的小夥伴,這兩本書可以說是必須要看的,可以說是網路研究和開發人員公認的權威參考書,無論網路程式設計的初學者還是網路專家都會大受裨益。不過因為太厚的原因,特別是《套接字聯網

API

》可以說是我遇到的最厚的技術書了,全部啃完需要耗不少時間,可以像阿秀學長一樣,哪裡不會翻哪裡。哈哈。

7 、其他經典書籍

還有一些經典書籍比較好,適合自己持續性充電、打基礎,這裡也推薦給大家。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:資料庫系統實現

理由:本書是斯坦福大學計算機科學專業資料庫系列課程第二門課的教科書,也是國內華東師範大學資料學院指定資料庫原理書籍。講資料庫的書籍有很多,這本是少有的講的通俗易懂,不是那麼深奧晦澀難懂的,對讀者友好的那一型別經典書籍,阿秀學長依然經常看。這類書是屬於內功修煉的那一類書,像什麼框架之類的屬於外功修煉的書,外功固然重要,想要真正在IT行業走的遠、走得穩,內功是必須要紮實的。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:五顆星★★★★★

書名:組合語言

理由:寶藏書籍!!!王爽老師的這本組合語言真的可以說一句寶藏書籍了!強推,千萬不要被書名勸退。如果你是C/C++方向開發者,這本書絕對不會讓你失望!對於函式的呼叫過程等細節講的十分透徹,掰碎了講給你,一點一點的傳授你知識!如果每個作者都能像王爽老師這樣就好了。。。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:X86組合語言:從真實模式到保護模式

理由:作為上一本《組合語言》的補充,這本書以很多的程式碼演示了16/32/64位軟體的開發方法,介紹了處理器的16位真實模式和32位的保護模式,這本書教你如何直接控制硬體,教你如何顯示字元、讀取硬碟資料、控制其他硬體等。

計算機領域內有哪些公認的優秀程式設計書籍? | 含下載方式

推薦指數:四顆星★★★★

書名:老碼識途:從機器碼到框架的系統觀逆向修煉之路

理由:彙編與反彙編就好像如今的爬蟲與反爬蟲一樣,這本書以逆向反彙編為線索,自底向上,從探索者的角度,原生態地刻畫了對系統機制的學習,對於有志成為系統架構師的小夥伴來說不應該錯過這本好書,這本書涉及反彙編、底層除錯、連結、載入、鉤子等在別的書中很少看到的知識等。

結語

以上所推薦的書籍均是計算機專業領域內比較適合的專業書籍,希望你能對你有所幫助!