雖然這些概念能夠快速幫助你去理解,但是這并不是一種最好的學習方式,如果你想要完整的理解這些概念,去看相關書籍或者論文。

1.遞歸
比如你坐在電影院正準備好看電影的時候,這時候剛來電影院的人問你坐的是第幾排,你懶的數就問前面的人,“哥們,你那一排是第幾排?”你只需要從對方口中得知他的行號 + 1 就是你坐的行號,但是你前面那哥們也做了同樣的事情,他也問了他前面的人。。。。。。依此類推,一直問到第一排,他回答:“我這是第一排!” 然后從現在開始,正確的行號將會一直 + 1 直到傳達給剛進電影院的那哥們。
2.大數據
假設你有一個花園,但是你花園中的水管漏水,你需要拿一些桶和密封材料來解決這個問題,但是過了一會兒,你發現實際泄漏的要大的多,你需要水管工拿更多的工具來處理,同時,你仍在使用水桶排水。 過了一會兒,你發現地下有一條巨大的地下溪流已經打開。你需要每秒處理數加侖的水。
這時候桶就沒用了,你需要一種全新的方法來解決這個問題,因為水的體積和速度都在增加。為了防止城鎮發生洪水,你需要 zf 建造一座大型水壩,然而這需要大量的土木工程專業知識和復雜的控制系統。
3 數據結構
關于數據結構,每位程序員都應該知道:數組、樹、棧、隊列、圖、哈希表、鏈表、堆
4算法
想象一下,你要去徒步旅行,而你的目標是盡可能到達最高峰,在開始之前你已經有了地圖,但是地圖上顯示了成千上萬條路,但是你無法評估每一條,所以扔掉了地圖,你從一個看起來很簡單的路開始走,這種方式就是根據感性來選出來的,是一種貪婪和短視的表現,你選擇只走最傾斜向上的路線。
5 并發
前景提要:假設你正在某公司擔任秘書,你所做的工作包括接打電話、安排會議、寫文件等,你總是需要根據任務的優先級來停下手頭的工作轉而做其他的(工作),每次電話響起時,你都需要停止正在處理的工作,隨著任務越積越多,你無法應對你的工作了,因為有太多的書寫任務,你向老板抱怨,他愿意再雇個人來幫你分擔書寫任務。
并行允許有兩個或者更多的任務同時運行,但是前提是你的 CPU 能夠支持多處理能力,人只有一個 CPU ,所以一心不能二用。這也并不是一件壞事,有的時候單線程的工作效率反而更高,而中斷(學習的時候被打斷)是工作的天敵,這種開銷實在是太大了。
6 計算機安全
計算機黑客類似于強制闖入你的房子里,下面有幾種流行的黑客技術。
這種做法就是嘗試使用成百上千種不同的密碼。有經驗的黑客會先嘗試最常用的密碼。
暴力攻擊會嘗試所有可能的密碼,通常首先猜測常用的密碼,如“123456”、“abcdef”等。
我之前嘗試過用 kali linux 配上專用的設備跑過包破解過鄰居家的 WI-FI ,結果密碼只是 000000 。