最近逛知乎,看到一個很有意思的帖子。我想這可能是很多人的心聲。
下面的觀點也挺鮮明的:科班與培訓班的區別,不就是科班基礎打的牢靠,知識面更廣一些。
或者你可以理解成,這也是你能否去大廠的一個區別。畢竟大廠都很看重基本功,而且,計算機領域的學科滲透和交叉很厲害,學點底層的東西,有一門精通,你找工作就很輕鬆。
這也是爲什麼,很多人在工作兩年後,反而回去補那些專業課知識,比如網絡協議、組成原理等等。
我也經常收到一些粉絲的反饋:有的說升小領導接觸更多項目後,感覺自己底層原理很弱,在編程的時候總有空中樓閣的感覺;有的說工作多年,竟然看不懂科班出身同事實現的數據序列化協議,太尷尬了;還有人日常搬運代碼,遇到些網絡或者數據庫裏的亂碼、強制類型轉換等等大坑,就懵逼了。
這並不難理解,想象一下,一名賽車手不知道賽車的內部構成和工作原理,你覺得他能在專業賽事中奪冠嗎?同樣的道理,想成爲一名優秀的工程師,卻都不瞭解計算機是怎麼工作的,程序在計算機中怎麼運作的,那怎麼行得通呢?
就這麼說吧,作爲計算機入門和底層知識的第一課,組成原理其重要程度,就和數據結構與算法一樣,都是程序員必修的“硬核內功”。
他的江湖地位有多重要,給你看張圖:
很清晰了吧,學習組成原理之後,向下,你可以學習數字電路相關的課程,向上,你可以學習編譯原理、操作系統這些核心課程。
它還可以直接解決你在併發編程、性能優化中經常遇到的一些困惑,比如 CPU Cache 的原理是什麼,CPU 和 I/O 之間是如何通信的,虛擬內存是要解決什麼問題。可以說,你基本可以掌握計算機的全貌了。
話雖如此,作爲過來人,我太懂組成原理有多不好啃了,概念多,太抽象,難理解,不好學以致用。資料我也看過不少,說句不好意思的,我大部分買來的書,都是前面 10 頁已經發黃了,後面 500 頁從來沒有打開過。
只啃原理不行的,還是要與實際代碼工作相結合,在這我分享一份,之前收藏的學習資料 —— 「組成原理全景圖」,把零散的概念系統地整理在一起,建議收藏:
這張思維導圖,出自徐文浩的專欄《深入淺出計算機組成原理》,這課可以說是我在極客時間學習,收穫最大的課之一了,他用工作實際場景 + 軟件開發案例,講了 30+ 組成原理的核心知識,教你真正看懂、學會、記住,從源頭理解軟、硬件的共同之處,洞悉性能問題的本質。
除了理論講的透徹,最重要的,還結合工業界的應用,要知道這老師在創業,隨手就是各種實踐案例,簡直是一個寶藏老師,寶藏課程,目前 2 刷完畢,真是常看常新,時時有收穫。
這個專欄已經快將近 2W 訂閱了。最近這個專欄要漲價到 ¥129 了,現在到手只需要 ¥69 。感興趣的小夥伴可以先掃碼免費試讀。
本文分享自微信公衆號 - why技術(hello_hi_why)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。