C++軟體工程師,你該會什麼?
C語言廣泛用於基礎軟體、桌面系統、網路通訊、音訊視訊、遊戲娛樂等諸多領域。是世界上使用最廣泛的程式語言之一。隨著物聯網技術的發展,C/C++技術在3G網路通訊(行動網路、網際網路、Zigbee等專用網路)、多媒體處理、智慧識別等領域得到了進一步的推動和發展。
作為資深的C++國際軟體工程師,必須具備的技能有:
首先,C語言的開發基礎(C、C++、演算法和資料結構、模板STL)。
(1)Unix/Linux基礎。要熟悉Unix/Linux系統的基本操作和基本命令,掌握Vi編輯器的用法。主要內容有,Unix/Linux作業系統Kernel和Shell;Unix/Linux
(2)標準C基礎。要完全掌握C語言的本質,成為一名合格的C程式設計師還要知道gcc編譯器,資料型別,變數和常量;運算子和表示式,分支,迴圈;陣列,函式,指標和字串,結構,聯合和列舉;指標的高階應用,雙指標,void指標,函式指標;C標準庫,堆積記憶體分配,IO等。
(3)C++程式設計。掌握C++語言高階特性,理解面向物件程式設計思想,掌握封裝,繼承,多型三大特性,要知道C++異常處理,掌握運算子過載。其中還有,C++名稱空間和資料型別;面向物件程式設計(OOP),類和物件;構造器,拷貝構造,析構,new/delete
(4)資料結構和演算法,線性結構、雙向連結串列、棧和佇列、樹和二叉樹、順序查詢法和二分法查詢法、排序法(冒泡、選擇、插入、快速),這些有助於LinkedList的實現。
(5)模板和STL類模板和,模板類、函式模板和模板函式、型別推斷、類模板和函式模板的特化,智慧指標的實現、標準模板庫、STL容器、迭代器和演算法。這些都是T-Emis企業資訊管理系統的重構。
然後,Unix的高階開發和資料庫開發(UC程式設計、OracleSQL、PL/SQL、Pro*c、QT)。
(1)Unix/Linux
(2)Oracle資料庫和資料庫開發。Oracle SQL查詢語句,Oracle SQL DML和事務處理語句,Oracle SQL建表和約束,Oracle 的序列、檢視和索引,PL/SQL儲存過程,PL/SQL函式,PL/SQL遊標和觸發器,PL/SQL異常處理,Pro*c操作資料庫;動態SQL
(3)QT圖形介面開發。要熟練使用QT Creantor和Designer進行開發。
(4)最好還能進行大型專案T-DMS電信計費系統開發,編寫T-DMS電信資料採集系統,包括:資料讀取模組,資料匹配模組,資料傳送模組,資料接收模組,資料儲存模組,資料整合模組。
最後,Windows開發/VC++(Win32核心程式設計、MFC開發、COM元件開發、Windows網路和資料庫程式設計)。
(1)Win32核心程式設計。包括:Windows視窗程式開發,Windows訊息機制和訊息相關函式,Windows繪圖,Windows空間開發,Windows檔案管理和目錄管理函式,Windows資源的使用,Windows記憶體管理,Windows靜態庫和動態庫,Windows程序開發,Windows執行緒和執行緒同步。
(2)MFC框架開發,包括:MFC基礎,MFC訊息對映和訊息處理,MFC選單、工具欄和檢視,MFC繪圖和DC,MFC集合類,MFC序列化,MFC控制元件,MFC對話方塊和屬性頁,MFC動態庫,MFC執行緒。
(3)COM元件開發,包括:元件和介面基本概念,COM元件和ATL庫的應用,類廠和元件,介面調動和介面函式,Automation程式,Activex控制元件的使用。
(4)WINDOWS網路和資料庫程式設計,其中包括:Windows訪問資料庫技術ADD(Activex Data Object);Windows網路基礎;有連線協議(TCP)和無連線協議(UDP);Windows Socket APL;MFC Socket程式設計。