今天去面試,面試官很nice,但好像感冒了,我答題過程當中很不停的咳嗽,一開始本身沒在狀態,一上來,面試官沒讓我作自我介紹,感受以前的準備白費了,以上來給了我一個試卷,3道題:面試
第一個結構體對齊,但不僅僅是結構體對齊,裏面包括虛函數,大概是這樣子:編程
class A { int a; char b; int c; virtual void test(){}; virtual void test2(){}; virtual void test3(){}; };
答案是:16,我答了個12,都想把本身抽一個!數組
第二題:給定一個存放整數的數組,從新排列數組使得數組左邊爲奇數,右邊爲偶數,空間複雜度O(1),時間複雜度爲O(n)socket
答的還算能夠,就是在紙上寫代碼,寫的太爛。ide
分析:從數組兩端向中間靠近,推出條件爲左右相撞,函數
1.左端爲偶數,右端爲奇數時,兩數交換,spa
2.左邊爲奇數,向右推動一個單位code
3.右邊爲偶數,向左推動一個單位blog
1 void sortEO(int array[],int len) 2 { 3 int i = 0; 4 int j = len-1; 5 int tmp; 6 while(i < j) 7 { 8 if((array[i]%2==0) && (array[j]%2!=0)) 9 { 10 tmp = array[i]; 11 array[i] = array[j]; 12 array[j] = tmp; 13 } 14 if(array[i]%2 != 0) 15 { 16 i++; 17 } 18 if(array[j]%2 == 0) 19 { 20 j--; 21 } 22 } 23 24 } 25 int main() 26 { 27 int arr[] = {1,2,3,4,5,6,7,8,9,10}; 28 sortEO(arr,10); 29 int m = 0; 30 for(m = 0;m < 10;m++) 31 { 32 printf("%d\t",arr[m]); 33 } 34 return 0; 35 }
第三題,大數相乘,自行腦補各類大數event
下面開始各類交流,
1.fopen和open的區別?
2.在socket編程中,當讀的信息超過設置大buffer值的時候,會出現什麼錯誤?
3.C++中四種類型轉換的cast
4.在Shell編程中,如何經過命令查看TCP鏈接數
5.TCP的三次握手和四次揮手(爲何要進行四次揮手?)
以上就是今天(2015年9月14日,上午10點30分)騰訊面試的所有乾貨,但願對有的人有幫助!