如下為大家分享是一套阿里巴巴招聘研發(fā)工程師筆試題,歡迎大家收藏。
一、單選題(前10題,每題2分;后10題,每題3分;共50分。選對(duì)得滿分,選錯(cuò)倒扣1分,不選德得0分)
1.假設(shè)一個(gè)主機(jī)的IP地址為192.168.5.121,而子網(wǎng)掩碼為255.255.255.248。那么該主機(jī)的網(wǎng)絡(luò)號(hào)部分(包括子網(wǎng)號(hào)部分)為 。
A. 192.168.5.12 B. 192.168.5.121 C. 192.168.5.120 D.192.168.5.32
2.64位系統(tǒng)上,定義變量int*a[2][3]占據(jù) 字節(jié)。
A.4 B.12 C. 24 D.48
3.Linux中使用df –h/home和du –sh/home所查看到的已使用的磁盤容量不同,可能的原因是 。
A.命令不同,所以結(jié)果肯定不同 B.兩個(gè)命令所用的參數(shù)有問(wèn)題
C.運(yùn)行中的進(jìn)程打開(kāi)文件被刪除導(dǎo)致 D. Linux的特性導(dǎo)致的
4.一個(gè)C語(yǔ)言程序在一臺(tái)32位及其上運(yùn)行。程序中定義了三個(gè)變量xyz,其中x和z是int型,y為short型。當(dāng)x=127,y=-9時(shí),執(zhí)行賦值語(yǔ)句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.有如下數(shù)組定義,
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.快速排序的期望運(yùn)行時(shí)間復(fù)雜度是 。
A. O(n2) B. O(nlogn) C. O(n) D.O(2n)
7.在一個(gè)長(zhǎng)度為n的順序表中刪除第i個(gè)元素,要移動(dòng) 個(gè)元素。如果在第i個(gè)元素前插入一個(gè)元素,要后移 個(gè)元素。
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.有以下程序,其執(zhí)行結(jié)果是 。
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.函數(shù)調(diào)用出錯(cuò) B.2 C.0 D.1
10.當(dāng)n=6時(shí),下列函數(shù)的返回值是 。
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分)