常見問題總結
作者:TK-Xiong
連結:https://www.nowcoder.com/discuss/3991
來源:牛客網
C/C++相關
1.虛析構、模板 和 巨集
2.虛擬函式實現機制
(是每個類用了一個虛表,每個類的物件用了一個虛指標指向這個表)
3.vector與list的區別,map是如何實現的(RBTree),查詢效率是多少(logn)
區別是…一個是連續空間,一個是指標串起來的…
Map的實現是紅黑樹RBTree
查詢效率是logn
4.extern關鍵字有什麼用?
標識變數定義在其他檔案
5.malloc和new的區別,能否malloc(1.2G)
malloc只分配空間不初始化,new既分配空間也初始化。可以。
6.多型性都有哪些?
靜態多型和動態多型。
靜態多型是函式過載
動態多型是虛擬函式
7.動態繫結怎麼實現?
基類的指標或引用呼叫虛擬函式的時候發生動態繫結。
如果實際指向的是派生類的物件,就呼叫派生類的函式,如果是基類的,則呼叫基類的。
8.型別轉換有哪些?(四種型別轉換,分別舉例說明)
四種。看部落格。
9.操作符過載(+操作符),具體如何去定義?(讓把操作符過載函式原型說一遍)
10.記憶體對齊的原則?(原則敘述了一下並舉例說明)
11.模版怎麼實現?
12.指標和const的用法?(就是四種情況說了一下)
13.虛擬函式、純虛擬函式、虛擬函式與解構函式?(純虛擬函式如何定義,為什麼解構函式要定義成
虛擬函式)
14.行內函數(講了一下行內函數的優點以及和巨集定義的區別)
15.const和typedef(主要講了const的用處,有那些優點)
16.排序演算法有哪些?快速排序怎麼實現的?最好時間複雜度,平均時間複雜度
17.連結指示:extern “C”(作用)
18.c語言和c++有什麼區別?(大體講了 一下,繼承、多型、封裝、異常處理等)
19.qt類中的一些繼承關係?
20.qt的訊號與槽機制?
21.qt有那些類,控制元件?
22.plc是個什麼玩意?
23.strcpy函式的編寫?(這個函式很熟悉,後來阿里校招面試也讓現場編寫了)
24.資料結構中二叉樹的非遞迴遍歷?(現場畫圖舉例講解的,所以大家面試的時候儘量多
動筆)
25.c++中四種型別轉換機制?
26.繼承機制中物件之間是如何轉換的?
27.繼承機制中引用和指標之間如何轉換?
28.虛擬函式,虛擬函式表裡面記憶體如何分配?(這個考前看過了,答的還不錯)
29.如何實現只能動態分配類物件,不能定義類物件?(這個牛客上的題目,我把如何只能
動態分配和只能靜態分配都講了一下)
30.stl有哪些容器,對比vector和set?
31.紅黑樹的定義和解釋?
32.const關鍵字的作用?(const成員函式,函式傳遞,和define的區別)
33.靜態成員函式和資料成員有什麼意義?
34.模版特化的概念,為什麼特化?
35.explicit是幹什麼用的?
36.strcpy返回型別是幹嘛用的?
重複拷貝
37.記憶體溢位有那些因素?
(1)使用非型別安全(non-type-safe)的語言如C/C++等。
(2)以不可靠的方式存取或者複製記憶體緩衝區。
(3)編譯器設定的記憶體緩衝區太靠近關鍵資料結構。
38.new與malloc的區別,delet和free的區別?
39.為什麼要用static_cast轉換而不用c語言中的轉換?
Static_cast有型別檢查,更安全
40.異常機制是怎麼回事?
41.迭代器刪除元素的會發生什麼?
迭代器可能失效?
42.必須在建構函式初始化式裡進行初始化的資料成員有哪些?
43.類的封裝:private,protected,public
44.auto_ptr類:
linux以及作業系統相關
1記憶體池實現
2程式間通訊機制
3 Linux ps命令,以及看記憶體當前使用狀態的命令
4程式與執行緒的區別,共享的資料
5程式的記憶體空間
6.程式和執行緒的區別。
7.死鎖的必要條件,怎麼處理死鎖。
8. Window記憶體管理方式:段儲存,頁儲存,段頁儲存。
9.程式的幾種狀態。
10. IPC幾種通訊方式。
11.什麼是虛擬記憶體。
12.虛擬地址、邏輯地址、線性地址、實體地址的區別。
計算機網路相關
1 TCP三次握手、四次揮手
2 TCP滑動視窗與回退N針協議。
3 TCP擁塞控制機制
4 socket模型
5. OSI與TCP/IP各層的結構與功能,都有哪些協議。
6. TCP與UDP的區別。
7. TCP報文結構。
8. TCP的三次握手與四次揮手過程,各個狀態名稱與含義,TIMEWAIT的作用。
9. Http的報文結構。
10. Http的狀態碼含義。
11. Http request的幾種型別。
12. Http1.1和Http1.0的區別
13. Http怎麼處理長連線。
16. Cookie與Session的作用於原理。
17.電腦上訪問一個網頁,整個過程是怎麼樣的:DNS、HTTP、TCP、OSPF、IP、ARP。
18. Ping的整個過程。ICMP報文是什麼。
19. C/S模式下使用socket通訊,幾個關鍵函式。
20. IP地址分類。
21.路由器與交換機區別。
網路其實大體分為兩塊,一個TCP協議,一個HTTP協議,只要把這兩塊以及相關協議搞清楚,一般問題不大。
其他
1紅黑樹的性質以及插入和刪除
4卡特蘭數以及公式推導(應多很多)
9 C++、java和PHP有什麼本質區別
相關文章
- mysql常見問題總結MySql
- Vue 常見問題總結Vue
- TCP常見問題總結TCP
- GeoServer 常見問題總結Server
- Flink 常見問題總結
- 前端常見JS問題總結前端JS
- Oracle EM 常見問題總結Oracle
- Kubernetes 常見問題總結
- 我的支付總結(三) 常見問題
- 網路爬蟲常見問題(個人總結)爬蟲
- redis快取常見問題場景總結Redis快取
- 關於echarts使用的常見問題總結Echarts
- VC常見入門問題總結(二) (轉)
- VC常見入門問題總結(一) (轉)
- MyBatis學習總結(24)——Mybatis常見問題彙總MyBatis
- Webpack常見面試題總結Web面試題
- iOS常見面試題總結iOS面試題
- Redis常見問題彙總Redis
- Java 常見問題彙總Java
- Bootstrap常見問題彙總boot
- Spring Cloud中,Feign常見問題總結SpringCloud
- 【多執行緒】常見問題簡單總結執行緒
- Cocos平臺整合AGC常見問題總結GC
- 資料庫建模——powerdesiger常見問題總結資料庫
- 定位 UNIX 上常見問題的經驗總結
- 前端常見面試題少量總結前端面試題
- 代理IP常見問題彙總
- Redis Manager 常見問題彙總Redis
- SpringMvc常見問題彙總SpringMVC
- JuniperNetScreen常見問題彙總
- 解析SQLite中的常見問題與總結詳解SQLite
- RecyclerView的使用總結以及常見問題解決方案View
- MySQL常見面試題總結[精讀]MySql面試題
- 資料庫常見面試題總結資料庫面試題
- ES6常見面試題總結面試題
- mybatis常見庫及問題彙總MyBatis
- Vue專案常見問題彙總Vue
- 嘔心蒐集總結的15個“swoole”常見問題(一)