如下為大家分享是一套阿里巴巴招聘研發工程師筆試題,歡迎大家收藏。
一、單選題(前10題,每題2分;后10題,每題3分;共50分。選對得滿分,選錯倒扣1分,不選德得0分)
1.假設一個主機的IP地址為192.168.5.121,而子網掩碼為255.255.255.248。那么該主機的網絡號部分(包括子網號部分)為 。
A. 192.168.5.12 B. 192.168.5.121 C. 192.168.5.120 D.192.168.5.32
2.64位系統上,定義變量inta[2][3]占據 字節。
A.4 B.12 C. 24 D.48
3.Linux中使用df –h/home和du –sh/home所查看到的已使用的磁盤容量不同,可能的原因是 。
A.命令不同,所以結果肯定不同 B.兩個命令所用的參數有問題
C.運行中的進程打開文件被刪除導致 D. Linux的特性導致的
4.一個C語言程序在一臺32位及其上運行。程序中定義了三個變量xyz,其中x和z是int型,y為short型。當x=127,y=-9時,執行賦值語句z=x+y后,xyz的值分別是 。
A. x=0000007FH, y=FFF9H, z=00000076H
B. x=0000007FH, y=FFF9H, z=FFFF0076H
C. x=0000007FH, y=FFF7H, z=FFFF0076H
D. x=0000007FH, y=FFF7H, z=00000076H
5.有如下數組定義,
int [][] myArray = new int [3][] { new int[3]{5, 6, 2},
new int[5]{6, 9, 7, 8, 3},
new int[2]{3,2}};
則,myArray[2][2]的值是 。
A. 9 B. 2 C. 6 D.越界
6.快速排序的期望運行時間復雜度是 。
A. O(n2) B. O(nlogn) C. O(n) D.O(2n)
7.在一個長度為n的順序表中刪除第i個元素,要移動 個元素。如果在第i個元素前插入一個元素,要后移 個元素。
A. n-i, n-i+1 B. n-i+1, n-i C. n-i, n-i D. n-i+1, n-i+1
8.下面C++程序的輸出是 。
void f(char x)
{
x++;
x = ‘a’;
}
int main()
{
char str [ sizeof (“hello”)];
strcpy( str, “hello”);
f(str);
cout << str;
return 0;
}
A. hello B. hallo C. allo D.以上都不是
9.有以下程序,其執行結果是 。
char fun(char x, char y)
{
if(x) return y;
}
int main()
{
int a = ‘0’, b = ‘1’, c = ‘2’;
printf(“%c\n”, fun(fun(a, b), fun(b, c)));
}
A.函數調用出錯 B.2 C.0 D.1
10.當n=6時,下列函數的返回值是 。
int foo (int n)
{
if(n <= 2) return n;
return foo(n-1) + foo(n-2);
}
A.1 B. 8 C. 13 D.21
(以下每題3分)