74、阿里巴巴集团2014校园招聘系统工程师北京站笔试题 联系客服

发布时间 : 星期日 文章74、阿里巴巴集团2014校园招聘系统工程师北京站笔试题更新完毕开始阅读a63da3954531b90d6c85ec3a87c24028915f85fa

关注公众号:儒思HR人力资源网(微信搜索 ID:cuixg111 进入) 下载海量名企管理资料(全部免费)

第二部分 不定向选项(4题,每题5分。每题有1-5个正确选项,完全正确计5分,漏选计2分,不选计0分,多选、错选计-2分)

21. 要提高多线程程序的效率,对锁的控制策略非常重要。一种策略是在锁的个数不太多、控制结构不太复杂的情况下,尽可能降低加锁的粒度;另一种策略是在合适的条件下取消用锁。以下情况中不可能取消锁的是 。 A. 多线程写一个共同的数据结构,且写操作是原子操作 B. 多线程写一个共同的数据结构,且写操作不是原子操作 C. 多线程读一个共同的数据结构,且读操作不是原子操作

D. 一个线程写,多个线程读一个共同的数据结构,写操作是原子操作,读操作不是原子操作

E. 一个线程写、多个线程读一个共同的数据结构,写操作不是原子操作,读操作是原子操作

22. 一颗非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树可能是 。

A. 所有的结点均无右孩子 B. 只有一个叶子结点 C. 是一颗二叉树索树

D. 所有的结点均无左孩子

23. 以下数字在表示为double(8字节的双精度浮点数)时存在舍入误差的有 。 A.

2 B. 10的30次方 C. 0.1 D. 0.5 E. 100

24. 给定如下C程序: typedef struct node_s{ int item;

struct node_s* next;

}node_t;

void reverse_list(node_t* head) {

node_t* n=head; head=NULL; while(n){ }

return head; }

关注公众号:儒思HR人力资源网(微信搜索 ID:cuixg111 进入) 下载海量名企管理资料(全部免费)

以下哪项能实现该函数的功能

A. node_t* m=head; head=n; head->next=m; n=n->next; B. node_t* m=n; n=n->next; m->next=head; head=m; C. node_t* m=n->next; n->next=head; n=m; head=n;

D. head=n->next; head->next=n; n=n->next;

第三部分 填空与问答(5题,共30分)

25. (4分)某无聊的程序员在玩Windows上的记事本程序,不用鼠标,每次可以按以下键或组合之一:A、Ctrl+A(全选)、Ctrl+C(拷贝)、Ctrl+V(粘贴),那么在10次按键只能可以制造的最长文本长度为 。

26. (4分)若初始序列为gbfcdae,那么只会少需要 次两两交换,才能使该序列变为abcdefg。任给一个自由a--g这7个字母组成的排列,最坏的情况下需要至少 次两两交换,才能使序列变为abcdefg。

27. (5分)在某恶劣天气,若地图上S点到T点的交通网如下图所示,其中每条边表示一条双向通道,其上的数字为该通路可通行的概率,且该概率两两独立。求S到T的可通行概率 。

1/3 1/2 1/2

1/2

1/2

1/3

28. (8分)6度分离假说的含义是,世界上任何两个人要么是朋友,要么是朋友的朋友,或者更高阶的朋友的朋友(如朋友的朋友的朋友),改论断中“朋友”一词出现的次数为两人之间的距离,那么该距离小于等于6。如果某SNS(如QQ、旺旺等),有100万用户,其人际关系网咯符合以下两个假设:

1) 朋友关系是一种对称关系(如A和B是朋友,那么B和A也是朋友) 2) 符合2度分离假说

3) 第i个人拥有的朋友的个数为ni ,所有ni 中最大值为n 试估算n的最小值 。

关注公众号:儒思HR人力资源网(微信搜索 ID:cuixg111 进入) 下载海量名企管理资料(全部免费)

29. (9分)某电子商务网站进行A、B两种推荐算法的效果对比测试,对用户的访问请求按照1:9的比例随机分配给A和B两种算法处理。产生推荐结果后,按照两种指标对比两种算法产生的结果好坏:第一种指标是CTRPV=该算法下用户的点击展现次数/该算法下所有的展现次数,第二种指标是CTRUV=该算法下有点击的用户数/该算法下所有的用户数。假定每个用户会对该推荐服务2次访问,如果A和B的CTRPV持平(假设为0.01)。那么CTRUV哪个大,大的比小的大百分之多少 。

第四部分:JAVA附加题(注,阿里有大量JAVA研发工程师需求;选作以下题目有机会增加该方向面试机会)

1.以下每个线程输出的结果是什么?(不用关注输出的顺序,只需写出输出的结果集即可)

public class TestThread{ public static vod main(String[] args){ // test1 Thread t1 = new Thread(){ @Override public void run(){ try{ int i=0; while(i++<100000000){ // nothing } System.out.println(\ }catch(Exception e){ System.out.println(\ } }; }; t1.start(); t1.interrupt(); // test2 Thread t2 = new Thread(){ public void run(){ try{ Thread.sleep(5000); System.out.println(\ }catch(Exception e){ System.out.println(\ }

关注公众号:儒思HR人力资源网(微信搜索 ID:cuixg111 进入) 下载海量名企管理资料(全部免费)

}

}

}; };

t2.start();

// t2.interrupt(); //不确定是否有这句话

// test3

Thread t3 = new Thread(){ public void run(){ try{ Thread.sleep(50000); System.out.println(\ }catch(Exception e){ System.out.println(\ } }; };

t3.start();

t3.interrupt();

// test4

Thread t4 = new Thread(){ public void run(){ try{ Thread.sleep(50000); System.out.println(\ }catch(Exception e){ System.out.println(\ } }; };

t4.start();

t4.interrupt();

// test5 try{ t4.start(); System.out.println(\}catch(){ System.out.println(\}