C++學習 | 面試官:咱們只想要這樣的C++工程師

最近好多同窗來找就就說,我想找 xxx 方向的工做,我怎麼學習呀?我也不知道這個崗位的招聘要求是啥?前端

這個很正常哈,主要是我們平時不多去關注企業的招聘要求,因此不知道怎麼學,更不知道要學哪些內容。因此就就分析了大量公司的校園招聘,根據招聘要求給你們總結出了每一個方向的學習路徑。java

今天先奉上一篇關於C++方向的,java,Python,PHP,前端,測試這些方向的文章隨後也會出來,歡迎你們關注呀~~mysql

1、什麼是C++研發工程師呢?

C++是最貼近底層編程語言。linux

性能方面上,有着無可替代的優點特別是對於不少遊戲開發公司來講,C++尤爲適合做爲後端服務的開發語言。nginx

一些對於併發性能要求較高的業務上C++也有絕對的優點c++

所以大部分公司的核心業務都是用C++進行開發,C++工程師掌握着公司最核心最重要的業務體系,有着十分重要的地位。git

2、C++研發工程師能夠從事哪些崗位呢?

C++服務器程序員:流媒體後臺,遊戲後臺,高性能服務器後臺程序員

應用開發工程師windows /linux c++:QT和MFC,偏前端web

C++遊戲開發:遊戲方向,熟悉遊戲引擎cocos2dx等算法

C++逆向開發工程師:網絡安全,黑客攻防,破解等

智能硬件和可穿戴設備:C/C++,Linux平臺,VR/AR,軟硬兼施等

圖像處理:機器視覺,醫學圖像,遙感圖像,人像等

3、我想成爲一名C/C++工程師,該學習哪些內容呢?

一、玩轉C語言

  • 數據類型、流程控制、函數、指針
  • 內存佈局、結構體、共用體、文件操做
  • 小項目:能夠本身設計一個通信錄

    主要是二級指針,結構體,文件的操做

二、C++入門

1)C++對C的擴展

  • C++關鍵字、命名空間、引用
  • C/C++混合編程、函數擴展

2)C++基礎

  • 面向對象編程思想、類的封裝
  • 構造函數、析構函數、靜態成員
  • 對象管理、友元函數與友元類
  • 操做符重載、繼承與多繼承、多態
  • 虛函數與抽象類、函數模板與類模板
  • 智能指針
  • 輸入輸出流、異常處理

3)數據結構

  • 算法基礎、順序存儲、鏈式存儲
  • 循環鏈表、雙向鏈表、棧(順序&鏈式)
  • 隊列(順序&鏈式)、樹的概念 & 遍歷
  • 二叉樹、平衡樹,搜索樹、紅黑樹
  • 各類排序算法

三、C++進階

1)STL

  • 序列式容器:堆棧容器、雙向鏈表容器
  • 關聯式容器:STL算法詳解

2)設計模式和UML

  • 設計模式概念、面向對象設計原則
  • 單例模式、工廠模式、UML應用

3)小項目:貪吃蛇

  • 對經常使用數據結構鏈表的使用,類額使用
  • 項目開發流程的熟悉

4.一、初始Linux

  • Linux操做系統的介紹、Linux目錄和路徑
  • Linux文件權限、Linux經常使用命令
  • VIM編輯器、websever的環境搭建

4.二、深刻理解Linux

1)基本操做:運維操做、文件I/O 操做

2)系統編程

  • 進程控制原理、進程間通訊、Linux信號處理
  • 進程間關係、守護進程、線程控制原理、線程間同步

3)網絡編程

  • 網絡編程協議(TCP/IP、UDP)、Socket套接字原理
  • 高併發服務器、異步I/O、Libevent

4)小項目:web服務器

  • 多進程、多線程、進程間通訊
  • 多任務編程、網絡數據通訊過程
  • B/S、C/S 網絡概念

五、數據庫知識

  • oracle
  • mysql
  • MongoDB

六、桌面應用開發方向

  • Qt經常使用的控件
  • Qt繪圖與文件操做
  • Qt界面編程實戰案例
  • MFC對話框與經常使用空間
  • MFC界面編程

七、分佈式雲平臺開發

  • 分佈式文件存儲服務器和緩存服務器
  • 深刻理解nginx
  • 負載均衡反向代理
  • git

今天要說的就這麼多啦

就就把每一個模塊掌握的知識點都列出來了

你們能夠對照着這個查漏補缺呀

還有什麼其餘問題均可以在討論區進行提問呀

就就必定會給你滿意的答覆~

相關文章
相關標籤/搜索