(精选3篇)
2017笔试题有哪些呢?做好笔试题很重要!下面就由小编为大家介绍一下阿里巴巴2017实习生招聘笔试题的文章,欢迎阅读。
阿里巴巴实习生招聘笔试题(篇1)
1:
有整形数组a有n个数;那a逆序:例如a={1,2,3,4}经过代码处理后变为a={4,3,2,1};要求代码简介(<20行)不使用库函数。使用加减乘除赋值和逻辑控制语言实现。
写出代码。
void revense(int _a,int n) {
for(int i=0; i
{
a[i]=a[i] a[n-i-1];
a[n-i-1]=a[i]-a[n-i-1];
a[i]=a[i]-a[n-i-1];
}
}
2:
计算期望:某个工程师忘记设闹铃的概率为0.2,上班堵车概率为0.5。他的迟到概率:
忘设闹铃并堵车 1.0 忘设闹铃不堵车 0.9 设闹铃堵车 0.8 设闹铃不堵车 0
求他60天的迟到天数的期望。
0.51
3:
周转时间
4:
有n个战士其中n>4他们手中都有不同的情报,假设每个人通过交流能过得双方所有的情报。设计一个算法使得用最少的交流次数使得
所有的战士都获得全部的情报,给出算法并给出最小交流次数?
等各位补充答案
5:
有个聚会有n人参加,其中n-1个是群众。1个是明星。其中所有群众都认识明星,明星不认识任何群众,群众之前是否认识不知道。
假设有个机器人能问问题a是否认识b?时间复杂度为o(1),那么设计一个算法用最小的复杂度找出明星。(不写代码,不计算复杂度不得分)
遍历这n个人;
首先取出 1号 和 2号,
如果 1 认识 2, 那么把 1 去掉;
如果1不认识2,就可以把2去掉了。
每次比较都去掉一个,如此循环;n-1次之后只有一个人了
时间复杂度: o(n)
阿里巴巴实习生招聘笔试题(篇2)
1.下面不能用作linu_的进程间通信的是_
a.共享内存 b.管道名 c.信号量 d.临界区
2.cpu和i/0一次只能处理一个程序,现有
p1:计算60ms i/o80ms 计算20ms
p2: 计算120ms i/o40ms 计算40ms
p3:计算40ms i/o80ms 计算40ms
c.160 d.200
3.两个进程同时执行一个函数,初始a=0:
2.一个函数为
foo()
{
if(a<=0)
a ;
else
a–;
printf(%d,a);
}
其中a是全局变量;架设 ,–,printf都是原子操作。如果有两个并发线程都运行函数foo()那么下面哪个结果不会出现?a
a、01 b、10 c、12 d、22
阿里巴巴实习生招聘笔试题(篇3)
1.给定fun函数如下,那么fun(10)的输出结果是()
int fun(int_)
{
return(_==1)? 1 : (_ fun(_-1));
}
a.0 b.10 c.55 d.
2.在c 程序中,如果一个整型变量频繁使用,最好将它定义为()
a.auto b.e_tern c.static d.register
3.长度为n的字符串匹配子串长度为m的字符串,求算法的复杂度最小为_
a.o(n) b.o(n m) c.o(n logm) d.o(m logn)
4.下列排序算法中最坏复杂度不是n(n-1)/2的是_
a.快速排序 b.冒泡排序 c.直接插入排序 d.堆排序
5.判断一包含n个整数a[]中是否存在i、j、k满足a[i] a[j] = a[k]的时间复杂度最小值是()
a.o(n^2) b. o(n^2_ogn) c. o(n^3) d. o(nlogn)
6.射击3次打靶成功的概率是0.95,打靶一次成功的概率是多少?
c.0.63 d.0.86