2014阿里巴巴校园招聘笔试题-----研发工程师

1.一次内存访问、SSD硬盘访问和SATA硬盘随机访问的时间分别约是()

A、几微秒,几毫秒、几十毫秒 

B、几十纳秒,几十毫秒,几十毫秒

C、几十纳秒、几十微秒、几十毫秒

D、几微秒、几十微秒、几十毫秒

①内存的速度一般用存取时间衡量,即每次与CPU间数据处理耗费的时间,以纳秒(ns)为单位。目前大多数SDRAM内

存芯片的存取时间为5、6、7、8或10ns。

②传统硬盘在合理的2.9ms到12ms的范围内,而SSD闪存的表现则会控制在100微秒左右

所以内存的访问时间是几十纳秒,SSD硬盘访问时间是几十微秒,SATA硬盘访问时间是几十毫秒。

答案选C

2.8进制数256,转换成7进制数是()

A、356 

B、336 

C、338

D、346

①8进制转10进制:6*8^0 + 5*8^1 + 2*8^2 = 6 + 40 + 128 = 174

②10进制转7进制:

174%7 = 6, 174/7 = 24;

24%7 = 3, 24/7 = 3

所以自底向上是336

答案选B

3.某网络的IP地址空间为192.168.5.0/24。采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数、每个子网内的最大可分配地

址个数各为()

A、8,32   

B、32,8    

C、32,6    

D、8,30

①IP地址空间为192.168.5.0/24是一个c类IP地址块,其默认子网掩码为 255.255.255.0。若采用变长子网划分,子网掩码255.255.255.248的二进制表

示为1111 1111.1111  1111.1111 1111.1111 1000,它是在255.255.255.0的基础上,向原主机号借用了5个比特位作为新的子网号,因此该网络的最

大子网个数为2^5个

②每个子网内的最大可分配地址个数为254-248 = 6, 255为广播地址

所以该网络的最大子网个数为32个,每个子网内的最大可分配地址个数为6个

答案选C

4、以下关于链式存储结构说法错误的是()

A、查找节点时链式存储比顺序存储快

B、每个节点是由数据域和指针域组成

C、比顺序存储结构的存储密度小

D、逻辑上不相邻的节点物理上可能相邻

链式不可按下标访问元素,每次访问都是O(n)的复杂度

所以查找节点时链式存储比顺序存储快是错误的

答案选A

5、假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()

A、6       

B、4       

C、2          

D、8

3 4    
2 8 6  
       
所以a[1][2]=6

答案选A

6、下面函数的功能是()

int fun (char *s)

{

     char *p=s;

     while(*p++);

     return p-s-1;

}

A、计算字符串的位(bit)数            

B、复制一个字符串

C、求字符串的长度                   

D、求字符串存放的位置

p被赋值为指向字符串首地址,while判断p是否指向NULL,即字符串结束,而s仍为字符串起始位置,相减再减一为字符串长度

所以函数的功能是求字符串的长度

答案选C

7、判断有向图是否存在回路,利用()方法最佳

A、拓扑排序                    

B、求最短路径

C、求关键路径                  

D、广度优先遍历

判断有向图是否存在回路的方法:

①拓扑排序: 还有顶点未输出,但已经不存在没有前驱的顶点了

②DFS:从一个顶点出发存在搜回到自己的路径

所以此处可选的只有拓扑排序

答案选A

8、依次读入数据元素序列{a,b,c,d,e,f,g}进栈,元素进栈或出栈顺序是未知的,下列序列中,不可能成为栈空时弹出的元素构成序列的有()

A、{d,e,c,f,b,g,a}  

B、{c,d,b,e,f,a,g}   

C、{e,f,d,g,c,b,a}  

D、{f,e,g,d,a,c,b}

a<-b<-c<-d<-d-> e<- e-> c-> f<- f-> b-> g<-g-> a->

②a<-b<-c<-c-> d<-d-> b-> e<-e->  f<- f-> g<- a-> g->

e<- e->  f<- f-> d<- d-> g<- g-> c<- c-> b<-b-> a<- a->

所以只有D不行

答案选D

9、下列有关图的遍历说法中,不正确的是()

A、有向图和无向图都可以进行遍历操作

B、基本遍历算法两种:深度遍历和广度遍历

C、图的遍历必须用递归实现

D、图的遍历算法可以执行在有回路的图中

图的遍历可以用BFS队列实现

所以图的遍历不一定用递归实现

答案选C

10、在16位机器上跑下列foo函数的结果是()

void foo()

{

     int i = 65536;

     cout << i<<”,”;

     i = 65535;

     cout << i;

}

A、-1,65535   

B、0,-1     

C、-1,-1    

D、0,65535

①65536(十进制) = 1 0000 0000 0000 0000(二进制),后16为0000 0000 0000 0000,补码为0

②65535(十进制) = 1111 1111 1111 1111(二进制),补码为-1

所以第一个为0,第二个为-1

答案选B

12、在5个页框上使用LRU页面替换算法,当页框初始为空时,引用序列为0、1、7、8、6、2、3、7、2、9、8、1、0、2,系统将发生()次缺页

A、13           

B、12          

C、11         

D、8

0 1 7 8 6 2 3 7 2 9 8 1 0 2
0 0 0 1 7 8 6 2 3 7 2 9 8 1
  1 1 7 8 6 2 3 7 2 9 8 1 0
    7 8 6 2 3 7 2 9 8 1 0 2
× × × × × × × × × × ×
所以共有11次缺页

答案选C

13、阿里巴巴有相距1500km的机房A和B,现有100GB数据需要通过一条FTP连接在100s的时间内从A传输到B。已知FTP连接建立在TCP协议之上,

TCP协议通过ACK来确认每个数据包是否正确传送。网络信号传输速度2*108m/s,假设机房间带宽足够高,那么A节点的发送缓冲区可以设置为最小

()

A、18M         

B、12M        

C、6M       

D、24M

题目要求在100s内发送100GB数据,网络的传输速率至少是1G/s,某个数据包n在A中缓存的时间就是数据包n从A到B,再加上该数据包的ACK从B到A

的时间:2*1500km/(2*108m/s)=1.5*10-2s,该段时间A中缓存的数据量至少是1G/s*1.5*10-2s≈15M

所以只有18M是大于15M的

答案选D

14、有3个节点的二叉树可能有()种

A、5           

B、13          

C、12         

D、15

2014阿里巴巴校园招聘笔试题-----研发工程师_第1张图片

所以有5种可能

答案选A

15、设某文件经内排序后得到100个初始归并段(初始顺串),若使用多路归并排序算法,且要求三趟归并完成排序,问归并路数最少为()

A、8           

B、7           

C、6          

D、5

m个元素k路归并的归并趟数s=logk(m),代入数据:logk(100)≦3

所以归并路数最少为5

答案选D

你可能感兴趣的:(Introduction)