C 面試寶典(純乾貨)

2021-10-17 10:49:08 字數 2034 閱讀 3555

const的作用有哪些,談一談你對const的理解?

描述char*、const char*、char* const、const char* const的區別?

指標常量和常量指標有什麼區別?

static的作用是什麼,什麼情況下用到static?

全域性變數與區域性變數的區別?

巨集定義的作用是什麼?

記憶體對齊的概念?為什麼會有記憶體對齊?

inline 內聯函式的特點有哪些?它的優缺點是什麼?

如何用c 實現 c++ 的物件導向特性(封裝、繼承、多型)

memcpy怎麼實現讓它效率更高?

typedef和define有什麼區別?

extern有什麼作用,extern c有什麼作用?

如何避免野指標?

如何計算結構體長度?

sizeof和strlen有什麼區別?

知道條件變數嗎?條件變數為什麼要和鎖配合使用?

c語言和c++有什麼區別?

struct和class有什麼區別?

extern "c"的作用?

函式過載和覆蓋有什麼區別?

談一談你對多型的理解,執行時多型的實現原理是什麼?

對虛函式機制的理解,單繼承、多繼承、虛繼承條件下虛函式表的結構

如果虛函式是有效的,那為什麼不把所有函式設為虛函式?

建構函式可以是虛函式嗎?析構函式可以是虛函式嗎?

面試系列之c++的物件布局【建議收藏】

什麼場景需要用到純虛函式?純虛函式的作用是什麼?

了解raii嗎?介紹一下?

raii妙用之計算函式耗時

raii妙用之scopeexit

類的大小怎麼計算?

volatile關鍵字的作用?什麼時候需要使用volatile關鍵字

如何實現乙個執行緒池?c++執行緒池的實現之格式修訂版

了解各種強制型別轉換的原理及使用?

指標和引用有什麼區別?什麼情況下用指標,什麼情況下用引用?

一般什麼情況下會出現記憶體洩漏?怎麼用c++在編碼層面盡量避免記憶體洩漏。

unique_ptr如何轉換所有權?

談一談你對物件導向的理解

什麼場景下使用繼承方式,什麼場景下使用組合?

new和malloc有什麼區別?

21.c++11新特性你都了解多少?

22.stl

如果你能知道所有的設計模式最好,即便不知道所有的設計模式,下面這些高頻設計模式你還是需要了解的。

分別寫出餓漢和懶漢執行緒安全的單例模式

說出觀察者模式類關係和優點

說出**模式類關係和優點

說出工廠模式概念和優點

說出構造者模式概念

說出介面卡模式概念

程序和執行緒的區別?深度好文|面試官:程序和執行緒,我只問這19個問題

作業系統是怎麼進行程序管理的?

作業系統是如何做到程序阻塞的?

程序之間的通訊方式有哪些?

什麼是上下文切換,作業系統是怎麼做的上下文切換?

執行緒是如何實現的?

執行緒之間私有和共享的資源有哪些?

一般應用程式記憶體空間的堆和棧的區別是什麼?

程序虛擬空間是怎麼布局的?10張圖22段**,萬字長文帶你搞懂虛擬記憶體模型和malloc內部原理

虛擬記憶體是如何對映到物理記憶體的?了解分頁記憶體管理嗎?作業系統記憶體管理,你能回答這8個問題嗎?

產生死鎖的必要條件有哪些?如何避免死鎖?

什麼是大端位元組,什麼是小端位元組?如何轉換位元組序?

訊號和訊號量的區別是什麼?

鎖的效能開銷,鎖的實現原理?

了解cpu的cache嗎?如何寫乙個高效的多維矩陣乘法?如何利用cpu cache寫出高效能**,看這些圖就夠了!

gcc hello.c 這行命令具體的執行過程,內部究竟做了什麼?gcc a.c 究竟經歷了什麼?

程式一定會從main函式開始執行嗎?

如何確定某個函式有被編譯輸出?

動態鏈結庫和靜態鏈結庫的區別是什麼?linux 為什麼要動態鏈結?與靜態鏈結的區別是什麼?

C 面試寶典 C 基礎知識

1.c 和c的區別 設計思想上 c 是物件導向的語言,而c是面向過程的結構化程式設計語言 語法上 c 具有封裝 繼承 多型三種特性 c 相比於c,增加多許多態別安全的功能,比如強制轉換 c 支援正規化,比如模板類 函式模板等 2.野指標是什麼?3.說一下static關鍵字的作用?1.全域性靜態變數 ...

面試寶典12

1 請你自我介紹一下自己好嗎?3 說說你最大的缺點?4 你對薪資的要求?5 你對加班的看法?回答樣本 如果工作需要我會義不容辭加班,我現在單身,沒有任何家庭負擔,可以全身心的投入工作。但同時我也會提高工作效率,減少不必要的加班。6 如果通過這次面試我們錄用了你,但工作一段時間卻發現你根本不適合這個職...

cpp面試寶典

小白在面試寶典上的遊蕩 下面開始今日說法 比較兩端 include using namespace std int main cout 0 2 1 分析 初始化a 0,x 0,滿足a 1,且x的非為1,所以符合迴圈條件,x自加為1,a自加為1,進入迴圈體a加為2,已經不符合小於等於1的條件,所以後面...