光背面試題可沒用,談談如何真正掌握一個技術知識點

閱讀本文大概需要 3 分鐘。

如何真正地掌握一個技術知識點,這是我一直在探索的一個問題,在秋招復習的那段時間,我主要通過閱讀博客、整理博客等方式構建了自己的知識體系,所以也算是有了一些經驗,在這裏分享給大家。

1、第一次接觸

作爲一個學習者,在學習過程中往往會遇到很多新概念,比如你在學習併發編程的時候,會遇到“鎖”、“同步”、“CAS”等奇奇怪怪的概念,光看文字解釋大部分人都是一頭霧水,我也一樣。

所以,第一次接觸一個技術知識點,往往是我們充滿好奇,渴望探索的時刻,保持這份好奇心,繼續下一步探索吧。

2、深度優先遍歷

深度優先遍歷(DFS)是一種算法思想,用在這裏,想表達的是“如果遇到一個陌生的概念,學習它的過程中往往會同時遇到其他陌生的概念”那麼就用深度優先遍歷的方法去搞定它。

剛剛我們提到併發編程裏的“鎖”這個概念,就應該噶

比如我遇到了“網絡IO模型”這一問題時,卡在了IO多路複用這一問題上,搜索以後,發現IO多路複用在Linux操作系統上的解決方案有:poll、epoll和select。

這三個概念又是什麼東西呢,沒辦法,只好用DFS的方法繼續去了解,搞懂了poll之後,繼續搞懂epoll,而理解epoll又是相當費勁的,不得不去了解epoll的實現原理,甚至需要去看源碼,可見學習一個技術知識點並不輕鬆。

3、搞懂底層原理

對於上面提到的epoll,筆者爲了學習它實在費了不少功夫,一開始光看一些面試題的解答,以爲記住答案就可以了,但是真正到面試的時候你就會發現背的東西根本靠不住,一是容易忘,二是容易被看穿。

當你背了很多面試題的答案之後,你就會發現,背的越多,忘得越多,這就是一個惡性循環,怎麼辦呢,只好硬着頭皮去理解原理唄。

當然,對於這種級別的知識點,我可不推薦你抱着《UNIX網絡編程》去

探索,有點太誇張了,去看一些比較好的博客就足夠了,比如在掘金,開發者頭條,搜一下你感興趣的知識點,挑幾個高贊回答瞅一瞅,總有幾個大佬能告訴你真相的。

我早已熟悉這一學習方式,於是很快就找到了一篇講解epoll原理的文章,這篇文章不僅把基本概念解釋清楚,甚至還解析源碼,另外,我在另一篇文章裏找到了epoll底層數據結構的示意圖,竟然是一顆紅黑樹。此時再把兩者一結合,基本上這個概念就變得很好理解了。

4、構建自己的知識體系

不管是學什麼技術,最終都需要你進行歸納、整理,才能把所學的東西變爲自己的。工作爲什麼要寫日誌,平時學習爲什麼要寫博客,其實就是在構建自己的知識體系。

在學習的過程中多做筆記,多做總結,習慣一旦形成,久而久之,便會印在你的腦海裏,你下次再被問到這一問題時,你就可以用自己之前總結過的內容來回答。

比如我在學習Java併發編程的時候,一開始也覺得毫無頭緒,相關知識點雜亂無章,後來我整理了一個技術專欄叫做“Java併發指南”,在這裏的過程中梳理了併發編程的知識結構,從最基礎的Java多線程,再到JMM內存模型、鎖、JUC併發包、JUC源碼,依次進行學習。

如果對我整理的博客專欄感興趣,也可以直接點擊原文鏈接進行查看。

聽說點“好看”是種美德?我要先點個好看 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章