當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]經(jīng)常會(huì)有同學(xué)問(wèn)我:“我感覺(jué)我的知識(shí)非常凌亂,該如何讓自己的知識(shí)成體系?”今天我們就來(lái)好好盤(pán)一盤(pán)這個(gè)問(wèn)題。話不多說(shuō),發(fā)車(chē)!深度VS廣度每個(gè)人在想要開(kāi)始認(rèn)真學(xué)習(xí)的時(shí)候,一般都會(huì)在網(wǎng)上搜索,需要看哪些書(shū),學(xué)習(xí)哪方面的知識(shí),然后會(huì)找很多視頻教程,或者買(mǎi)很多書(shū),信心滿滿,打算大干一場(chǎng)。其實(shí)...


經(jīng)常會(huì)有同學(xué)問(wèn)我:“我感覺(jué)我的知識(shí)非常凌亂,該如何讓自己的知識(shí)成體系?”

今天我們就來(lái)好好盤(pán)一盤(pán)這個(gè)問(wèn)題。

話不多說(shuō),發(fā)車(chē)!

深度 VS 廣度

每個(gè)人在想要開(kāi)始認(rèn)真學(xué)習(xí)的時(shí)候,一般都會(huì)在網(wǎng)上搜索,需要看哪些書(shū),學(xué)習(xí)哪方面的知識(shí),然后會(huì)找很多視頻教程,或者買(mǎi)很多書(shū),信心滿滿,打算大干一場(chǎng)。

其實(shí)有關(guān)計(jì)算機(jī)體系的基礎(chǔ)知識(shí)面掰掰手指也就幾種:計(jì)算組成原理、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)結(jié)構(gòu)。

基本上非科班出身的小伙伴都會(huì)缺少對(duì)基礎(chǔ)知識(shí)面的學(xué)習(xí),這個(gè)是基石,需要補(bǔ)上。當(dāng)然科班出身的沒(méi)學(xué)好的也很多,也需要補(bǔ)。

然后還需要學(xué)習(xí):關(guān)系型數(shù)據(jù)庫(kù)、非關(guān)系型數(shù)據(jù)庫(kù)、常見(jiàn)框架、常見(jiàn)中間件。

這一點(diǎn)我相信大部分人都會(huì)學(xué)。比如MySQL、Redis、Spring、SpringCloud、RabbitMQ等等,因?yàn)檫@是日常工作上經(jīng)常會(huì)使用的東西,所以都會(huì)主動(dòng)去學(xué)。

還有一些語(yǔ)言我就不提了,這屬于工具,工具用的溜編碼效率才會(huì)高,但是也不能僅僅浮在語(yǔ)言表面,像 Java 你好歹也得了解下 JVM,比如看看周志明老師的《深入理解Java虛擬機(jī)》。

以上提到的這么些點(diǎn)都需要我們?nèi)W(xué)習(xí)。

然后問(wèn)題就出現(xiàn)了:每個(gè)點(diǎn)都淺嘗輒止還是死磕到底?

我建議的選擇:雨露均沾,也就是先廣度再深度。

其實(shí)不僅僅是計(jì)算機(jī)領(lǐng)域,在很多其他領(lǐng)域也都一樣,你需要把你的知識(shí)面鋪廣,你才能有機(jī)會(huì)走的更遠(yuǎn)。

當(dāng)你不知道一樣?xùn)|西的時(shí)候,你打破腦袋都想不到它。無(wú)中生有?不存在的!

同理,只有當(dāng)你了解方方面面的知識(shí),在遇到一個(gè)問(wèn)題,或看一段奇怪的代碼,你才能聯(lián)想到那個(gè)知識(shí)點(diǎn),才會(huì)有豁然開(kāi)朗的感覺(jué)。

比如我之前寫(xiě)的 Dubbo 源碼里面的一段奇怪代碼,把一個(gè) state 從 switch 里面抽出來(lái)單獨(dú)成一個(gè) if 判斷:認(rèn)真談?wù)勅绾谓⒅R(shí)體系沒(méi)有相關(guān)的知識(shí)你想不到這會(huì)涉及到字節(jié)碼的實(shí)現(xiàn):if 和 switch 字節(jié)碼層面實(shí)現(xiàn)的不同。然后再深入到 CPU 的分支預(yù)測(cè)。

沒(méi)錯(cuò),就這一段代碼穿過(guò)了 JVM 到達(dá)了 CPU 執(zhí)行層面的優(yōu)化思想。你要是不知道這些,你壓根就不會(huì)想到這種寫(xiě)法。

所以我們優(yōu)先廣度。

前幾天看周志明老師直播的時(shí)候,周老師提到了金字塔理論。

認(rèn)真談?wù)勅绾谓⒅R(shí)體系
也就說(shuō)我們的底部要廣,頂部才會(huì)尖,先廣才能尖。

有了廣度知識(shí)的支撐,我們才有能力且更加高效、快速地深入。

究其原因是因?yàn)?span>計(jì)算機(jī)體系的知識(shí)點(diǎn)是連通而不是分散的,你寫(xiě)的程序必定運(yùn)行在硬件之上,必定受操作系統(tǒng)管理,必定要運(yùn)用到各種數(shù)據(jù)結(jié)構(gòu)與算法,絕大部分會(huì)涉及到網(wǎng)絡(luò)通信。

所以我們不是無(wú)腦廣,我們是選擇性的廣。當(dāng)你廣到一定程度會(huì)有一種感覺(jué),一種從上到下通透的感覺(jué)。

然后你才有能力去選擇一個(gè)方向深入研究,最終成為上面金字塔般的大神。

更高效的學(xué)習(xí)

明白了先廣度學(xué)習(xí)之后,我們?cè)賮?lái)聊聊如果高效的學(xué)習(xí)。

系統(tǒng)的學(xué)習(xí)我推薦看書(shū)

但經(jīng)常有同學(xué)說(shuō),為啥每次我看完一本書(shū),然后就沒(méi)有然后了,啥都沒(méi)記?。?/p>我拋磚引玉,介紹下我的看書(shū)方式。

我看書(shū)會(huì)看多遍。

第一遍快速瀏覽

雖說(shuō)看目錄可以得知書(shū)籍的大概知識(shí)點(diǎn),但是幾個(gè)字不可能涵蓋一章的所有知識(shí),所以我會(huì)快速的過(guò)一遍,知曉這本書(shū)講述了哪些重要的知識(shí),到哪個(gè)深度,一些重要的點(diǎn)我會(huì)先把書(shū)頁(yè)折起來(lái),電子版我會(huì)記錄書(shū)頁(yè)。

看完第一遍后,如果對(duì)我而言是畢竟陌生的知識(shí)點(diǎn),我肯定會(huì)讀第二遍。但一些畢竟熟悉的知識(shí)點(diǎn)我會(huì)判斷是否值得繼續(xù)看第二遍。

第二遍開(kāi)始做筆記

如果選擇看第二遍,我就會(huì)開(kāi)始仔細(xì)的讀,同時(shí)會(huì)記錄筆記。

我不喜歡把筆記記錄在書(shū)上,因?yàn)檫@樣之后復(fù)習(xí)還得翻一遍書(shū),效率很低。

我喜歡在在線文檔上劃分出各個(gè)知識(shí)點(diǎn),然后會(huì)將不同書(shū)籍對(duì)同一個(gè)知識(shí)點(diǎn)的不一樣的理解記錄在一起,這很有意思,因?yàn)槊總€(gè)作者理解的角度都會(huì)有所不同,可以讓你從更多的角度去理解這個(gè)知識(shí)點(diǎn)。

并且在復(fù)習(xí)的時(shí)候,我可以針對(duì)某個(gè)知識(shí)點(diǎn)快速找到所有相關(guān)的知識(shí),這不香嗎?

好了,沒(méi)有第三遍,我一般讀兩遍這本書(shū)就不看了,因?yàn)榫A都被我記錄在筆記上了,復(fù)習(xí)的時(shí)候我只要針對(duì)筆記看就行了,舒服舒服。

所以記錄筆記很關(guān)鍵。

輸出

緊接著還需要輸出,因?yàn)?span>向別人說(shuō)出來(lái)是不一樣的。

你在說(shuō)出來(lái)的時(shí)候會(huì)發(fā)現(xiàn)自己的理解漏洞,會(huì)去查資料補(bǔ)上它。

你在說(shuō)出來(lái)的時(shí)候會(huì)注意到細(xì)節(jié),你會(huì)糾結(jié)用詞,是用“一定”還是“大部分”?這有很大的差別,所以你會(huì)扣細(xì)節(jié)。

你輸出的知識(shí)點(diǎn)會(huì)被別人看到,別人可能會(huì)質(zhì)疑你,要與你擊劍,這又會(huì)迫使你加深對(duì)這個(gè)知識(shí)點(diǎn)的理解。

在哪些好呢?我建議你在知乎上寫(xiě)。

知乎上程序員多,大神多,噴子多,人多就容易碰撞,讓你成長(zhǎng)更快。我個(gè)人覺(jué)得知乎上對(duì)知識(shí)細(xì)節(jié)理解類(lèi)文章質(zhì)量還是很高的,基本上很多都通俗易懂。

為什么不推薦一些對(duì)口博客呢?.....自行體會(huì)吧。

最后

當(dāng)你有了廣度并且有了輸出,漸漸地你的知識(shí)體系就建立起來(lái)了,然后就可以往深度發(fā)展了。

不過(guò)要切記,塔尖不是一日而起的,唯有堅(jiān)持。

不要拈花惹草,當(dāng)你學(xué)并發(fā)的時(shí)候就把并發(fā)學(xué)完,不要并發(fā)學(xué)學(xué),Spring學(xué)學(xué)。

不要做朝三暮四的渣男。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉