c 後台開發電面

2021-07-14 03:52:35 字數 1460 閱讀 2777

熟悉一門語言不是淺顯的認為寫了多少**,寫過多少演算法。要理解這個語言具有代表性的東西。昨晚上的乙個**面試,顯然是浪費別人時間的乙個事情,但是很感謝這樣高素質的面試官能平心靜氣的跟你說完。下面是技術面試的大概內容。

(1)物件導向,c++怎麼實現介面?

(2)stl常用的vector,map,set,list底層對應的資料結構

c++ stl 的實現:

1.vector  

底層資料結構為陣列 ,支援快速隨機訪問

2.list   

底層資料結構為雙向鍊錶,支援快速增刪

3.deque   

底層資料結構為乙個**控制器和多個緩衝區,詳細見stl原始碼剖析p146,支援首尾(中間不能)快速增刪,也支援隨機訪問

deque是乙個雙端佇列(double-ended queue),也是在堆中儲存內容的.它的儲存形式如下:

[堆1] --> 

[堆2] -->

[堆3] --> ...

每個堆儲存好幾個元素,然後堆和堆之間有指標指向,看起來像是list和vector的結合品.

4.stack

底層一般用list或deque實現,封閉頭部即可,不用vector的原因應該是容量大小有限制,擴容耗時

5.queue 

底層一般用list或deque實現,封閉頭部即可,不用vector的原因應該是容量大小有限制,擴容耗時

(stack和queue其實是介面卡,而不叫容器,因為是對容器的再封裝)

6.priority_queue 

的底層資料結構一般為vector為底層容器,堆heap為處理規則來管理底層容器實現

7.set       

底層資料結構為紅黑樹,有序,不重複

8.multiset  

底層資料結構為紅黑樹,有序,可重複 

9.map       

底層資料結構為紅黑樹,有序,不重複

10.multimap

底層資料結構為紅黑樹,有序,可重複

11.hash_set 

底層資料結構為hash表,無序,不重複

12.hash_multiset 底層資料結構為hash表,無序,可重複 

13.hash_map    底層資料結構為hash表,無序,不重複

14.hash_multimap 底層資料結構為hash表,無序,可重複

(3)智慧型指標

(4)常引用const&和常量作為引數的區別

(5)演算法排序。5w人age排序,要求時間複雜度是o(n)  可以用桶排序

說一下快速排序怎麼實現。

(6)後台cdn

(7)網路tcp,udp協議

tcp、udp、ip 協議分析

(8)linux熟練操作,命令

(9)nginx執行狀態,檢視

(10)軟體設計模式

騰訊 後台開發 1面

本來投的是平台型產品經理 技術背景 不知道為什麼被後台開發撈走了。其實我是想做開發的,現在技術不夠,投個產品經理試試。面試官打 來問我面後台開發有沒有興趣,都打過來了,那肯定面啦。首先面試官給我拋了兩道題 1 毒牛奶 2 賽馬。後來才知道是很經典的面試題,但是面試過程中完全是新鮮玩意兒。1 毒牛奶 ...

京東二面 Java 後台開發

面試官其實是考 四則運算表示式求值,是棧的一種應用方式。棧的應用 四則運算表示式求值 抽象類與介面 知乎上乙個同樣問題的答案 如果多執行緒的程序是 cpu 密集型的,那多執行緒並不能有多少效率上的提公升,相反還可能會因為執行緒的頻繁切換,導致效率下降,推薦使用多程序 如果是 io 密集型,多執行緒程...

面經 百度 後台開發

1 分析一段 沒有提示從什麼角度要分析什麼,只是分析點越多越好 a 0.1 b 0.3 if 3 a b else要分a和b是否為基本型別來分析,基本型別能編譯過,如果不是基本型別則需要過載運算子。還問了a b 和a a b 有沒有區別 2 有沒有用過什麼設計模式 3 分析 的輸出 includeu...