C++面試常見問題整理(待補充)

1、 對於static的理解?
2、 Static修飾的全局變量和普通全局變量有什麼區別?static修飾的局部變量和普通局部變量有什麼區別?
3、 對於extern關鍵字的理解?
4、 用static修飾和extern修飾的變量有什麼區別
5、 在c++程序中使用extern“C”的作用是什麼?
6、 頭文件中ifndef/define/endif的作用是什麼?
7、 對於const關鍵字的理解,有什麼用途。
8、 關鍵字define和const的聯繫和區別。
9、 #include<>和#include””的區別?
10、 評價C/C++各自的特點。
11、 sizeof和strlen有什麼區別?
12、 指針和引用有什麼區別?
13、 指針和數組有什麼區別?
14、 空指針和懸垂指針有什麼區別?
15、 Malloc/free和new/delete的區別?
16、 什麼是隻能指針?
17、 面向對象技術的基本概念是什麼?
18、 面向對象技術的基本特徵是什麼?
19、 什麼是封裝?
20、 什麼是繼承?
21、 什麼是多態?
22、 C++空類中默認有哪些成員函數?
23、 哪一種成員可以在一個類的實例之間共享?
24、 爲什麼構造函數不能是虛函數?
25、 爲什麼析構函數可以而且通常必須是虛函數?
26、 爲什麼不把所有函數都設置爲虛函數?
27、 重載和覆蓋(重寫)有什麼區別?
28、 公有繼承、受保護繼承和私有繼承(三種繼承方式)
29、 哪幾種情況下只能用構造函數初始化列表而不能在構造函數中賦值初始化,爲什
麼?
30、 什麼是虛指針?
31、 使用初始化列表初始化的時候,其初始化順序是什麼樣的?
32、 如何阻止一個類被實例化?一般在什麼時候將構造函數聲明爲private?
33、 main函數執行之前會執行什麼?
34、 請描述進程和線程的區別?
35、 進程間如何通信?
36、 在網絡編程中涉及併發服務器,使用多線程與多進程的區別?
37、 說一下TCP三次握手和四次揮手的過程。
38、 TCP和UDP有什麼區別?
39、 調用函數時候要進行參數壓棧,其壓棧順序是什麼?
40、 經常要操作的內存分爲哪幾個類別?
41、 堆和棧的區別?
42、 Static數據成員和static成員函數
43、 如何引用一個已經定義過的全局變量?
44、 虛表和虛表指針實在什麼時候建立的?
45、 C++函數中值的傳遞方式有哪幾種?
46、 C++中是不是所有的動作都是由main()引起的?舉例說明。
47、 內聯函數和宏比較
48、 全局變量和局部變量的區別,是怎麼實現的?操作系統和編譯器是怎麼區分的?
49、 對於頻繁使用的短小函數,C和C++分別是怎麼實現的?
50、 堆棧溢出一般是由什麼原因導致的?
51、 局部變量和全局變量可以重名嗎?
52、 什麼是引用,對於引用的聲明和使用有什麼需要注意的?
53、 什麼時候使用常引用?常引用有什麼特點
54、 結構體和聯合體的區別
55、 C++是不是類型安全的?
56、 預處理功能主要有哪些?
57、 拷貝函數在哪些情況下會被調用?
58、 類外如何訪問類的非共有成員?
59、 有哪幾個運算符不允許重載?
60、 流運算符爲什麼不能通過類的成員函數重載?如何解決?
61、 對象間如何實現數據共享的?
62、 什麼是動態特性?
63、 什麼是RTTI
64、 什麼是拷貝構造函數?
65、 什麼是深淺拷貝?
66、 面向對象設計有什麼優點?
67、 談談你對多態的理解?
68、 談談編譯器是如何實現多態的?
69、 子類對象的構造過程及其虛表指針的初始化過程是怎樣的?
70、 是否可以將每個成員函數都聲明爲虛函數?爲什麼?
71、 C++中如何實現接口?
72、 純虛函數是什麼?
73、 內存泄露是什麼?如何檢查內存泄露。
74、 C++標準模板庫中都有些什麼容器,他們分別適用於什麼場 景

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章