如下为大家分享是一套阿里巴巴招聘研发工程师笔试题,欢迎大家收藏。
一、单选题(前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位系统上,定义变量int*a[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 , 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分)