
C語言:
除了最基礎的語法:變數、條件、回圈、字串、陣列、函式、結構體等之外
C語言最重要的那就是:指標、記憶體管理,以后企業里開發就靠它倆吃飯,這也是檢驗C語言掌握情況的兩大標準
推薦書籍:《C Primer Plus》、《C和指標》、《C專家編程》
C++:
C++和C語言確實是不同的語言,但是C++確實是對C語言的延伸,可以理解為在C語言里加入了面向物件的特性,因為只有面向物件特性的加持,代碼才能更好的復用、擴展和工程化,這是大型專案的必備要素
除了C語言所有的底子之外,還需要學習C++的面向物件(封裝、繼承與多型)特性、泛型、模板、STL等等
推薦書籍(有先后順序):《C++ Primer》、《Effective C++》、《C++ 標準程式庫》、《STL原始碼剖析》《深度探索C++物件模型》
最后一個小建議是:語言部分的學習建議不要拖太久,一定要規劃好時間,一鼓作氣,高強度給它壓下來,否則容易把自己搞泄氣,
編程基礎
包括:資料結構和演算法、計算機網路、作業系統、設計模式
這跟學什么編程語言、后續從事什么編程方向均無關,只要做編程開發,這四個計算機基礎就無法避開,可以這么說,這基礎四大件真的比編程語言重要!!!
1、資料結構和演算法
可以說這個直接決定了面試的成敗!幾種基礎資料結構型別得爛熟于心,比如:字串、鏈表、二叉樹、堆、堆疊、佇列、哈希等;基本的幾大演算法也要了如指掌,比如查找、排序、動態規劃、分治等等,
建議LeetCode多刷題,
參考資料:《大話資料結構》、《演算法》、《劍指offer》《LeetCode刷題》
2、計算機網路
此處的計算機網路指的就是TCP/IP協議堆疊,可以說它是當下互聯網通信的基石,無論如何一定要對TCP/IP的協議堆疊了如指掌,主要就是學習和掌握原理,包括:ARP協議、IP協議、ICMP協議、TCP和UDP協議、DNS協議、HTTP協議、HTTPS協議,
推薦書籍:《TCP/IP詳解》
3、作業系統
該部分重點包括:行程和執行緒的相關原理(原子性、并發、鎖)、記憶體相關原理(記憶體分布、記憶體調度)
推薦書籍:《深入理解計算機系統》
4、設計模式
倒不需要23種設計模式全部記住,常見的幾個如:單例模式、工廠模式、代理模式、策略模式、模板方法模式建議熟練于心,
推薦書籍:《大話設計模式》、《設計模式之禪》
應用編程實踐
這部分會涉及到一些工具、編程環境、和具體編程實踐,應該說這一部分學完,自己應該能做點東西出來、或者說能看懂一些實際專案的代碼,
實踐這部分,我也是結合我之前在通信公司的實際作業經歷和所聽所見,來聊一聊,
1、Linux作業系統的使用
很多人初學C語言、C++都是在Windows環境上進行的,而實際企業級開發幾乎不可能,所以Linux系統必須要會,我們別無選擇,先談使用,
包括:常見的Linux操作命令、基本的Shell編程,
2、編譯/除錯工具
首先是跟編譯相關的:編譯工具!
我們知道很多人學C語言、C++都在類似Visual Studio這種集成IDE里進行代碼編譯,這個其實也用了編譯器,只不過是微軟自家的MS編譯器,而且所有操作均可視化,
而企業里開發很少會基于Windows系統,所以Linux平臺上的編譯器更為重要,最典型的當屬GCC,甚至有些公司有自己定制過的交叉編譯工具,但沒關系,只要GCC熟悉,其他問題都不大,
其次,大家自學C語言、C++,都借助類似VS這種IDE,點按鈕即可對源檔案編譯,而企業里實際專案的編譯動作叫make,編譯的實際動作和程序都是寫在makefile檔案里,所以makefile的書寫規則建議學習!
最后說到除錯,Linux平臺上的GDB除錯工具要熟練使用,會借助于它進行除錯,
3、Linux環境編程
還是那句話,企業里C語言和C++幾乎都是基于Linux平臺的,這一部分我們沒辦法避開
(1)Linux系統編程
眾所周知,Windows系統編程里有各種各樣的Windows API,同理Linux系統API的使用就更加重要,
(2)多執行緒編程
此處指的是多執行緒編程實踐相關的東西,一般包括:執行緒、資源、信號、同步、互斥、鎖等等一些具體的編程方法,
(3)網路編程
此處的網路編程主要指的是具體Linux系統上的網路編程API和IO函式的編程實踐,
推薦書籍:這三部分綜合在一起,推薦書籍《Unix環境高級編程》、《Linux高性能服務器編程》、《POSIX多執行緒程式設計》

另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~
分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
免費學習書籍:
免費學習資料:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/262765.html
標籤:C
上一篇:C++指標筆記
