【C/C++學(xué)習(xí)路線】(上):學(xué)完了C/C++語法之后該學(xué)什么?
在學(xué)完了C/C++語法之后,我相信很多朋友都會比較迷茫,到底應(yīng)該學(xué)什么?
其實總結(jié)起來無非就是:
1、網(wǎng)絡(luò)編程;
2、操作系統(tǒng);
3、數(shù)據(jù)庫;
4、數(shù)據(jù)結(jié)構(gòu)與基礎(chǔ)算法;

掌握這些基礎(chǔ)知識,就像我們的內(nèi)功,如果在未來想要走的更遠,這些內(nèi)功是必須要修煉的??蚣芮ё?nèi)f化,而這些通用的底層知識,卻是幾乎不變的,了解了這些知識,可以幫助我們更快著學(xué)習(xí)一門知識,更加懂得計算機的運行機制。
一、網(wǎng)絡(luò)編程
在我們用的程序中,99% 都離不開網(wǎng)絡(luò),作為一個程序員,我覺得了解計算機網(wǎng)絡(luò)是必須的,在大學(xué)的課程中,一般也都會開設(shè)這一門課。其實大家或許有這種疑問,一臺電腦是怎么把消息發(fā)給另外一臺電腦的呢?例如:
1、兩臺電腦啥線路也沒有相連,怎么就能把消息發(fā)送給他呢?
2、世界上的電腦那么多,咋就能找到那臺特點的電腦呢?有人說我們可以 MAC 或者 IP 來唯一標識啊,可是,疑惑又來了,世界那么大,電腦那么多,有了這個標識,我們該怎么找到他呢?遍歷所有電腦?
3、多個程序同時發(fā)消息給一臺電腦,電腦是如何準確把這些消息拿給這些不同程序的呢?
4、發(fā)送的消息丟失了怎么辦?
總之,一大堆疑問,看了計算機網(wǎng)絡(luò)之后,才豁然開朗。

所以這里,我是強烈建議大家學(xué)一下的,在面試中,計算機網(wǎng)絡(luò)也是高頻考點,這里我大致總結(jié)一下一些必學(xué)協(xié)議以及面試高頻考點:
1、http協(xié)議,包括:封裝格式,常見響應(yīng)碼,不同版本的區(qū)別,常見請求方法,存在哪些安全隱患,啥是無狀態(tài)協(xié)議等。
2、https建立連接的詳細過程,哪里用了對稱加密,哪里用了非對稱加密,對加密算法(如RSA)等是否有了解?
3、TCP協(xié)議:三次握手、四次揮手、如何保證可靠傳輸、流量控制、擁塞控制、滑動窗口等等。
4、UDP 廣播 多播
5、DNS、ICMP、ARP、DHCP、LWIP

上面寫的這些協(xié)議,我覺得是比較重要的,特別是在面試中。
推薦書籍:《計算機網(wǎng)絡(luò)系統(tǒng)方法(原書第4版)》、《TCP/IP詳解》三卷
**


二、操作系統(tǒng)
操作系統(tǒng)也是一門非常重要的知識,在面試中也是問的非常多。對于操作系統(tǒng),要學(xué)的也太多太多了,例如:
啥是進程,啥是線程,他們的本質(zhì)區(qū)別?我們運行一個程序時,數(shù)據(jù)放在哪里?代碼放在哪里?咋就還要分堆和棧?線程切換時是上下文是啥意思?
虛擬地址是什么鬼東西?線程需要那么多種狀態(tài)干啥子?什么是樂觀鎖、悲觀鎖?死鎖是怎么造成的?解決死鎖的策略有哪些?等等

對于操作系統(tǒng),我總結(jié)了下面一些比較核心,面試相對容易被考到的。
1、進程的通信方式

2、進程地址空間分段

3、內(nèi)存管理,包括:虛擬內(nèi)存(重點)、分頁、分段、分頁系統(tǒng)地址映射、內(nèi)存置換算法(重點)。
4、死鎖的處理策略(死鎖預(yù)防、死鎖檢測與恢復(fù)、死鎖避免)
5、進程調(diào)度算法
6、磁盤尋道算法

上面說的這些,我認為是比較重要的,如果你沒學(xué)過,我相信學(xué)了之后,你可以學(xué)到很多東西,知識點只是其中之一。
推薦書籍:我看過的書籍是《操作系統(tǒng)之哲學(xué)原理》,不過大佬們都推薦《深入理解計算機操作系統(tǒng)(原書第三版)》,我看過目錄,感覺還不錯,這里也推薦這一本。不過對于零基礎(chǔ)的,我建議可以先看一本專門給小白看的書:《程序是如何跑起來的》。

希望對大家有幫助!下期我們將會繼續(xù)分享~
如果你想更好的提升你的編程能力,進入到百度騰訊等大廠工作,好好學(xué)習(xí)C/C++編程知識成為高薪軟件開發(fā)工程師的話!那么你很幸運~

UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會對你有幫助的~
分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
編程學(xué)習(xí)書籍:

編程學(xué)習(xí)視頻:
