來源:cv.qiaobutang.com/post/55b1b7f30cf20b05d650f7d5
面試形式:一對一,聊天+寫代碼
面試題目:
1、C和C++
堆和棧的區(qū)別
new和malloc的區(qū)別
free和delete如何知道應(yīng)該釋放多少內(nèi)存
寫個類A,聲明類A指針指向NULL,調(diào)用類A的方法會有什么后果,編譯通過嗎?
C++如何找到不同類型的成員方法?
什么是重載,相同參數(shù)不同返回值可以嗎?為什么?
對不同函數(shù)編譯器會加什么參數(shù)?
extern?C
多態(tài)在現(xiàn)實中的應(yīng)用,多態(tài)的實現(xiàn)原理sizeof空類為多少?為什么這么設(shè)計?
sizeof一個只有一個虛函數(shù)的類等于多少?
AB兩個類各自有個虛函數(shù),C繼承A和B,sizeof(C)為多少?
構(gòu)造函數(shù)能聲明為虛函數(shù)嗎,析構(gòu)函數(shù)呢?為什么?
關(guān)于地址
對齊64位是什么意思,CPU64位指的是什么,操作系統(tǒng)64位指的是什么?
為什么要有地址對齊,CPU如何取址?哪些情況會遇到地址對齊,試舉一例?
2、進程與線程
兩者的區(qū)別——資源分配,調(diào)度,通信
os給進程和線程都分配哪些資源?
進程間通信有哪些方式(Linux)?分別怎么實現(xiàn)?
現(xiàn)有平行的幾個進程,如果其中一個進程掛了,會影響其他線程嗎?一個進程有多個線程,有一個掛了,對其他線程有影響嗎?為什么?
3、TCP
畫出三次握手,四次握手,為什么要三次和四次?
講講滑動窗口機制
關(guān)于time_wait為什么等待2MSL才關(guān)閉,如果有大量time_wait狀態(tài)連接會出現(xiàn)什么問題?
4、數(shù)據(jù)結(jié)構(gòu)
二叉樹中序遍歷的非遞歸實現(xiàn)
鏈表倒序輸出,不能改表鏈表結(jié)構(gòu),不能用任何自己開的輔助空間
5、vim的替換語句,
abc換成def6、
PHP字符串分解
7、關(guān)于linux的調(diào)試和VS的斷點調(diào)試原理