阿里巴巴校园招聘笔试题及参考答案研发工程师哈尔滨站.docx
《阿里巴巴校园招聘笔试题及参考答案研发工程师哈尔滨站.docx》由会员分享,可在线阅读,更多相关《阿里巴巴校园招聘笔试题及参考答案研发工程师哈尔滨站.docx(7页珍藏版)》请在冰豆网上搜索。
阿里巴巴校园招聘笔试题及参考答案研发工程师哈尔滨站
注:
答案仅供参考
ByLB@HUST.2013-09-20
1.单选题
1.假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数
A:
h(K)=K/N;
B:
h(K)=1;
C:
h(K)=KmodN;
D:
h(K)=(K+rand(N))modN,rand(N)返回0到N-1的整数
答案:
C
2.下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是:
A:
堆排序B:
插入排序
C:
冒泡排序D:
快速排序
答案:
A
3.下面说法错误的是:
A:
CISC计算机比RISC计算机指令多
B:
在指令格式中,采用扩展操作码设计方案的目的是为了保持指令字长不变而增加寻址空间(增加指令操作的数量,保持操作码长度不变,改变的是指令长度)
C:
增加流水线段数理论上可以提高CPU频率
D:
冯诺依曼体系结构的主要特征是存储程序的工作方式
答案:
B
4.不属于冯诺依曼体系结构必要组成部分是:
A:
CPUB:
CacheC:
RAMD:
ROM
答案:
B
5.一个栈的入栈序列式ABCDE则不可能的出栈序列是:
A:
DECBAB:
DCEBAC:
ECDBAD:
ABCDE
答案:
C
6.你认为可以完成编写一个C语言编译器的语言是:
A:
汇编B:
C语言C:
VBD:
以上全可以
答案:
D
7.关于C++/JAVA类中的static成员和对象成员的说法正确的是:
A:
static成员变量在对象构造时候生成
B:
static成员函数在对象成员函数中无法调用
C:
虚成员函数不可能是static成员函数
D:
static成员函数不能访问static成员变量
答案:
C
8:
假设下图每个正方形的边长为1,则从A到Z的最短路径条数为
A:
11B:
12C:
13D:
14
答案:
C[C(6,2)-2=13]
9:
某进程在运行过程中需要等待从磁盘上读入数据,此时进程的状态将:
A:
从就绪变为运行B:
从运行变为就绪
C:
从运行变为阻塞D:
从阻塞变为就绪
答案:
C
10:
下面算法的时间复杂度为:
Intf(unsignedintn)
{
If(n==0||n==1)
Return1;
Else
Returnn*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:
18B:
24C:
21D;不可能
答案:
A
12:
对于一个具有n个顶点的无向图,若采用邻接表数据结构表示,则存放表头节点的数组大小为:
A:
nB:
n+1C:
n-1D:
n+边数
答案:
A
13:
考虑一个特殊的hash函数h,能将任何一个字符串hash成一个整数k,其概率P(k)=2^(-k),k=1,2,…,∞。
对于一个未知大小的字符串集合S中的每一个元素取hash值所组成的集合为h(S)。
若h(S)中的最大元素maxh(S)=10,那么S的大小期望是:
A:
1024B:
512C:
5D:
10
答案:
A
14:
如下函数,在32bit系统foo(2^31-3)的值是:
Intfoo(intx)
{
Returnx&-x;
}
A:
0B:
1C:
2D:
4
答案:
C2^31-3=2^(31-3)=2^28=30,30&(-30)=2,30的二进制表示中1的最低位权值;
15:
对于顺序存储的线性数组,访问节点和增加节点删除节点的时间复杂度为:
A:
O(n),O(n)B:
O(n),O
(1)C:
O
(1),O(n)D:
O(n),O(n)
答案:
C
16:
在32为系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是:
StructA
{
Inta;shortb;intc;chard;
};
StructB
{inta;shortb;charc;intc;};
A:
16,16B:
13,12C:
16,12D:
11,16
答案:
C(内存对齐)
17:
袋中有红球,黄球,白球各一个,每次任意取一个放回,如此连续3次,则下列事件中概率是8/9的是:
A:
颜色全相同B:
颜色全不相同C:
颜色不全相同D:
颜色无红色
答案:
C
18:
一个洗牌程序的功能是将n张牌的顺序打乱,以下关于洗牌程序的功能定义说法最恰当的是:
A:
每张牌出现在n个位置上的概率相等
B:
每张牌出现在n个位置上的概率独立
C:
任何连续位置上的两张牌的内容独立
D:
n张牌的任何两个不同排列出现的概率相等
答案:
D
19:
用两种颜色去染排成一个圈的6个棋子,如果通过旋转得到则只算一种,一共有多少种染色:
A:
10B:
11C:
14:
D:
15
答案:
C
20:
递归式的先序遍历一个n节点,深度为d的二叉树,则需要栈空间的大小为:
A:
O(n)B:
O(d)C:
O(logn)D:
(nlogn)
答案:
B
第二部分:
多选
21:
两个线程运行在双核机器上,每个线程主线程如下,线程1:
x=1;r1=y;线程2:
y=1;r2=x;
X和y是全局变量,初始为0。
以下哪一个是r1和r2的可能值:
A:
r1=1,r2=1
B:
r1=1,r2=0
C:
r1=0,r2=0
D:
r1=0,r2=1
答案:
ABD
22.关于Linux系统的负载,以下表述正确的是:
A:
通过就绪和运行的进程数来反映
B:
通过TOP命令查看
C:
通过uptime查看
D:
Load:
2.5,1.3,1.1表示系统的负载压力在逐渐变小
答案:
ABC(认为答案应当是BCD,load是根据运行的进程数来判定的,不包括就绪,而且D选项,在链接中说明的是对多台机子负载的大小并不能说明机子性能的好坏,但是对同一台主机而言,肯定是数字越小,负载越小)
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)
答案:
D
24:
假设函数rand_k会随机返回一个【1,k】之间的随机数(k>=2),并且每个证书出现的概率相等。
目前有rand_7,通过调用rand_7()和四则运算符,并适当增加逻辑判断和循环控制逻辑,下列函数可以实现的有:
A:
rand_3B:
rand_21C:
rand_23D:
rand_49
答案:
ABCD
25:
某二叉树的前序遍历结果为-+a*b-cd/ef,后续遍历结果为abcd-*+ef/-,问其中中序遍历序列为:
a+b*c-d-e/f
26.某缓存系统采用LRU淘汰算法,假定缓存容量为4,并且初始为空,顺序访问以下数据项的时候:
1,5,1,3,5,2,4,1,2,出现缓存直接命中的次数为:
3最后缓存数据中即将准备淘汰的数据项为:
5
27.(6分)两个较长的单向链表a和b,为了找出node满足nodeina并且nodeinb。
请设计空间使用尽量小的算法(用c/c++,java或者伪代码)
答案:
先求出链表长度L1和L2,然后较长的链表先前进abs(L1-L2)步,然后逐一对比。
28.当存储数据量超出单节点数据管理能力的时候,可以采用的办法有数据库
sharding的解决方案,也就是按照一定的规律把数据分散存储在多个
数据管理节点N中(节点编号为0,1,2,,,,N-1)。
假设存储的数据时a请完成为数据a计算存储节点的程序。
C/C++code
1
2
3
4
5
6
7
8
9
#defineN5
inthash(intelement){
returnelement*2654435761;//!
此处可能得出负值
}
intshardingIndex(inta){
intp=hash(a);
_p=abs(p)_%N____;//这里是空格
returnp;
}
!
题目有问题,hash产生的值已经溢出整形表示范围,可能得出负值。
29.(8分)宿舍内5个同学一起玩对战游戏。
每场比赛有一些人作为红方,另一些人作为蓝方。
请问至少需要多少场比赛,才能使任意两个人之间有一场红方对蓝方和蓝方对红方的比赛?
答案:
4场即可
2.一个有10亿条记录的文本文件,已按照关键字排好序存储。
请设计算法,可以快速的从文件中查找指字关键字的记录
答案:
建立B/B+树,通过指针指向偏移量,快速定位。
算法工程师附加题:
两颗二叉树T1和T2,T1的节点数是百万数量级,T2的节点数一千以内,请给出判断T2是否是T1子树的可行算法。
答案:
无;
制度说明
制度是以执行力为保障的。
“制度”之所以可以对个人行为起到约束的作用,是以有效的执行力为前提的,即有强制力保证其执行和实施,否则制度的约束力将无从实现,对人们的行为也将起不到任何的规范作用。
只有通过执行的过程制度才成为现实的制度,就像是一把标尺,如果没有被用来划线、测量,它将无异于普通的木条或钢板,只能是可能性的标尺,而不是现实的标尺。
制度亦并非单纯的规则条文,规则条文是死板的,静态的,而制度是对人们的行为发生作用的,动态的,而且是操作灵活,时常变化的。
是执行力将规则条文由静态转变为了动态,赋予了其能动性,使其在执行中得以实现其约束作用,证明了自己的规范、调节能力,从而得以被人们遵守,才真正成为了制度。