分享

笔试题--阿里巴巴

 暖风醉伊人 2013-09-16
 

阿里巴巴2014校招笔试题

 23人阅读 评论(0) 收藏 举报

题目:宿舍内有五个童鞋一起玩对战游戏,每场比赛有一些人作为红方,另外一些人作为蓝方,请问至少需要多少场比赛才能使得任意两个人之间有一场红方对蓝方和一场蓝方对红方的比赛,请写出思路。


分析:

假设每次红方为1一个,蓝方为4个人,则满足 任意两个人之间有一场红方对蓝方和一场蓝方对红方的比赛的条件  只需要比赛5场即可。

再进行下排列组合 可得到更少的次数。这里5个人的编号依次为 1,2,3,4,5.

第一次比赛:红方:1,2   蓝方:3,4,5

第二次比赛:红方:3,4   蓝方:1,2,5

第三次比赛:红方:1,4,5  蓝方:2,3

第四次比赛:红方:2,3,5  蓝方:1,4

则至少需要4次比赛即可。

如有不同观点,欢迎探讨



一道2014年阿里巴巴校招笔试题

分类: javaSE 算法数据结构 294人阅读 评论(0) 收藏 举报

题目是某缓存系统采用LRU算法,假定缓存容量为4,并且初始为空,那么在顺序访问以下数据项的时候,

1,5,1,3,5,2,4,1,2

出现缓存直接命中的次数是()次,最后缓存中即将准备淘汰的数据项是()。

先解释下概念吧

LRU(Least Recently Used)算法:就是把最近一次使用时间离现在时间最远的数据删除掉。具体实现请看这篇博文《如何用LinkedHashMap实现LRU缓存算法》

下面就来解题吧,我们列出每一次访问数据项时,缓存的状态

1
1,5
5,1 命中
5,1,3
1,3,5 命中
1,3,5,2
3,5,2,4 超过缓存容量上限,删除1
5,2,4,1 超过缓存容量上限,删除3
5,4,1,2 命中

所以答案就出来了,直接命中次数是3,最后缓存中准备淘汰的数据项是5




阿里巴巴2014校招笔试题-2013年9月14日

分类: 算法与数据结构 程序员笔试面试 1176人阅读 评论(18) 收藏 举报

不得不吐槽,阿里真是太混乱了,北京的笔试在考场等了两个半小时,考卷都没运到考场,@阿里巴巴集团校园招聘 回应说:“北京的同学们,简单解释下,为了试卷的保密,印刷的时间都比较晚,结果出意外了。”还是没考成,现在其他城市的笔试结束了,有同学分享了试卷,就来做做吧


答案:

25题:根据先序和中序写出后序

26题:直接命中的次数是3次,分别是访问1,5,1,3,5,2,4,1,2时。最后缓存中即将准备淘汰的数据项是5

27题:node in a 并且node in b,就是求两个链表的公共节点吧

就是先分别遍历一遍链表A和链表B,在遍历时分别记下链表AB的长度,并且在最后看看链表A和链表B的最后一个节点是不是相同,如果相同则有公共节点,如果不同就没有公共节点。

找公共节点就是再利用两个指针,根据遍历时记录的长度,找到第一个公共节点,这个节点后面的就都是公共节点了。

28题:p %= N;

29题:4场




 

阿里巴巴 2013-9-14

分类: 微软面试100题 176人阅读 评论(0) 收藏 举报

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)返回0N-1的整数

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

A: 堆排序 B:插入排序

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

3. 下面说法错误的是:

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

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

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

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

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

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

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

A:DECBA  B:DCEBA  C:ECDBA  D:ABCDE

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

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

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

Astatic成员变量在对象构造时候生成

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

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

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

8:看不清

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

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

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

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!)

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

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

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

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

13:不全

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

Int foo(int x)
{

Return x&-x;

}

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

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

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

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

Struct A
{

Int a;short b;int c;char d;

};

Struct B
{int a;short b;char c;int c;};

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

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

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

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

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

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

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

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

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

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

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

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

第二部分:多选

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

Xy是全局变量,初始为0。以下哪一个是r1r2的可能值:

A: r1=1,r2=1

B: r1=1,r2=0

C:r1=0,r2=0

D:r1=0,r2=1

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

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

B: 通过TOP命令查看

C: 通过uptime查看

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

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)

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

A:rand_3 B:rand_21  C:rand_23  D:rand_49

填空和问答:

25:某二叉树的前序遍历-+a*b-cd/ef,后续遍历abcd-*+ef/-,问其中序遍历序列为:

26:某缓存系统采用LRU,缓存容量为4,并且初始为空,那么在顺序访问以下数据项的时候:1,5,1,3,5,2,4,1,2

出现缓存直接命中的次数为:(),最后缓存即将淘汰的是()

27:两个较长的单链表ab,为了找出节点node满足node in a并且node in b。请设计空间使用尽量小的算法。

 

29:宿舍内5个同学一起玩对战游戏,每场比赛有一些人作为红方,一些人作为蓝方,请问至少需要多少场比赛,才能使得任意两个人之间有一场红方对蓝方和蓝方对红方的比赛?

 

 

选择题答案:

C A B B C

D C C C B

A A 不会 B C

C B A B B

ABD

不会

ABCD

填空与问答:

25:无法确定

26:3 5

27:链表相交检测,链表环检测。参考博客:http://blog.csdn.net/hackbuteer1/article/details/7583102

29: 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多