阿里巴巴2015秋季校园招聘研发工程师在线笔试题

1. 下列关键字序列为堆的是           

A. 100, 60, 70, 50, 32, 65

B. 60, 70, 65, 50, 32, 100

C. 65, 100, 70, 32, 50, 60

D. 70, 65, 100, 32, 50, 60

E. 50, 100, 70, 65, 100, 32

 

2. 如果一个博物馆参观者到达的速率是20人/min,平均每个人在馆内停留20分钟,那么该博物馆至少需要容纳      人才行?

A. 100   B. 200   C. 300    D. 400   E. 500    F. 600   G. 700   H. 800

 

3. 计算三个稠密矩阵A, B, C的乘积ABC,假定三个矩阵的尺寸分别为m*n,n*p, p*q,且m<n<p<q,以下计算顺序效率最高的是      

A. (AB)C

B. A(BC)

C. (AC)B

D. (BC)A

E. (CA)B

 

4. 通过算法生成的随机数是“伪随机”的,也就是说,在设定好第一个数之后,后面的数字的序列是确定的,并且经过一个非常大循环会回到第一个数的状态,然后周而复始。显然,摇号、抽奖的程序是不能通过伪随机数来实现的。显示中常常基于某种热噪声来实现真正的伪随机数。假定某热噪声是标准正态分布,那么能否将它转换成(0, 1)区间上的均匀分布?

A. 无法转换为(0, 1)区间上的均匀分布

B. 信息不足,无法判断

C. 借助伪随机数生成算法可以转换为(0, 1)区间上的均匀分布

D. 仅仅靠伪随机数生成算法,就可以生成(0,1)区间上的均匀分布

E. 以上说法都不对

 

5. 有一个用数组C[1…m]表示的环形队列,m为数组长度。假设f为队头元素在数组中的位置,r为队尾元素的后一位置(按顺时针方向)。若队列飞空,则计算队列中元素的个数的公式应为   

A. (m+r-f) mod m

B. r-f

C. (m-r+f) mod m

D. (m-r-f) mod m

E. (r-f) mod m

F. 需要判断边界

 

6. 某足球队有四名外援,分别来自巴西、荷兰、意大利和美国。他们分别擅长前锋、后卫或守门。其中:

(1) 美国外援单独擅长守门;

(2) 意大利外援不擅长前锋;

(3) 巴西外援和另外某个外援擅长相同的位置;

(4) 荷兰外援擅长的位置和巴西外援不同。

以上条件可以推出巴西外援擅长的位置是     

A. 前锋     B. 守门    C. 后卫    D. 前锋或守门    E. 后卫或守门    F. 前锋或后卫

 

7. 二分查找树里查询一个关键字的最坏时间复杂度为      

A. O(n)   B. O(nlogn)    C. O(n^2)     D. O(n^3)    E. O(logn)    F. 不确定

 

8. 在小端序的机器中,如果

union X{

int x;

char y[4];

};

如果:

X a;

a.x = 0x11223344;  //16进制

则:       

A. a.y[0] = 11

B. a.y[1] = 11

C. a.y[2] = 11

D. a.y[3] = 11

E. a.y[0] = 22

F. a.y[3] = 22

 

9. 假设某段通信电文仅有6个字母ABCDEF组成,字母在电文中出现的概率分别为2, 3, 7, 15, 4, 6.根据这些频率作为权值构造哈夫曼编码,最终构造出的哈夫曼树带权路径长度与字母B的哈夫曼编码分别为    

A. 86, 1011

B. 70, 1000

C. 86, 0001

D. 70, 0100

E. 92, 1000

F. 92, 0100

 

10. 并发进程执行的相对速度是    

A. 由进程的程序结构决定

B. 由进程本身来控制

C. 进程被创建时决定

D. 与进程度策略有关

E. 与进程销毁时间有关

F. 由内存分配策略决定

 

11. 某团队有2/5的人会写Java程序,有3/5的人会写C++程序,这个团队里同时会写Java和C++的最少有     人。

A. 3   B. 4    C. 5    D. 8   E. 15   F. 20

 

12. 有个装过实验的瓶子,容积是w,在食盐用完之后,还有一些食盐粉末(体积可以忽略)残留在瓶子壁上。现在要把瓶子改装糖,给你u体积的纯净水,用来清洗该瓶子。在每次清洗之后,瓶子里会残留至少v体积的水(食盐溶液,可以忽略盐的体积)。假设w>u>v,请问下述那种方式使用这些纯净水,能把瓶子洗的最干净?

A. 把所有的纯净水全部倒入瓶子,然后把水倒掉

B. 将纯净水平均分成两份,用每一份清水洗一遍瓶子

C. 每次注入体积v的纯净水清洗瓶子,直到纯净水用尽

D. 每次注入体积2v的纯净水清洗瓶子,直到纯净水用尽

E. 将用过的水重新注入瓶子,多次清洗

F. 以上方法清洗效果相同

 

13. 下列C代码总,不属于未定义行为的有     

A. int i = 0;   i = (i++);

B. char *p = “hello”;    p[1] = ‘E’;

C. char *p = “hello”;     char ch = *p++;

D. int i = 0;   printf(“%d%d\n”, i++, i--);

E. 都是未定义行为

F. 都不是未定义行为

 

14. 毕业典礼后,某宿舍三位同学把自己的毕业帽扔了,随后每个人随机地拾起帽子,三个人中没有人选到自己原来戴的帽子的概率是    

A. 1/2   B. 1/3    C. 1/4    D. 1/6    E. 1/8    F. 1/9

 

15. 村长带着4对父子参加爸爸去哪儿第三季第二站某村庄的拍摄。村里为了保护小孩不被拐走有个前年的规矩,那就是吃饭时候小孩左右只能是其他小孩或自己的父母,那么4对父子在圆桌上共有     种坐法。(旋转一下,每个人面对方向变更后算是一种新的坐法)

A. 144   B. 240    C. 288     D. 480    E. 576     F. 960

 

16. 分布式系统中,       不是可扩展性所需要的。

A. 无状态应用集群

B. 分布式缓存

C. 负载均衡

D. 硬件共享策略

E. 分而治之策略

F. 以上所有都是

 

 

17. 若干个等待访问磁盘者依次要访问的磁道为19,43, 40, 4, 79, 11, 76,当前磁头位于40号柱面,若用最短寻道时间优先磁盘调度算法,则访问序列为    

A. 19, 43, 40, 4, 79, 11, 76

B. 40, 43, 19, 11, 4, 76, 79

C. 40, 43, 76, 79, 19, 11, 4

D. 40, 43, 76, 79, 4, 11, 19

E. 40, 43, 76, 79, 11, 4, 19

F. 40, 19, 11, 4, 79, 76, 43

 

18. C++内存分配中说法错误的是    

A. 对于栈来讲,生长方向是向上的,也就是向着内存地址增加的方向

B. 对于堆,大量的new/delete操作会造成内存空间的不连续

C. 堆容易产生memory leak

D. 堆的效率比栈要低得多

E. 堆变量引用容易逃逸

F. 以上都对

 

 

19. 下列关于网络编程错误的是     

A. UDP是不可靠服务

B. 主动关闭的一端会出现TIME_WAIT状态

C. 服务端编程会调用listen(),客户端也可以调用bind()

D. TCP建立和关闭连接都只需要三次握手

E. Linux通过提供socket接口来进行网络编程

F. 长连接相对短链接可以节省建立连接的时间

 

20. 在32位操作系统中,下列类型占用8个字符的为      

A. short int

B. int

C. long

D. Unsigned int

E. long long

F. char

G. int

 

21. java中的wait()方法和sleep()方法的区别是什么?

 

22. 写一个函数,输入一个二叉树,注重每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点的差值的绝对值,请注意程序效率。

 

23. 给定一个query和一个text,均由小写字母组成。要求在text中找出以同样顺序连续出现在query中的最长连续字母序列的长度。例如,query为”acbac”,text为”acaccbabb”,那么text中的”cba”为最长的连续出现在query中的字母序列,因此返回结果应该为其长度3。请注意程序效率。


posted @ 2014-09-05 21:06  DianaCody  阅读(253)  评论(0编辑  收藏  举报