2014年阿里巴巴9月14号笔试题

1.单选题

1.假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数

A:h(K)=K/N;

B:h(K)=1;

C:h(K)=KmodN;

D:h(K)=(K+rand(N))modN,rand(N)返回0到N-1的整数

参考答案:D

2.下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是:

A:堆排序B:插入排序

C:冒泡排序D:快速排序

参考答案:A

3.下面说法错误的是:

A:CISC计算机比RISC计算机指令多

B:在指令格式中,采用扩展操作码设计方案的目的是为了保持指令字长不变而增加寻址空间

C:增加流水线段数理论上可以提高CPU频率

D:冯诺依曼体系结构的主要特征是存储程序的工作方式

参考答案:B

解释:指令操作码分为三种:定长操作码,霍夫曼操作码和扩展操作码,采用扩展操作码可以使得指令字长不变的情况下,尽可能多的表示更多的指令。

4.不属于冯诺依曼体系结构必要组成部分是:

A:CPUB:CacheC:RAMD:ROM

参考答案:应该是选cache

5.一个栈的入栈序列式ABCDE则不可能的出栈序列是:

A:DECBAB:DCEBAC:ECDBAD:ABCDE

参考答案:C

6.你认为可以完成编写一个C语言编译器的语言是:

A:汇编B:C语言C:VBD:以上全可以

参考答案:我认为选D,编译器的目的就是把编程语言编译成为汇编语言或者机器语言,主要是词法分析,语法分析,语义分析,编译原理这门课程的时候曾经用c语言实现过编译器的部分功能,而设想没有c语言,那么第一c程序跑起来的编译器肯定用汇编语言写的,所以应该是全部

7.关于C++/JAVA类中的static成员和对象成员的说法正确的是:

A:static成员变量在对象构造时候生成

B:static成员函数在对象成员函数中无法调用

C:虚成员函数不可能是static成员函数

D:static成员函数不能访问static成员变量

参考答案:C

转载请注明出处:csdn-zhlfox2006

8:

参考答案:C,13个

9:某进程在运行过程中需要等待从磁盘上读入数据,此时进程的状态将:

A:从就绪变为运行B:从运行变为就绪

C:从运行变为阻塞D:从阻塞变为就绪

参考答案:c

10:下面算法的时间复杂度为:

Intf(unsignedintn){

If(n==0||n==1)

Return1;

Else

Returnn*f(n-1);

}

A:O(1)B:O(n)C:O(N*N)D:O(n!)

参考答案:B,题目算得是n!,但是复杂度确实O(n)

转载请注明出处:csdn-zhlfox2006

11:n从1开始,每个操作可以选择对n加1或者对n加倍。若想获得整数2013,最少需要多少个操作。

A:18B:24C:21D;不可能

参考答案: A,18个完美解决,方法也很简单,尽量对2013用除法,显示2013->2012->1006->503->502->251->250->125->124->62->31->30->15->14->7->6->3->2->1

正向只能是+1和×2,所以逆向只能-1和/2,由上过程可得18次

12:对于一个具有n个顶点的无向图,若采用邻接表数据结构表示,则存放表头节点的数组大小为:

A:nB:n+1C:n-1D:n+边数

参考答案:A

13:

参考答案:对于几何中的每个字符串取hash可以看作是同分布的独立重复事件,所以每一个事件出现10的概率都是p=1/1024,那么当出现的时候,期望的次数就是1/p,1024.

14:如下函数,在32bit系统foo(2^31-3)的值是:

Intfoo(intx){

Returnx&-x;

}

A:0B:1C:2D:4

参考答案:C,首先-号比^的优先级高,所以实参应该是2^28,而C++中并没有幂指数的运算符,这个^只表示异或运算,所以实参的二进制值,

-x的值为 1111 1111, 1111 1111, 1111 1111, 1111 1110

x&-x;0000 0000, 0000 0000, 0000 0000,0000 0010

即为2。

所以答案为C

15:对于顺序存储的线性数组,访问节点和增加节点删除节点的时间复杂度为:

A:O(n),O(n)B:O(n),O(1)C:O(1),O(n)D:O(n),O(n)

参考答案:C

16:在32为系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是:

StructA{

Inta;shortb;intc;chard;

};

StructB{inta;shortb;charc;intc;};

A:16,16B:13,12C:16,12D:11,16

参考答案:C

17:袋中有红球,黄球,白球各一个,每次任意取一个放回,如此连续3次,则下列事件中概率是8/9的是:

A:颜色不全相同B:颜色全不相同C:颜色全相同D:颜色无红色

参考答案:A

解释:由于颜色任一颜色相同的概率为1/27

颜色无红色的概率为2/3×2/3×2/3=8/27

颜色全部相同的概率为1/9

颜色都不同,概率为3×1/3×2×1/3×1/3=2/9

颜色不全相同为8/9

18:一个洗牌程序的功能是将n张牌的顺序打乱,以下关于洗牌程序的功能定义说法最恰当的是:

A:每张牌出现在n个位置上的概率相等

B:每张牌出现在n个位置上的概率独立

C:任何连续位置上的两张牌的内容独立

D:n张牌的任何两个不同排列出现的概率相等

参考答案:A

解释,创新工场笔试题让设计一个shuffle算法的时候就是特意提到,每张牌出现在任意位置的概率相等。

19:用两种颜色去染排成一个圈的6个棋子,如果通过旋转得到则只算一种,一共有多少种染色:

A:10B:11C:14:D:15

参考答案:C

解释:应该有14种方案,设只有黑白两色,默认白色,那么,用p(n)表示有n个黑棋的种类

p(0)=p(6)=1

p(1)=p(5)=1

p(2)=p(4)=3 //相邻的一种,隔一个的一种,两个的一种

p(3)=4 //都相邻的一种,BB0B的一种,BB00B的一种,B0B0B的一种,一共4种

综上是14种

20:递归式的先序遍历一个n节点,深度为d的二叉树,则需要栈空间的大小为:

A:O(n)B:O(d)C:O(logn)D:(nlogn)

参考答案:B

解释:因为二叉树并不一定是平衡的,,也就是深度d!=logn,有可能d》》logn。。所以栈大小应该是O(d)

第二部分:多选

21:两个线程运行在双核机器上,每个线程主线程如下,线程1:x=1;r1=y;线程2:y=1;r2=x;

X和y是全局变量,初始为0。以下哪一个是r1和r2的可能值:

A:r1=1,r2=1

B:r1=1,r2=0

C:r1=0,r2=0

D:r1=0,r2=1

参考答案:ABD

22.关于Linux系统的负载,以下表述正确的是:

A:通过就绪和运行的进程数来反映

B:通过TOP命令查看

C:通过uptime查看

D:Load:2.5,1.3,1.1表示系统的负载压力在逐渐变小

参考答案:BC

23:关于排序算法的以下说法,错误的是:

A:快速排序的平均时间复杂度O(nlogn),最坏O(N^2)

B:堆排序平均时间复杂度O(nlogn),最坏O(nlogn)

C:冒泡排序平均时间复杂度O(n^2),最坏O(n^2)

D:归并排序的平均时间复杂度O(nlogn),最坏O(n^2)

答案: D

24:假设函数rand_k会随机返回一个【1,k】之间的随机数(k>=2),并且每个证书出现的概率相等。目前有rand_7,通过调用rand_7()和四则运算符,并适当增加逻辑判断和循环控制逻辑,下列函数可以实现的有:

A:rand_3B:rand_21C:rand_23D:rand_47

参考答案:ABCD

人生有一半掌握在上帝那里,另一半攥在自己的手中。

2014年阿里巴巴9月14号笔试题

相关文章:

你感兴趣的文章:

标签云: