阿里巴巴校园招聘-软件研发工程师笔试题 下载本文

阿里巴巴2014秋季校园招聘-软件研发工程师笔试题 1. 单选题

1. 假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数 A: h(K)=K/N; B: h(K)=1; C: h(K)=K mod N;

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

2. 下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是: A: 堆排序 B:插入排序 C: 冒泡排序 D:快速排序

答案:A(插入排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O(n^2)

冒泡排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O(n^2)

快速排序:最优时间复杂度O(nlogn)最差时间复杂度O(n^2)平均时间复杂度O(nlogn)

堆排序:最优时间复杂度O(nlogn)最差时间复杂度O(nlogn)平均时间复杂度O(nlogn))

3. 下面说法错误的是:

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

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

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

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

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

A:CPU B: Cache C:RAM D:ROM 答案:B

5. 一个栈的入栈序列式ABCDE则不可能的出栈序列是: A:DECBA B:DCEBA C:ECDBA D:ABCDE 答案:C

6.你认为可以完成编写一个C语言编译器的语言是: A:汇编 B:C语言 C:VB D:以上全可以 答案:D

7. 关于C++/JAVA类中的static成员和对象成员的说法正确的是: A:static成员变量在对象构造时候生成 B: static成员函数在对象成员函数中无法调用 C: 虚成员函数不可能是static成员函数 D: static成员函数不能访问static成员变量 答案:A 8:

答案:C

9:某进程在运行过程中需要等待从磁盘上读入数据,此时进程的状态将: A: 从就绪变为运行 B:从运行变为就绪 C: 从运行变为阻塞 D:从阻塞变为就绪 答案:C

10:下面算法的时间复杂度为: Int f(unsigned int n) {

If(n==0||n==1) Return 1; Else

Return n*f(n-1); }

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

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

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

答案:A, 对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: n B: n+1 C: n-1 D:n+边数 答案:A 13: