常見問題總結(jié)

作者:TK-Xiong

鏈接:https://www.nowcoder.com/discuss/3991

來源:??途W(wǎng)

C/C++相關(guān)

1.虛析構(gòu)、模板 和 宏

2.虛函數(shù)實(shí)現(xiàn)機(jī)制

(是每個(gè)類用了一個(gè)虛表,每個(gè)類的對(duì)象用了一個(gè)虛指針指向這個(gè)表)

3.vector與list的區(qū)別,map是如何實(shí)現(xiàn)的(RBTree),查找效率是多少(logn)

區(qū)別是…一個(gè)是連續(xù)空間,一個(gè)是指針串起來的…

Map的實(shí)現(xiàn)是紅黑樹RBTree

查找效率是logn

4.extern關(guān)鍵字有什么用?

標(biāo)識(shí)變量定義在其他文件

5.malloc和new的區(qū)別,能否malloc(1.2G)

malloc只分配空間不初始化,new既分配空間也初始化??梢?。

6.多態(tài)性都有哪些?

靜態(tài)多態(tài)和動(dòng)態(tài)多態(tài)。

靜態(tài)多態(tài)是函數(shù)重載

動(dòng)態(tài)多態(tài)是虛函數(shù)

7.動(dòng)態(tài)綁定怎么實(shí)現(xiàn)?

基類的指針或引用調(diào)用虛函數(shù)的時(shí)候發(fā)生動(dòng)態(tài)綁定。

如果實(shí)際指向的是派生類的對(duì)象,就調(diào)用派生類的函數(shù),如果是基類的,則調(diào)用基類的。

8.類型轉(zhuǎn)換有哪些?(四種類型轉(zhuǎn)換,分別舉例說明)

四種??床┛?。

9.操作符重載(+操作符),具體如何去定義?(讓把操作符重載函數(shù)原型說一遍)

10.內(nèi)存對(duì)齊的原則?(原則敘述了一下并舉例說明)

11.模版怎么實(shí)現(xiàn)?

12.指針和const的用法?(就是四種情況說了一下)

13.虛函數(shù)、純虛函數(shù)、虛函數(shù)與析構(gòu)函數(shù)?(純虛函數(shù)如何定義,為什么析構(gòu)函數(shù)要定義成

虛函數(shù))

14.內(nèi)聯(lián)函數(shù)(講了一下內(nèi)聯(lián)函數(shù)的優(yōu)點(diǎn)以及和宏定義的區(qū)別)

15.const和typedef(主要講了const的用處,有那些優(yōu)點(diǎn))

16.排序算法有哪些?快速排序怎么實(shí)現(xiàn)的?最好時(shí)間復(fù)雜度,平均時(shí)間復(fù)雜度

17.鏈接指示:extern “C”(作用)

18.c語言和c++有什么區(qū)別?(大體講了 一下,繼承、多態(tài)、封裝、異常處理等)

19.qt類中的一些繼承關(guān)系?

20.qt的信號(hào)與槽機(jī)制?

21.qt有那些類,控件?

22.plc是個(gè)什么玩意?

23.strcpy函數(shù)的編寫?(這個(gè)函數(shù)很熟悉,后來阿里校招面試也讓現(xiàn)場(chǎng)編寫了)

24.數(shù)據(jù)結(jié)構(gòu)中二叉樹的非遞歸遍歷?(現(xiàn)場(chǎng)畫圖舉例講解的,所以大家面試的時(shí)候盡量多

動(dòng)筆)

25.c++中四種類型轉(zhuǎn)換機(jī)制?

26.繼承機(jī)制中對(duì)象之間是如何轉(zhuǎn)換的?

27.繼承機(jī)制中引用和指針之間如何轉(zhuǎn)換?

28.虛函數(shù),虛函數(shù)表里面內(nèi)存如何分配?(這個(gè)考前看過了,答的還不錯(cuò))

29.如何實(shí)現(xiàn)只能動(dòng)態(tài)分配類對(duì)象,不能定義類對(duì)象?(這個(gè)??蜕系念}目,我把如何只能

動(dòng)態(tài)分配和只能靜態(tài)分配都講了一下)

30.stl有哪些容器,對(duì)比vector和set?

31.紅黑樹的定義和解釋?

32.const關(guān)鍵字的作用?(const成員函數(shù),函數(shù)傳遞,和define的區(qū)別)

33.靜態(tài)成員函數(shù)和數(shù)據(jù)成員有什么意義?

34.模版特化的概念,為什么特化?

35.explicit是干什么用的?

36.strcpy返回類型是干嘛用的?

重復(fù)拷貝

37.內(nèi)存溢出有那些因素?

(1)使用非類型安全(non-type-safe)的語言如C/C++等。

(2)以不可靠的方式存取或者復(fù)制內(nèi)存緩沖區(qū)。

(3)編譯器設(shè)置的內(nèi)存緩沖區(qū)太靠近關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。

38.new與malloc的區(qū)別,delet和free的區(qū)別?

39.為什么要用static_cast轉(zhuǎn)換而不用c語言中的轉(zhuǎn)換?

Static_cast有類型檢查,更安全

40.異常機(jī)制是怎么回事?

41.迭代器刪除元素的會(huì)發(fā)生什么?

迭代器可能失效?

42.必須在構(gòu)造函數(shù)初始化式里進(jìn)行初始化的數(shù)據(jù)成員有哪些?

43.類的封裝:private,protected,public

44.auto_ptr類:

linux以及操作系統(tǒng)相關(guān)

1內(nèi)存池實(shí)現(xiàn)

2進(jìn)程間通信機(jī)制

3 Linux ps命令,以及看內(nèi)存當(dāng)前使用狀態(tài)的命令

4進(jìn)程與線程的區(qū)別,共享的數(shù)據(jù)

5進(jìn)程的內(nèi)存空間

6.進(jìn)程和線程的區(qū)別。

7.死鎖的必要條件,怎么處理死鎖。

8. Window內(nèi)存管理方式:段存儲(chǔ),頁存儲(chǔ),段頁存儲(chǔ)。

9.進(jìn)程的幾種狀態(tài)。

10. IPC幾種通信方式。

11.什么是虛擬內(nèi)存。

12.虛擬地址、邏輯地址、線性地址、物理地址的區(qū)別。

計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)

1 TCP三次握手、四次揮手

2 TCP滑動(dòng)窗口與回退N針協(xié)議。

3 TCP擁塞控制機(jī)制

4 socket模型

5. OSI與TCP/IP各層的結(jié)構(gòu)與功能,都有哪些協(xié)議。

6. TCP與UDP的區(qū)別。

7. TCP報(bào)文結(jié)構(gòu)。

8. TCP的三次握手與四次揮手過程,各個(gè)狀態(tài)名稱與含義,TIMEWAIT的作用。

9. Http的報(bào)文結(jié)構(gòu)。

10. Http的狀態(tài)碼含義。

11. Http request的幾種類型。

12. Http1.1和Http1.0的區(qū)別

13. Http怎么處理長連接。

16. Cookie與Session的作用于原理。

17.電腦上訪問一個(gè)網(wǎng)頁,整個(gè)過程是怎么樣的:DNS、HTTP、TCP、OSPF、IP、ARP。

18. Ping的整個(gè)過程。ICMP報(bào)文是什么。

19. C/S模式下使用socket通信,幾個(gè)關(guān)鍵函數(shù)。

20. IP地址分類。

21.路由器與交換機(jī)區(qū)別。

網(wǎng)絡(luò)其實(shí)大體分為兩塊,一個(gè)TCP協(xié)議,一個(gè)HTTP協(xié)議,只要把這兩塊以及相關(guān)協(xié)議搞清楚,一般問題不大。

其他

1紅黑樹的性質(zhì)以及插入和刪除

4卡特蘭數(shù)以及公式推導(dǎo)(應(yīng)多很多)

9 C++、java和PHP有什么本質(zhì)區(qū)別

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • __block和__weak修飾符的區(qū)別其實(shí)是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用,...
    LZM輪回閱讀 3,594評(píng)論 0 6
  • 1. 結(jié)構(gòu)體和共同體的區(qū)別。 定義: 結(jié)構(gòu)體struct:把不同類型的數(shù)據(jù)組合成一個(gè)整體,自定義類型。共同體uni...
    breakfy閱讀 2,271評(píng)論 0 22
  • 1.在C++ 程序中調(diào)用被C 編譯器編譯后的函數(shù),為什么要加extern “C”? 答:首先,extern是C/C...
    曾令偉閱讀 957評(píng)論 0 4
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,622評(píng)論 30 472
  • 月亮漸漸藏到了烏黑的云層后,剛剛臥室的木地板上還籠著一席白色的余暉,轉(zhuǎn)眼就消失不見。 今晚,連一顆星星都沒有。窗外...
    堯月之秀閱讀 500評(píng)論 3 3

友情鏈接更多精彩內(nèi)容