**問題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點多,今天不會面試了,這樣想來阿里巴巴的師兄師姐們挺辛苦的了,大晚上還要面試。閒話少扯,進入正題。第二個問題,由於簡歷上寫了...