首頁>科技>

我之前會有這樣的疑問,我覺得有些人一直寫某一塊的知識,我就好奇, 一直寫這方面的東西,難道不會寫到最後無話可說嗎?因為該寫的不都寫完了嗎?

你怎麼看待這個問題呢?

作者 | ithuangqing

後來慢慢的,我發現自己之前的想法真的很幼稚且天真,因為 我這裡忽視了很重要的一個東西,那就是成長 ,人是會成長的,隨著自己的成長,自己的知識廣度和深度,以及自己的認知都是在不斷的提高的,那麼對於同樣一個問題就會出現一個不斷打磨和反覆迭代的過程。

而經過這個過程的輸出,展現給你們的東西是更加的高質量的,經驗性的東西也是會不斷的升級的,之前也許要寫3000字去給你說明一個道理,可能你還雲裡霧裡,這裡不能完全怪讀者的理解能力不行,更重要的是作者本人目前沒辦法以更少的字去把這個問題講解的更加透徹。

所以,人,是需要保持不斷學習的,你不用擔心,這些知識學來學起都是那些的問題,當你的所學達到一定高度,你的思維層面就上升了。

1、知識學了就忘的問題

就好比這個問題,我當初對這個問題那是百思不得其解,覺得自己學了就忘,難受得很吶,一直在尋求如何解決這樣的問題,我當時的總結就是,為什麼我們會學了就忘呢?大概有如下幾個原因:

知識沒有用起來

知識缺少必要的複習

知識的學習不成體系

知識學習方法有問題

怎麼樣?你覺得是這樣嗎?我當初似乎找到了問題所在,那怎麼解決這個問題,我的解決辦法就是輸出,也就是寫部落格,然後集中系統化的去學習一個系列的知識,然後把它輸出出來,就比如我自知,自己的計算機基礎知識比較差,於是我就集中的去做這塊的輸入和輸出。

是的,剛寫完筆記文章的那段時間,我覺得自己的基礎還是可以的,覺得心裡的知識量鼓囊囊的,但是現在,對,就此時此刻的我看著這些標題,我又迷茫了,不知道自己都寫了什麼……

是的,我又忘了……

這還寫個錘子啊,知識學了就忘不還是沒有解決嗎?不過,我得告訴你,這並不是全部!

雖然以上我寫的東西,我覺得我忘了,是的,我說我是覺得我忘了,實際上呢? 看到某一個標題,我還是有點印象的,然後重點是,我點開看這篇文章,很多熟悉的字眼立馬就來了,有些內容,我甚至能回想出當初思考它的時候是怎麼想的,然後我可以用比較快的時間去看這篇文章所講的內容,然後我就會突然覺得自己腦海中之前這塊的知識被突然喚醒了。

這也許就是輸出的真正意義所在吧!

有時候做筆記,說的是為了以後看,但是實際上以後看的機會很少,不過這個做筆記的過程,就是建立知識結構的過程,這個過程遠比以後看有效多了,你說呢?

還有一點就是我在寫這些文章的時候,當時確實是下功夫了,其中我記憶比較牢固的一個知識點就是關於連結串列的理解,之前我對連結串列一直不太理解,搞不懂這是個啥玩意,但是當我真正下功夫去研究學習它的時候,我發現當我真正的去理解了它的時候,我基本不會忘記它了,就是說這個知識真的成了你的知識了,這種感覺超棒的。

所以,輸出真的特別重要!

經歷這樣的一個過程,讓我對知識學了就忘的問題不那麼恐懼了,但是實不相瞞,它依然是我的一個心結,我還是會是不是想起它,伴隨而來的是無助與難受。

直到有一次我請教了幾位大佬前輩,得到以下兩句話:

1、不要把知識遺忘當成問題去解決,你解決不了的,知識遺忘是一件正常的事情

2、忘了就忘了,忘了就再看看,用的多了自然就記住了,用的不多的記它幹嘛

首先第一句話,讓我擺正心態,正確去面對知識遺忘這個問題,從心裡慢慢接受這不是個問題,另外第二句就是讓我知道得不斷的去學習去輸出,去把知識用起來,如果沒有實際運用的場景,那如何達到“用的多了自然就記住了”的一個狀態呢?

答案是, 真正的去理解它,反覆強化這一知識點,讓其成為長期記憶!

好了,看到這裡,我有沒有幫你解決知識學了就忘這個問題呢?

接下來,咱們來談第二個問題。

2、學習新知識的方法

很多私底下詢問我關於自學程式設計問題的人,我都會告訴他們,程式設計這個行業需要你持續不斷的學習,因為技術的更新迭代非常的快,而且要學習的知識點真的是特別的多,所以, 對於一個想要自學程式設計的人來說,掌握正確的學習新知識的方法,尤為重要!

你覺得最好的學習新知識的方法是什麼?對於程式設計來說,我們大致把它分為理論和實戰,就是你學習的知識,後期是可以用到的,那這個該如何學習?

大部分人應該是先學習理論知識,之後再去實戰,這其中會存在一個嚴重的陷阱,就是很多人學了無數次的理論,卻不曾有一次的實踐。

由於知識遺忘是個正常現象,所以你這樣的學習其實是付出和收穫不成正比的。

那學習新知識的方法是什麼呢?

其實啊,最好的方式就是邊學邊用,也可以說,理論和實踐要五五開,甚至實踐還要多一點,不要只學不用,然後這樣的效果其實還不好,想要更好的效果,你還得把自己學到的東西交給別人,是的,這就是所謂的費曼學習法,把所學教授他人,做到輸出,有入有出,然後你還可以讓你的學習效果更好一點,是什麼呢?就是你要注重輸出這一步,就是不 能為了輸出而輸出,你必須得做到真正的明白,教授他人的時候,你得保證給別人教懂啊 ,不要自己費盡口舌,別人一臉懵逼,這就不行了。

那怎樣才能做到真正的明白呢?就是你可以用自己的話敘述出來,而且說給別人,別人能聽懂,你要知道,能做到這樣,說明你對這一知識點是真的理解了。

現在有很多的技術文章,看起來就跟讀書一樣,完全看不到作者自己對這塊的一個思考,這樣就很沒意思,這個可以忽略,就是突然想起來吐槽一下!

所以這裡就有兩個重要的方法:

(1)教別人

(2)做到能複述

這裡我想特別強調一下複述,為什麼要把知識自己能夠複述出來呢?因為我們一般死記硬背的知識都是最原始的一些知識,但是對於一個知識,你如果能複述出來,則說明,你在複述的過程中和學習這個知識的過程中是有自己的理解的,這點非常重要。

這樣做的好處就是, 你不但清晰地瞭解了這些資訊,而且更重要的是由於你的理解,它們都內化成了你的知識,也就是形成了長期記憶。

ok,到了這裡,本文就結束了,如果你能隻字不差地讀到這裡,說明你是一個具備深度閱讀能力的人,恭喜你,你已經超越99%的人了。

希望對大家有幫助~

如果你想更好的提升你的程式設計能力,好好學習C/C++程式設計知識,以後努力成為高薪軟體開發工程師的話!

程式設計學習書籍:

程式設計學習影片:

分享(原始碼、專案實戰影片、專案筆記,基礎入門教程)

34
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 扎克伯格:未來Facebook將有半數員工遠端工作