這個清單包括了 100 多本經典技術書籍,涵蓋:計算機系統與網絡、系統架構、算法與資料結構、前端開發、後端開發、移動開發、資料庫、測試、項目與團隊、程式員職業修煉、求職面試 和 程式設計相關的經典書籍。
本清單綜合了解放号社群以往推薦經典書籍文章中的清單,以及在微信和微網誌中被廣泛推薦的好書。雖然已經包括了 100 多本,覆寫的面也比較全,仍然有很多方面需要補充,而且相信還有很多沒有被收錄的好書。歡迎大家在評論中推薦或自薦。
這篇文章主要是分類别推薦了該類别所屬的經典書籍清單。每個類别下,從書名就可以看出來,是區分了方向。即使是同一個方向,也側重點不同。即使側重點相同,作者講解的思路也是不同的。請選擇自己關注的方向,根據圖書的簡介選擇适合自己的書籍學習。
計算機系統與網絡
《圖靈的秘密:他的生平、思想及論文解讀》
《計算機系統概論》
《深入了解Linux核心》
《深入Linux核心架構》
《TCP/IP詳解
卷1:協定》
《Linux系統程式設計(第2版)》
《Linux核心設計與實作(第3版)》
《深入了解計算機系統(原書第2版)》
《計算機程式的構造和解釋(原書第2版)》
《編碼:隐匿在計算機軟硬體背後的語言》
《性能之颠:洞悉系統、企業與雲計算》
《UNIX網絡程式設計
卷1:套接字聯網API(第3版)》
《UNIX網絡程式設計
卷2:程序間通信》
《Windows核心程式設計(第5版)》
《WireShark網絡分析就這麼簡單》
《WireShark網絡分析的藝術》
程式設計通用
《程式設計原本》
《代碼大全》
《UNIX程式設計藝術》
《代碼整潔之道》
《程式設計珠玑(第2版)》
《程式設計珠玑(續)》
《軟體調試的藝術》
《修改代碼的藝術》
《程式設計語言實作模式》
《編寫可讀代碼的藝術》
《解析極限程式設計:擁抱變化》
《精通正規表達式(第3版)》
《編譯原理(第2版)》龍書
《重構:改善既有代碼的設計》
《七周七語言:了解多種程式設計範型》
《調試九法:軟硬體錯誤的排查之道》
《程式設計語言:實踐之路(第3版)》
《計算的本質:深入剖析程式和計算機》
《設計模式
: 可複用面向對象軟體的基礎》
算法與資料結構
《算法(第4版)》
《算法導論(原書第2版)》
《Python算法教程》
《算法設計與分析基礎(第3版)》
《學習
JavaScript 資料結構與算法》
《資料結構與算法分析
: C++描述(第4版)》
《資料結構與算法分析
: C語言描述(第2版)》
《資料結構與算法分析
: Java語言描述(第2版)》
職業修煉與規劃
《大教堂與集市》
《卓有成效的程式員》
《程式員的職業素養》
《程式員修煉之道:從小工到專家》
《軟體開發者路線圖:從學徒到高手》
《我程式設計,我快樂:
程式員職業規劃之道》
《程式員的思維修煉:開發認知潛能的九堂課》
《高效程式員的45個習慣:靈活開發修煉之道(修訂版)》
大師訪談
《程式設計大師智慧》
《程式設計大師訪談錄》
《程式設計人生
: 15位軟體先驅訪談錄》
《奇思妙想
: 15位計算機天才及其重大發現》
《圖靈和ACM圖靈獎》
架構/性能
《微服務設計》
《大資料日知錄》
《企業應用架構模式》
《Web性能權威指南》
《SRE:Google運維解密》
《釋出!軟體的設計與部署》
《高擴充性網站的
50 條原則》
《大型網站技術架構:核心原理與案例分析》
《恰如其分的軟體架構:風險驅動的設計方法》
《軟體系統架構:使用視點和視角與利益相關者合作(第2版)》
Web前端
《高性能
JavaScript》
《鋒利的
jQuery(第2版)》
《JavaScript
忍者秘籍》(感謝@joker-danta 補充推薦)
《編寫可維護的
JavaScript》
《你不知道的
JavaScript(上)》
《JavaScript
權威指南(第6版)》
《JavaScript
語言精粹(修訂版)》
《JavaScript
DOM程式設計藝術 (第2版)》
《JavaScript
進階程式設計(第3版)》
《JavaScript
異步程式設計:設計快速響應的網絡應用》
《Effective
JavaScript:編寫高品質JavaScript代碼的68個有效方法》
《HTML5
權威指南》
《HTML5
秘籍(第2版)》
《HTML5
與 CSS3 基礎教程(第八版)》
《CSS
揭秘》
《CSS
設計指南(第3版)》
《CSS
權威指南(第3版)》
《深入淺出
HTML 與 CSS》
Java開發
《Java8
實戰》
《Java并發程式設計實戰》
《Java性能權威指南》
《Java程式員修煉之道》
《實戰Java高并發程式設計》
《Java程式設計思想
(第4版)》
《深入了解Java虛拟機(第2版)》
《Effective
java 中文版(第2版)》
《Java核心技術·卷1:基礎知識(原書第9版)》
《Java核心技術·卷2:進階特性(原書第9版)》
.NET
《精通C#(第6版)》
《深入了解C#(第3版)》
《CLR
via C#(第4版)》
Python
《集體智慧程式設計》
《笨辦法學Python》
《Python基礎教程》
《Python源碼剖析》
《Head
First Python》
《與孩子一起學程式設計》
《Python學習手冊(第4版)》
《Python
Cookbook(第3版)》
《Python參考手冊(第4版)》
《Python核心程式設計(第3版)》
《Python科學計算(第2版)》
《利用
Python 進行資料分析》
《Think
Python:像計算機科學家一樣思考Python(第2版)》
《Python程式設計實戰:運用設計模式、并發和程式庫建立高品質程式》
《Python絕技:運用Python成為頂級黑客》
《Flask
Web開發:基于Python的Web應用開發實戰》
Android
《Android程式設計權威指南(第2版)》
《移動應用UI設計模式(第2版)》
iOS
《iOS程式設計實戰》
《iOS程式設計(第4版)》
《Objective-C進階程式設計》
《Effective
Objective-C 2.0:編寫高品質iOS與OS X代碼的52個有效方法》
PHP
《Head
First PHP & MySQL(中文版)》
《深入PHP:面向對象、模式與實踐(第3版)》
C語言
《C标準庫》
《C和指針》
《C專家程式設計》
《C陷阱與缺陷》
《C語言接口與實作》
《C程式設計語言(第2版)》
《C語言參考手冊(第5版)》
C++
《C++标準庫》
《C++程式設計思想》
《C++語言的設計與演化》
《C++程式設計原理與實踐》
《C++
Primer (中文第5版)》
《C++
Primer習題集(第5版) 》
《C++程式設計語言(第1-3部分)(原書第4版) 》
《Effective
C++:改善程式與設計的55個具體做法(第3版)(中文版)》
《More
Effective C++:35個改善程式設計與設計的有效方法(中文版)》
機器學習和資料挖掘
《資料之巅》
《矩陣分析》
《機器學習》
《統計學習方法》
《機器學習導論》
《推薦系統實踐》
《機器學習實戰》
《Web資料挖掘》
《深入淺出統計學》
《模式分類(第2版)》
《機率論與數理統計》
《統計學習基礎(第2版)(英文) 》
《資料挖掘:概念與技術(第3版)》
《資料挖掘:實用機器學習工具與技術(原書第3版)》
《大資料:網際網路大規模資料挖掘與分布式處理(第2版)》
資料庫
《SQL應用重構》
《SQL
Cookbook》
《高性能MySQL
(第3版)》
《深入淺出SQL(中文版)》
《MySQL技術内幕
: InnoDB存儲引擎(第2版)》
《深入淺出MySQL
: 資料庫開發、優化與管理維護》
測試
《探索式軟體測試》
《有效的單元測試》
《Google軟體測試之道》
項目與團隊
《人月神話》
《快速軟體開發》
《人件(原書第3版)》
《門後的秘密:卓越管理的故事》
《極客與團隊:軟體工程師的團隊生存秘笈》
求職面試
《程式員面試金典(第5版)》
《程式設計之美
: 微軟技術面試心得》
《金領履歷:敲開蘋果、微軟、谷歌的大門》
《劍指Offer:名企面試官精講典型程式設計題(紀念版)》
程式設計之外
《暗時間》
《數學之美》
《赢得朋友》
《精益創業》
《批判性思維》
《世界是數字的》
《程式員的數學》
《程式員健康指南》
《禅與機車維修藝術》
《關鍵對話:如何高效能溝通》
《寫作法寶:非虛構寫作指南》
《黑客與畫家
: 來自計算機時代的高見》
《軟體随想錄(卷1)》《軟體随想錄(卷2)》
《如何把事情做到最好:改變全球9800萬人的人生指導書》