C 程式設計師需具備知識

2022-11-10 11:18:02 字數 2342 閱讀 4386

本公司c++程式設計師需具備知識

c++程式設計師應掌握資料結構、編譯原理、作業系統、離散數學等理論方面的基礎知識。此外,在程式設計實踐中,還需具備一些具體技術要點,新進c++程式設計師應在一年內完成學習「basic」類別知識點,兩年內完成學習「advance」類別知識點,三到四年內完成學習「expert」類別知識點。

一、語言相關

1、基礎(basic)

(1)變數與基本型別:語言內建型別、常量、變數的初始化、變數的作用域、變數的限定符、變數引用、列舉;(2)typedef和#define;

(3)數值與指標:陣列定義與初始化、多維數值、指標操作;(4)表示式:算術/邏輯計算、位運算、優先順序、型別轉換;

(5)語句:簡單語句、宣告/定義語句、復合語句、條件/迴圈控制語句、異常處理語句;

(6)函式:函式宣告、引數傳遞、堆疊概念、函式過載;

(7)標準io:條件狀態、緩衝區、檔案流、字元流、本地化;

(8)類和資料抽象:類的定義與宣告、類的建構函式、靜態成員、拷貝建構函式、操作符過載、型別轉換;

(9)物件導向程式設計:資料(封裝)抽象、繼承、多型(動態繫結);2、高階(advance)

(1)模板與泛型程式設計:模板定義、例項化、類模板成員、過載、特化;(2)智慧型指標:auto_ptr、shared_ptr、scoped_ptr;

(3)stl容器:順序容器(vector、list、deque、queue、priority_queue、string)和關聯容器(map、set、multimap、multiset);(4)stl演算法:迭代器、演算法;(5)常用複雜資料結構:

hash_map、 array、boost. regex、boost. variant、boost.

multi_array、boost. pointer_container;3、高階(expert)

(1)高階泛型程式設計:表示式模板、模板元程式設計、concept程式設計;(2)程式架構,記憶體池,執行緒池;

(3)高階抽象:正規化應用:

(5)應用程式庫:二、系統相關

1、基礎(basic)

(1)windows api之基礎服務:檔案系統、登錄檔、記憶體管理、dll、多**;

(2)windows api之核心物件:控制代碼、訊號、執行緒、程序、互斥、事件、檔案對映、命名管道、郵槽、計時器、完成埠;

(3)windows api之圖形裝置介面:裝置上下文、列印、字型、筆/刷、路徑、區域、位圖;

(4)windows api之圖形使用者介面:視窗、標題、選單、狀態列、訊息、圖示、按鈕、

編輯框、組合框、列表框、滾動條、通用對話方塊;

(5)環境配置及shell程式設計:環境變數、右鍵選單、屬性、關聯;(6)socket程式設計;(7)web相關api;2、高階(advance)

(1)mfc/atl:文件檢視結構、對話方塊、通用控制項、oledb、wininet;(2)com、自動化、activex:office開發、ie外掛程式、vba;(3)高階圖形系統:

opengl、directx;(4)二次開發:objectarx;三、計算相關

1、計算機圖形學

(1)向量:點積、叉積、求模、單位化、復合運算;(basic)

(2)矩陣:算術運算、平移/旋轉/縮放/錯切等變換、求逆、特徵值;(basic)(3)四元組合尤拉角:與其他表示轉換;(advance)(4)引數曲線/曲面:

貝塞爾、(非)均勻有理樣條;(advance)(5)三維幾何體的構造與描述;(expert)2、計算幾何

(1)幾何查詢與判斷:點與線、線與線、點與多邊形;(basic)(2)多邊形:簡單多邊形、凸多邊形、多邊形三角剖分;(advance)(3)凸殼及其應用;(advance)(4)voronoi圖/三角剖分及其應用;(advance)(5)多邊形的交與並;(expert)(6)平面圖;(expert)3、數值計算

(1)數值計算的三大任務:求值、解方程(組)、函式逼近;(basic)(2)數值計算的誤差、適定性、穩定性;(basic)

(3)解線性方程組直接方法:gauss消元法、三角分解法;(basic)

(4)解線性方程組一般迭代方法:基本迭代、jacobi迭代、g-s迭代、sor/ssor迭代;(advance)

(5)解線性方程組的變分迭代法:共軛梯度、預處理共軛梯度法;(expert)(6)解非線性方程組迭代方法:newton迭代法、newton-raphson迭代法、同倫演算法;(expert)

(7)求解矩陣特徵值:乘冪法與反乘冪法、rayleigh商迭代法、qr法、krylov子空間法;(expert)

(8)插值:多項式插值、樣條插值;(advance)(9)數值積分:simpson公式、gauss積分;(basic)(10)解常微分方程:

尤拉法、runge-kutta法;(advance)(11)解橢圓方程:有限單元法、有限差分法、邊界元法;(expert)

程式設計師需要具備的幾條素質

作者 金蝶中介軟體公司cto袁紅崗 不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。1.紮實的基礎。資料結構 離散數學 編譯原理,這些是所有電腦科學的基礎,如果不掌握...

C 程式設計師面試常見問題

引用是c 引入的新語言特性,是c 常用的乙個重要內容之一,正確 靈活地使用引用,可以使程式簡潔 高效。我在工作中發現,許多人使用它僅僅是想當然,在某些微妙的場合,很容易出錯,究其原由,大多因為沒有搞清本源。故在本篇中我將對引用進行詳細討論,希望對大家更好地理解和使用引用起到拋磚引玉的作用。引用簡介 ...

王牌6 C 程式設計師面試技巧

c 程式設計師面試技巧王牌6 步入一家正規公司的關鍵就是面試中的表現,下面就介紹下c 面試技巧。技巧一 外表 語言方面 參加面試的時候一定不要遲到,寧可早去。如果不能按時參加,一定要提前通知對方。穿著方面不能太過於隨便,也不能濃妝豔抹。一般來說,參加技術性的面試,穿著相對隨便一些,以防乾淨,得體就好...