篇一:2014阿里巴巴实习生(移动客户端)在线笔试题
时间:2014年3月29日
注:贴的答案,仅供参考,是博主自己的答案
1.2个人,一人只说真话,一人只说假话,如何只问其中某个人一句话,就分辨出谁是说真话的,谁是说假话的?______。
A.问任何一人:你是说真话的,对吗
B.指着其中一人,问另一人:他是说真话的,对吗
C.指着其中一人,问另一人:他是说假话的,对吗
D.做不到
B,逻辑题,多想想应该能想的通
2.在linux中,列举当前目录下文件的是哪个命令______。
A.ps
B.cd
C.mv
D.ls
D,这估计是整套题最简单的一题,ls
3.一个容器类数据结构,读写平均,使用锁机制保证线程安全。如果要综合提高该数据结构的访问性能,最好的办法是______。
A.只对写操作加锁,不对读操作加锁
B.读操作不加锁,采用copyOnWrite的方式实现写操作
C.分区段加锁
D.无法做到
C,这题不会,乱蒙的
4.下面关于队列和栈的描述正确的是______。
A.栈是先进先出的数据结构
B.队列是先进先出的数据结构
C.栈内元素可以随机访问
D.队列内的元素可以随机访问
B,学过数据结构的都知道
5.运行的程序总要与内存进行交互。内存作为操作系统中的重要资源,对内存的分配和释放进行管理是一项非常重要的工作,以下说法中错误的是 ______。
A.内存泄露是内存管理中的常见问题
B.悬挂引用指的是对某个对象的应用实际上指向一个错误的内存地址
C.在C、C++等系统语言中,有自动的内存管理机制,不需要考虑内存管理的问题
D.程序的动态性越强,内存管理就越重要,内存分配程序的选择也就更重要
C,应该是C,有点不确认
6.某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间
的 缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是____。
A.90ns
B.80ns
C.70ns
D.60ns
A
7.下列代码的输出结果是
int i=-1;
unsigned j=1;
if (i<j)
printf(“(i<j)成立\n”);
else
printf(“(ii)
printf(“(j>i)成立\n”);
else
printf(“(j>i)不成立\n”);
A.(ii)成立
B.(ii)不成立
C.(ii)成立
D.(ii)不成立
D,在线笔试,运行后得到结果
8.某二叉树的先序遍历是12453,中序遍历是42513,那么其后续遍历是______。
A.45231
B.42351
C.12345
D.54321
A
9.在二进制数据中,小数点向右移一位,则数据______。
A.除以10
B.除以2
C.乘以2
D.乘以10
C
10.时间片调度属于____,多线程分别绑定CPU属于____。
A.并发,并发
B.并发,并行
C.并行,并行
D.并行,并发
B
11对于A、B两种排队方式,说法正确的是_______。
A.方式A效率更高
B.方式B效率更高
C.当排队的任务中有长耗时任务且比例较低时,方式B更具优势
D.都不正确
C
12.设一棵二叉树中有3个叶子节点,有8个度为1的节点,则该二叉树中总的节点数为______。
A.12
B.13
C.14
D.15
C
篇二:阿里巴巴 2015 2014年移动客户端开发在线笔试题
阿里巴巴 2015 移动客户端开发 在线笔试题
卷首语:该试卷共有两部分构成:必做题,20道单选题, 40分钟;附加题,3道大题,80分钟;共计120分钟。
一、必做题部分
1、
选第4个
2、
选第4个
3、
答案选的第三个 不确定
4、程序出错在什么阶段______?
int main(void)
{
cout<< “welcome to taobao"<<endl;
}
预处理阶段出错
编译阶段出错
汇编阶段出错
链接阶段出错
运行阶段出错
程序运行正常
答案选预处理阶段出错
5、下列描述中,唯一正确的是______。
本题没有正确选项
本题有多个正确选项
D和E都不正确
B和C有一个正确
C不正确
E和F有一个正确
6、某足球队有四名外援,分别来自巴西、荷兰、意大利和美国。他们分别擅长前锋、后卫或守门,其中:
① 美国外援单独擅长守门;
② 意大利外援不擅长前锋;
③ 巴西外援和另外某个外援擅长相同的位置;
④ 荷兰外援擅长的位置和巴西外援不同。
以上条件可以推出巴西外援擅长的位置是______。
前锋
守门
后卫
前锋或守门
后卫或守门
前锋或后卫
答案选择后卫
7、每台物理计算机可以虚拟出20台虚拟机,假定一台虚拟机发生故障当且仅当它所宿主的物理机发生故障。通过5台物理机虚拟出100台虚拟机,那么关于这100台虚拟机的故障的说法正确的是:______?
单台虚拟机的故障率高于单台物理机的故障率。
这100台虚拟机发生故障是彼此独立的。
这100台虚拟机单位时间内出现故障的个数高于100台物理机单位时间内出现故障的个数。
无法判断这100台虚拟机和100台物理机哪个更可靠。
如果随机选出5台虚拟机组成集群,那么这个集群的可靠性和5台物理机的可靠性相同。
可能有一段时间只有1台虚拟机发生故障。
答案选择第三个
8、用6块1×2的完整瓷砖,铺满2×6的地面,一共有______种不同的铺法(不允许将瓷砖划分成小块)。
13
15
22
24
25
26
答案选13
9、一个函数定义的返回值是float,它不能在
return语句中返回的值的类型是:______。
char
int
float
long
double
以上皆可以
答案选double
10、Linux系统中某个可执行文件属于root并且有setid,当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是______?
root mike
root root
mike root
mike mike
deamon mike
mike deamon
11、在32位操作系统中,下列类型占用8个字符的为______。
short int
int C long
unsigned int
long long
char
int
答案选择 int
12、关于IP地址下列说法错误的是______。
IP地址采用分层结构,它由网络号与主机号两部分组成
根据不同的取值范围IP地址可以分为五类
202.112.139.140属于B类地址
每个C类网络最多包含254台主机
IPv6采用128位地址长度
A类,B类和C类地址为内部私有地址
13、设m和n都是int类型,那么以下for循环语句,______。
for(m=0,n=-1;n=0;m++,n++)n++;
循环体一次也不执行
循环体执行一次
是无限循环
有限次循环
循环结束判断条件不合法
运行出错
14、已知一个二叉树的前序遍历结果是(ACDEFHGB),中序遍历结果是(DECAHFBG),请问后序遍历结果是______。
HGFEDCBA
EDCHBGFA
BGFHEDCA
EDCBGHFA
BEGHDFCA
BGHFEDCA
15、在一个请求页式存储管理中,一个程序的页面走向为3、4、2、1、4、5、3、4、5、1、2,并采用LRU算法。设分配给该程序的存储块数S分别为3和4,在该访问中发生的缺页次数F是______。
S=3,F=6; S=4,F=5
S=3,F=7; S=4,F=6
S=3,F=8; S=4,F=5
S=3,F=8; S=4,F=7
S=3,F=10; S=4,F=8
S=3,F=11; S=4,F=9
16、中关村电子城某卖手机的店铺给客人报价,如果按照底价500元(成本价)报出,那么客人就一定会选择在该店铺购买;价格每增加1元,客人流失的可能性增加1%。那么该店铺给客人报出的最优价格是:______?
500元
510元
520元
530元
540元
以上都不对
17、在一个童话世界里,任意两个人之间要么是朋友关系,要么是敌人关系,不存在其他关系及没有关系的情况。并且,如果A和B是朋友关系,B和C是朋友关系,那么A和C必然是朋友关系。那么关于这个童话世界中的人群的说法错误的是:______?
可能只有1个人群,这个人群内部是朋友关系。
可能有2个人群,人群内部是朋友关系,人群之间是敌人关系。
可能有3个及以上个人群,人群内部是朋友关系,人群之间是敌人关系。 如果存在多个人群,并且人群内部是朋友关系,人群之间是敌人关系,那么这些人群必然是差不多大小的。
选项B中的情况可以是其中一个人群只有一个人,另外一个人群可以由很多人。 这样一个世界里朋友关系是比较不容易发生变化的。
18、针对以下代码,const char str1[] = "abc";
const char str2[] = "abc";
const char *p1 = "abc";
const char *p2 = "abc";判断下列说法哪个是正确的:______。
str1和str2地址不同,P1和P2地址相同。
str1和str2地址相同,P1和P2地址相同。
str1和str2地址不同,P1和P2地址不同。
str1和str2地址相同,P1和P2地址不同。
4个地址都相同
篇三:2016年阿里巴巴校园实习生招聘笔试题及答案
2016年阿里巴巴校园实习生招聘c++研发工程师答案[最后一个程序设计题的实现]
#include<iostream>
#include<string>
#include<vector>
#include<set>
using namespace std;
//类C表示原料类
class C{
public:
string cname;
public:
C(string cname){
this->cname=cname;
}
friend ostream& operator<<(ostream&count,C*cptr){
cout<<cptr->cname<<endl;
return count;
}
};
//类B表示半成品类
class B{
public:
string bname;
vector<B*> bbr;
vector<C*> bcr;
set<B*>*sbptr;
set<C*>*scptr;
public:
B(string bname){
this->bname=bname;
sbptr=new set<B*>();
scptr=new set<C*>();
}
friend ostream& operator<<(ostream&count,B*bptr){
cout<<bptr->bname<<endl;
return count;
}
//输出所有的B依赖的半成品
void listBptr(set<B*>*sbptr){//假设该函数可以列出所有半成品
if(bbr.size()>0){
for(auto bptr:bbr){
sbptr->insert(bptr);
bptr->listBptr(sbptr);
}
}
}
//获取所有B的依赖的半成品
void getAllBptr(){
listBptr(sbptr);
}
void listAllBptr(){
getAllBptr();
cout<<bname<<"依赖的半成品有:"<<endl;
for(auto t:*sbptr){
cout<<t->bname<<endl;
}
}
//输出所有的B依赖的原料
void listCptr(set<C*>*cbptr){
if(bcr.size()>0){
for(auto t:bcr){
cbptr->insert(t);
//cout<<"原料名称:"<<t->cname<<endl;}
}
if(bbr.size()>0){
for(auto t:bbr){
t->listCptr(cbptr);
}
}
}
//获取所有B的原料
void getAllCptr(){
listCptr(scptr);
}
void listAllCptr(){
getAllCptr();
cout<<bname<<"依赖的所有原料有:"<<endl;
for(auto t:*scptr){
cout<<t->cname<<endl;
}
}
//插入一件依赖的半成品
void addBptr(B* bptr){
bbr.push_back(bptr);
}
//插入一件依赖的原料
void addCptr(C*cptr){
bcr.push_back(cptr);
}
//判断一件半成品是否在依赖中
bool isBptrIn(B*bptr){
for(auto t:*sbptr){
if(bptr==t){
return true;
}
}
return false;
}
//判断一件原料是否在依赖中
bool isCptrIn(C*cptr){
for(auto t:*scptr){
if(cptr==t){
return true;
}
}
return false;
}
};
//类A表示产品
class A{
public:
string aname;
vector<B*> abr;
vector<C*> acr;
set<B*>abptr;
set<C*>acptr;
public:
A(string aname){
this->aname=aname;
}
friend ostream& operator<<(ostream&count,A*aptr){ cout<<aptr->aname<<endl;
return count;
}
//输出所有的A依赖的半成品
void listBptr(){
cout<<"成品依赖的半成品有:"<<endl;
for(auto t:abr){
abptr.insert(t);
}
for(auto bptr:abr){
bptr->getAllBptr();//是否需要?
for(auto tt:*(bptr->sbptr)){
abptr.insert(tt);
}
}
for(auto t:abptr){
cout<<t->bname<<endl;
}
}
//输出所有的A依赖的原料
void listCptr(){
cout<<"成品依赖的原料有:"<<endl;
for(auto cptr:acr){
acptr.insert(cptr);
}
for(auto bptr:abr){
bptr->getAllCptr();//是否需要?
for(auto tt:*(bptr->scptr)){
acptr.insert(tt);
}
}
for(auto t:acptr){
cout<<t->cname<<endl;
}
}
//插入一件依赖的半成品
void addBptr(B* bptr){
abr.push_back(bptr);
}
//插入一件依赖的原料
void addCptr(C*cptr){
acr.push_back(cptr);
}
//判断一件半成品是否在依赖中
bool isBptrIn(B*bptr){
for(auto t:abr){
if(t->isBptrIn(bptr)){
return true;
}
}
return false;
}
//判断一件原料是否在依赖中
bool isCptrIn(C*cptr){
for(auto t:acr){
if(cptr==t){
return true;
}
}
for(auto t:abr){
if(t->isCptrIn(cptr)){
return true;
}
}
return false;
}
};
int main()
{
C a("原料a"),b("原料b"),c("原料c"),d("原料d"),e("原料e");
B f("半成品f"),g("半成品g"),i("半成品i");
A h("产品h");
f.addCptr(&a);f.addCptr(&b);f.addCptr(&c);
f.listAllCptr();
g.addCptr(&b);g.addCptr(&c);g.addCptr(&d);
g.listAllCptr();
i.addBptr(&f);
i.addBptr(&g);
//f.addBptr(&g);
//f.listAllBptr();
//需要避免产生回环递归
//g.addBptr(&f);
//g.listAllBptr();
《2016阿里巴巴实习生(移动客户端)在线笔试题》出自:百味书屋
链接地址:http://www.850500.com/news/6880.html
转载请保留,谢谢!