阿里雲面試總結

2021-05-23 18:46:26 字數 2572 閱讀 9432

**問題1:構造和析構函式中的虛函式呼叫;

答案:虛函式可以在建構函式和析構函式中呼叫,但虛函式此時是靜態繫結;而非動態繫結。

**問題2:c++中的異常可不可以是引用;

答案:異常可以是引用,並且效率高。

**問題3:tcp狀態中的close_wait是什麼狀態;

答案:close_wait狀態是被動關閉方的乙個狀態,此時是半關閉狀態,被關閉方收到了fin包,並且傳送了fin包的ack,等待上層應用結束連線。

**問題4:排序演算法的時間複雜度;

答案:最好是nlogn,其他的上網搜尋。

面試問題1.atoi函式編寫;

答案:自己寫的atoi函式----(注意:自己定義的atoi函式和庫的atoi函式一樣的時候,丟擲異常時會引起異常退出,個人認為是異常沒有不知道被那個函式丟擲,所以coredump)

面試問題2.sizeof和空類;

答案:class cbase

;那麼執行cout<<"sizeof(cbase)="<

這個應該很簡單,兩個成員變數所佔的大小——8。

第一步:空類

class cbase

;執行cout<<"sizeof(cbase)="<

sizeof(cbase)=1;

深度探索c++物件模型中是這樣說的:那是被編譯器插進去的乙個char ,使得這個class的不同實體(object)在記憶體中配置獨一無二的位址。

也就是說這個char是用來標識類的不同物件的。

第二步:

還是最初的那個類,執行結果:sizeof(cbase)=8

第三步:添個虛函式

class cbase

;再執行:sizeof(cbase)=12

c++ 類中有虛函式的時候有乙個指向虛函式的指標(vptr),在32位系統分配指標大小為4位元組」。那麼繼承類呢?

第四步:

基類就是上面的了不寫了

class cchild :

public cbase

;執行:cout<<"sizeof(cchild)="<

輸出:sizeof(cchild)=16;

可見子類的大小是本身成員變數的大小加上子類的大小。

面試問題3.(1)物件只允許在堆上建立,(2)物件只允許在棧上建立;

答案:

class   heaponly

#include  

using   namespace   std;

class stackonly

int binary_search_i(int a, int value, int start, int end)

else if (intcompare(value, a[pos]))

else

}int binary_search(int a, int value, int n)

else

}if (a[0] < a[n - 1])

else

int temp = binary_search_i(a, value, 0, n - 1);

while ((temp > 0) && (a[temp] == a[temp - 1]))

return temp;

}int main()

;int a = ;

int arraynum = sizeof(a) / sizeof(int);

for(int i = 0; i < arraynum; ++i)

printf("/n");

int value = 0;

while(1)

return 0;

}面試問題5.那些演算法是穩定排序,那些演算法是不穩定排序。

答案:上網上搜尋一下。

阿里雲電話面試

給一套撲克牌,設計乙個演算法將其均勻洗開。演算法1 隨機取出撲克牌中的一張,順序放置。重複取牌過程,直至原位置撲克牌為空。設計兩個鍊錶,乙個鍊錶l1用來儲存撲克牌初始位置狀態,另乙個鍊錶l2用來儲存洗牌後的狀態。洗牌過程 隨機選取鍊錶l1中的撲克即刪除乙個結點,將其順序插入l2的尾部。重複洗牌過程,...

阿里雲物聯網平台總結

基於物模型開發裝置步驟 獲取裝置的身份認證資訊。當裝置已經獲取到ip位址之後,呼叫sdk提供的api將裝置連線到物聯網平台並進行認證。當裝置連線到阿里雲物聯網平台並通過認證後,呼叫sdk提供的api將裝置屬性的最新資料上報雲端。當裝置的屬性發生變化時,呼叫sdk提供的api將裝置屬性的最新數值上報雲...

阿里巴巴面試經歷總結

距離上次面試阿里巴巴已經將近乙個月了,雖然止步於二面,但想想覺得還是應該把經歷分享出來給大家參考參考,以幫助即將面試的同胞們。首先是第一面 當時面試來的很突然,本以為已經晚上9點多,今天不會面試了,這樣想來阿里巴巴的師兄師姐們挺辛苦的了,大晚上還要面試。閒話少扯,進入正題。第二個問題,由於簡歷上寫了...