【C/C++學習路線】(上):學完了C/C++語法以後該學什麼?

在學完了C/C++語法以後,我相信不少朋友都會比較迷茫,到底應該學什麼?程序員

其實總結起來無非就是:面試

一、網絡編程;算法

二、操做系統;數據庫

三、數據庫;編程

四、數據結構與基礎算法;安全

掌握這些基礎知識,就像咱們的內功,若是在將來想要走的更遠,這些內功是必需要修煉的。框架變幻無窮,而這些通用的底層知識,倒是幾乎不變的,瞭解了這些知識,能夠幫助咱們更快着學習一門知識,更加懂得計算機的運行機制。微信

1、網絡編程

在咱們用的程序中,99% 都離不開網絡,做爲一個程序員,我以爲了解計算機網絡是必須的,在大學的課程中,通常也都會開設這一門課。其實你們或許有這種疑問,一臺電腦是怎麼把消息發給另一臺電腦的呢?例如:網絡

一、兩臺電腦啥線路也沒有相連,怎麼就能把消息發送給他呢?數據結構

二、世界上的電腦那麼多,咋就能找到那臺特色的電腦呢?有人說咱們能夠 MAC 或者 IP 來惟一標識啊,但是,疑惑又來了,世界那麼大,電腦那麼多,有了這個標識,咱們該怎麼找到他呢?遍歷全部電腦?框架

三、多個程序同時發消息給一臺電腦,電腦是如何準確把這些消息拿給這些不一樣程序的呢?

四、發送的消息丟失了怎麼辦?

總之,一大堆疑問,看了計算機網絡以後,才豁然開朗。

因此這裏,我是強烈建議你們學一下的,在面試中,計算機網絡也是高頻考點,這裏我大體總結一下一些必學協議以及面試高頻考點

一、http協議,包括:封裝格式,常見響應碼,不一樣版本的區別,常見請求方法,存在哪些安全隱患,啥是無狀態協議等。

二、https創建鏈接的詳細過程,哪裏用了對稱加密,哪裏用了非對稱加密,對加密算法(如RSA)等是否有了解?

三、TCP協議:三次握手、四次揮手、如何保證可靠傳輸、流量控制、擁塞控制、滑動窗口等等。

四、UDP 廣播 多播

五、DNS、ICMP、ARP、DHCP、LWIP

上面寫的這些協議,我以爲是比較重要的,特別是在面試中。

推薦書籍:《計算機網絡系統方法(原書第4版)》、《TCP/IP詳解》三卷

**


2、操做系統

操做系統也是一門很是重要的知識,在面試中也是問的很是多。對於操做系統,要學的也太多太多了,例如:

啥是進程,啥是線程,他們的本質區別?咱們運行一個程序時,數據放在哪裏?代碼放在哪裏?咋就還要分堆和棧?線程切換時是上下文是啥意思?

虛擬地址是什麼鬼東西?線程須要那麼多種狀態幹啥子?什麼是樂觀鎖、悲觀鎖?死鎖是怎麼形成的?解決死鎖的策略有哪些?等等

對於操做系統,我總結了下面一些比較核心,面試相對容易被考到的。

一、進程的通訊方式

二、進程地址空間分段

三、內存管理,包括:虛擬內存(重點)、分頁、分段、分頁系統地址映射、內存置換算法(重點)。

四、死鎖的處理策略(死鎖預防、死鎖檢測與恢復、死鎖避免)

五、進程調度算法

六、磁盤尋道算法

上面說的這些,我認爲是比較重要的,若是你沒學過,我相信學了以後,你能夠學到不少東西,知識點只是其中之一。

推薦書籍:我看過的書籍是《操做系統之哲學原理》,不過大佬們都推薦《深刻理解計算機操做系統(原書第三版)》,我看過目錄,感受還不錯,這裏也推薦這一本。不過對於零基礎的,我建議能夠先看一本專門給小白看的書:《程序是如何跑起來的》。

但願對你們有幫助!下期咱們將會繼續分享~

若是你想更好的提高你的編程能力,進入到百度騰訊等大廠工做,好好學習C/C++編程知識成爲高薪軟件開發工程師的話!那麼你很幸運~

C語言C++編程學習交流圈子,QQ羣1090842465點擊進入】微信公衆號:C語言編程學習基地

分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)

歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!

編程學習書籍:

編程學習視頻:

相關文章
相關標籤/搜索