STL常見面試題

2021-08-07 16:37:10 字數 740 閱讀 5604

紅黑樹的特性與其在c++ stl中的應用

map 、set、multiset、multimap的底層實現都是紅黑樹,epoll模型的底層資料結構也是紅黑樹,linux系統中cfs程序排程演算法,也用到紅黑樹。

紅黑樹的特性:

根節點是黑色

不能有兩個連續的紅節點

空指標是黑色

從任意乙個結點出發,到後代中空指標的路徑上,均包含相同數量的黑色結點。

stl記憶體分配

stl map

stl 相關: stl 中的記憶體管理(allocator)的原理, 以及如何讓它執行緒安全。

stl 原始碼中的 hash 表的實現

stl 的 unordered_map 和 map 的區別

介紹一下 stl 原始碼的內容。

vector分配記憶體的方式

先申請一定的大小的陣列, 當陣列填滿之後,另外申請一塊原陣列兩倍大的新陣列, 然後把原陣列的資料拷貝到新陣列, 最後釋放原陣列的大小。 詳情參考 《stl原始碼剖析(侯捷)》。

問stl庫,vector的記憶體管理,deque的記憶體管理,list的排序

stl也問了一些問題:比如vecotr 和list 的區別,適用情況

vector的擴容機制,問到了原始碼層次。

4.stl中的迭代器失效問題

11.map /set容器的實現原理(紅黑樹知識+stl容器內部原理)

stl中仿函式有什麼用,和函式指標有什麼不同,哪個效率高

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...

常見面試題

1 一行 實現1 100之和 lst i for i in range 1,101 print sum lst 2 如何在乙個函式內部修改全域性變數?在函式內部新增 global 變數名 這樣就可以在本地作用域定義全域性作用域了 name 大明 def eat name1 global name n...

常見面試題

dns解析 發起tcp三次握手,並建立tcp連線 發起http請求 伺服器相應http請求並得到html 伺服器解析html 並對頁面進行渲染然後返回給使用者 首先先進行ioc容器的初始化 ioc 容器的初始化過程分為三步驟 resource 定位 beandefinition 的載入和解析,bea...