作者:TK-Xiong
鏈接:https://www.nowcoder.com/discuss/3991
來源:旁客網(wǎng)
C/C++相關(guān)
1.虛析構(gòu)、模板 和 宏
2.虛函數(shù)實現(xiàn)機(jī)制
(是每個類用了一個虛表籽暇,每個類的對象用了一個虛指針指向這個表)
3.vector與list的區(qū)別,map是如何實現(xiàn)的(RBTree)梯嗽,查找效率是多少(logn)
區(qū)別是…一個是連續(xù)空間杯矩,一個是指針串起來的…
Map的實現(xiàn)是紅黑樹RBTree
查找效率是logn
4.extern關(guān)鍵字有什么用?
標(biāo)識變量定義在其他文件
5.malloc和new的區(qū)別巾表,能否malloc(1.2G)
malloc只分配空間不初始化汁掠,new既分配空間也初始化〖遥可以考阱。
6.多態(tài)性都有哪些?
靜態(tài)多態(tài)和動態(tài)多態(tài)鞠苟。
靜態(tài)多態(tài)是函數(shù)重載
動態(tài)多態(tài)是虛函數(shù)
7.動態(tài)綁定怎么實現(xiàn)乞榨?
基類的指針或引用調(diào)用虛函數(shù)的時候發(fā)生動態(tài)綁定。
如果實際指向的是派生類的對象当娱,就調(diào)用派生類的函數(shù)吃既,如果是基類的,則調(diào)用基類的跨细。
8.類型轉(zhuǎn)換有哪些鹦倚?(四種類型轉(zhuǎn)換,分別舉例說明)
四種冀惭∩暧悖看博客。
9.操作符重載(+操作符)云头,具體如何去定義?(讓把操作符重載函數(shù)原型說一遍)
10.內(nèi)存對齊的原則淫半?(原則敘述了一下并舉例說明)
11.模版怎么實現(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)點以及和宏定義的區(qū)別)
15.const和typedef(主要講了const的用處谣殊,有那些優(yōu)點)
16.排序算法有哪些拂共?快速排序怎么實現(xiàn)的?最好時間復(fù)雜度姻几,平均時間復(fù)雜度
17.鏈接指示:extern “C”(作用)
18.c語言和c++有什么區(qū)別宜狐?(大體講了 一下,繼承蛇捌、多態(tài)抚恒、封裝、異常處理等)
19.qt類中的一些繼承關(guān)系络拌?
20.qt的信號與槽機(jī)制俭驮?
21.qt有那些類,控件春贸?
22.plc是個什么玩意混萝?
23.strcpy函數(shù)的編寫?(這個函數(shù)很熟悉萍恕,后來阿里校招面試也讓現(xiàn)場編寫了)
24.數(shù)據(jù)結(jié)構(gòu)中二叉樹的非遞歸遍歷逸嘀?(現(xiàn)場畫圖舉例講解的,所以大家面試的時候盡量多
動筆)
25.c++中四種類型轉(zhuǎn)換機(jī)制雄坪?
26.繼承機(jī)制中對象之間是如何轉(zhuǎn)換的厘熟?
27.繼承機(jī)制中引用和指針之間如何轉(zhuǎn)換?
28.虛函數(shù)维哈,虛函數(shù)表里面內(nèi)存如何分配绳姨?(這個考前看過了,答的還不錯)
29.如何實現(xiàn)只能動態(tài)分配類對象阔挠,不能定義類對象飘庄?(這個牛客上的題目购撼,我把如何只能
動態(tài)分配和只能靜態(tài)分配都講了一下)
30.stl有哪些容器跪削,對比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.迭代器刪除元素的會發(fā)生什么?
迭代器可能失效饱溢?
42.必須在構(gòu)造函數(shù)初始化式里進(jìn)行初始化的數(shù)據(jù)成員有哪些喧伞?
43.類的封裝:private,protected绩郎,public
44.auto_ptr類:
linux以及操作系統(tǒng)相關(guān)
1內(nèi)存池實現(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)存管理方式:段存儲状植,頁存儲浊竟,段頁存儲。
9.進(jìn)程的幾種狀態(tài)津畸。
10. IPC幾種通信方式振定。
11.什么是虛擬內(nèi)存。
12.虛擬地址肉拓、邏輯地址后频、線性地址、物理地址的區(qū)別暖途。
計算機(jī)網(wǎng)絡(luò)相關(guān)
1 TCP三次握手卑惜、四次揮手
2 TCP滑動窗口與回退N針協(xié)議。
3 TCP擁塞控制機(jī)制
4 socket模型
5. OSI與TCP/IP各層的結(jié)構(gòu)與功能驻售,都有哪些協(xié)議露久。
6. TCP與UDP的區(qū)別。
7. TCP報文結(jié)構(gòu)欺栗。
8. TCP的三次握手與四次揮手過程抱环,各個狀態(tài)名稱與含義壳快,TIMEWAIT的作用。
9. Http的報文結(jié)構(gòu)镇草。
10. Http的狀態(tài)碼含義。
11. Http request的幾種類型瘤旨。
12. Http1.1和Http1.0的區(qū)別
13. Http怎么處理長連接梯啤。
16. Cookie與Session的作用于原理。
17.電腦上訪問一個網(wǎng)頁存哲,整個過程是怎么樣的:DNS因宇、HTTP、TCP祟偷、OSPF察滑、IP、ARP修肠。
18. Ping的整個過程贺辰。ICMP報文是什么。
19. C/S模式下使用socket通信嵌施,幾個關(guān)鍵函數(shù)饲化。
20. IP地址分類。
21.路由器與交換機(jī)區(qū)別吗伤。
網(wǎng)絡(luò)其實大體分為兩塊吃靠,一個TCP協(xié)議,一個HTTP協(xié)議足淆,只要把這兩塊以及相關(guān)協(xié)議搞清楚巢块,一般問題不大。
其他
1紅黑樹的性質(zhì)以及插入和刪除
4卡特蘭數(shù)以及公式推導(dǎo)(應(yīng)多很多)
9 C++巧号、java和PHP有什么本質(zhì)區(qū)別