當前位置: 華文星空 > 知識

有什麽優質的電腦專業書籍?

2020-09-29知識

平日裏,大家都喊程式設計師加班多很辛苦,動不動就掉頭發,但幹的還是很香的,畢竟大多數公司錢還是給的很到位的,今年畢業應屆生的我見到好多動不動就月薪 20K~30K 的,真讓人兩眼淚酸酸,當然這離不開他們大學期間的努力。

講真,沒什麽家庭背景的人,選擇當程式設計師確實是比較好的選擇了,原因有二:

  • 首先,當今互聯網、AI 人工智慧、大數據等都是高速發展的行業,自然人才需求很多,薪資也相對其他傳統行業高;
  • 第二,純粹看你技術能力,只要自己願意付出努力,技術能力肯定會慢慢提高上來,而且現在比起幾十年前,學習資料也越來越多,且越來越優質;
  • 雖然我們身處時代的紅利,但是它是高速發展的,技術也是在一直叠代更新的,停止學習,只會被時代 game over,相當很殘酷,所以 日常學習是我們程式設計師,不可缺少的一個習慣。學到禿,你不想變強,都會變強。

    那說到學習,那必然離不開書呀,小林也在豆瓣逛一圈,把高分的書推薦給大家。

    電腦網路

    如果你要入門 HTTP,首先最好書籍就是【 圖解 HTTP 】了,作者真的做到完完全全的「圖解」,小林的圖解功夫還是從這裏偷學到不少,書籍不厚,相信優秀的你,幾天就可以看完了。

    如果要入門 TCP/IP 網路模型,我推薦的是【 圖解 TCP/IP 】,這本書也是以大量的圖文來介紹了 TCP/IP 網路模式的每一層,但是這個書籍的順序不是從「套用層 —> 實體層」,而是從「實體層 -> 套用層」順序開始講的,這一點我覺得不太好,這樣一上來就把最枯燥的部份講了,很容易就被勸退了,所以我建議先跳過前面幾個章節,先看網路層和傳輸層的章節,然後再回頭看前面的這幾個章節。

    另外,你想了解網路是怎麽傳輸,那我推薦【 網路是怎樣連線的 】,這本書相對比較全面的把存取一個網頁的發生的過程講解了一遍,其中關於電信等營運商是怎麽傳輸的,這部份你可以跳過,當然你感興趣也可以看,只是我覺得沒必要看。

    對於 TCP/IP 網路模型深入學習的話,推薦【 電腦網路 - 自頂向下方法 】,這本書是從我們最熟悉 HTTP 開始說起,一層一層的說到最後實體層的,有種挖地洞的感覺,這樣的內容編排順序相對是比較合理的。

    但如果要深入 TCP,前面的這些書還遠遠不夠,賦有電腦網路聖經的之說的【 TCP/IP 詳解 卷一:協定 】這本書,是進一步深入學習的好資料,這本書的作者用各種實驗的方式來細說各種協定,尤其是 TCP 部份寫的很好(我也只看了這書的 TCP 部份,嘻嘻),這本書買第一版本就好了,第二版本轉譯的有問題。

    作業系統

    我看的第一本作業系統書是【 現代作業系統 】,這本書也是大家力推的入門作業系統的教材,有很多常見的面試題都基本是出自這裏的,比如哲學家就餐、讀者寫者等問題。如果單純看書覺得比較枯燥,可以搭配 B 站清華大學作業系統課程一起學習。

    華為鴻蒙操盤手陳海波大神,也出了一本新書【 現代作業系統:原理與實作 】,是由上海交通大學陳海波、夏虞斌領銜撰寫。由淺入深介紹現代作業系統經典理論與方法,結合前沿研究與工業界實踐,面向真實場景與真實問題。全新打造 ChCore 微內核系列課程實驗,建立對作業系統的第一手實踐經驗。

    這本被稱為神書的【 深入理解電腦系統 】,豆瓣評分高達 9.8 分,這本書嚴格來說不算作業系統書,它是以程式設計師視角理解電腦系統,不只是涉及到作業系統,還涉及到了電腦組成、C 語言、組合語言等知識,是一本綜合性比較強的書。

    電腦組成原理

    小林最近寫的有關 CPU 文章,算是電腦組成的系列了。電腦組成大部份人會認為是硬體開發的人才需要接觸,軟體開發的人不用了解,我覺得這個觀點是不對的,你寫的程式也是執行在電腦上的,並且實際上電腦組成原理有些知識還是跟軟體有關系的,那就有一本很適合軟體開發人員了解的書 —— 【 電腦組成與設計 硬體/軟體介面

    數據結構與演算法

    數據結構與演算法尤其重要呀,校招大廠就特別愛考察,還沒練起演算法的同學,抓緊啦!

    資料庫

    Mysql 兩本高分的書。

    Redis 兩本高分的書。

    Java

    小林雖然不是搞 Java 的,但是請教了搞 Java 大佬,我把他推薦的書也放在這啦,Java 同學可以參考參考。

    C/C++

    對於想入門 C 語言的同學,可以看看這本黑皮經典書籍。

    C++ 最好的入門書,就是這本了。

    入門完 C++ 下,我們也不能停下腳步,快馬加鞭進入進階的節奏。

    Linux

    Linux 命令入門的好書,跟著鳥叔一起敲 Linux 命令,很快就能入門了。

    熟悉了 Linux 命令後,我們就從編程的角度來學習 Linux,這裏有幾本好書。

    什麽?你還想再深入 Linux 系統,那就來啃 Linux 內核程式碼吧,保證你對作業系統由有新的認識。

    絮叨

    小林在知乎寫了很多 圖解網路和作業系統 的系列文章,很高興收獲到很多知乎朋友的認可和支持,正好最近圖解網路和作業系統的文章連載的有 20+ 篇 了,也算有個體系了。

    所以為了方便知乎的朋友們閱讀, 小林把自己原創的圖解網路和圖解作業系統整理成了 PDF ,一整理後,沒想到每個圖解都輸出了 15 萬字 + 500 張圖, 品質也是杠杠的,有很多朋友特地私信我,看了我的圖解拿到了大廠的offer。

    圖解系統 PDF 開源下載:

    圖解網路 PDF 開源下載:

    最後祝大家前程似錦,在編碼的道路上一馬平川。

    如果文章對你幫助的話,可以給@小林coding 點個贊,點個收藏,評論下更先顯溫情!