阿里巴巴2017实习生笔试题(一)

PS:查看答案请移步BAT直通车

总计24道题目,鉴于CSDN的MarkDown格式总出错,这里显示有问题,建议直接移步BAT直通车直接查看

选择题:

1.关于c++的inline关键字,以下说法正确的是()

A. 使用inline关键字的函数会被编译器在调用处展开

B. 头文件中可以包含inline函数的声明

C. 可以在同一个项目的不同源文件内定义函数名相同但实现不同的inline函数

D. 定义在Class声明内的成员函数默认是inline函数

E. 优先使用Class声明内定义的inline函数

F. 优先使用Class实现的内inline函数的实现

2.对N个数进行排序,在各自最优条件下以下算法复杂度最低的是

A. 快速排序

B. 堆排序

C. 冒泡排序

D. 插入排序

E. 选择排序

F. 归并排序

3.甲乙两个一样大小的杯子各自分别装着小于一半容积的水和酒精.现将甲杯子里的一部分水倒入乙杯子;之后将乙杯子的混合液倒入一些到甲杯子,此时甲杯子的液体恢复到最初的状态.假定水和酒精混合之后的体积等于混合之前的体积之和.那么以下说法正确的是()

A. 甲杯子里的酒精体积等于乙杯子里的水的体积

B. 甲杯子里的酒精的体积等于乙杯子里的酒精的体积

C. 甲杯子里的水的体积等于乙杯子里的酒精的体积

D. 甲杯子里的水的体积等于乙杯子里的水的体积

E. 甲杯子里的液体高于乙杯子里的液位

4.下列程序的执行结果是()

 main()
{
    char*a[]={"work","at","alibaba"};
    char**pa=a;
    pa++;
    printf("%s",*pa);
}
A. at

B. atalibaba

C. ork

D. orkatalibaba

E. 编译错误

F. 运行溢出

5.一个黑盒子里有若干红球和黑球,随机取出一个球是红球的概率是p.现在从黑盒子中拿出等量的红球和黑球后,随机取出一个球是红球的概率是q,如果p

A. 0

B. 1

C. 3

D. 4

E. 5

F. 7

13.在100-999这900个自然数中,若将组成这个数的三个数字认为是三条线段的长度,那么是三条线段组成一个等腰三角形(包括等边)的共有()个.

A. 45

B. 91

C. 121

D. 142

E. 156

F. 165

14.下面哪个不是线性表?(D)

A. 循环链表

B. 队列

C. 栈

D. 关联数组

E. 空字符串数组

F. 双向链表

15.下面的哪种排序算法在算复杂度平均不是O(nlogn)的?()

A. 快速排序

B. 桶排序

C. 合并排序

D. 二叉树排序树排序

E. 堆排序

16.某创业团队的一个很大的办公室(障碍和遮挡可以忽略)里有一个WIFI源,有1个工位由于距离WIFI源太远而接收不到信号.为了提高该工位的联网质量,准备在工位和WIFI信号源之间安装一个无线AP(相当于中继的,可以中转该工位上的计算机和WIFI之间的信号).只考虑从WIFI发出的信号,如果AP离WIFI源太近,就起不到中继的作用,如果AP离工位太远则可能连不上WIFI.因此AP有一个最佳的安装位置,那么关于AP最佳安装位置的说法正确的是()

A. 如果WIFI源功率越大,那么AP最佳安装位置越靠近WIFI源

B. 如果WiFi源功率越大,那么AP最佳的安装位置越靠近工位

C. WIFI源功率和AP最佳安装位置无关.

D. AP最佳安装位置在工位和WIFI信号源连线之外

E. AP最佳安装位置在工位和WIFI信号源连线中点

F. 以上说法都不对

17.有100个金币,分给10个人.第一个金币等概率地分给10个人之一.之后的每一个金币分配给第K个人的概率正比于这个人已经持有的金币数+1.在这样的分配机制下,关于每个人最终的金币个数的分布的说法错误的是()

A. 每个人得到的金币的个数的期望是相等的

B. 每个人的金币个数接近均匀分布

C. 第一个金币给哪个人,哪个人的最终金币个数的期望就会更大

D. 在中间的某个阶段金币个数越多的人,未来获得金币的可能性越大

E. 以上说法都是正确的

F. 以上说法都是不正确的

18.在自由交换的情况下,只考虑偏好,小张用自己的小刀换了小王的橡皮.关于这个交换以下说法错误的是:()

A. 小张觉得橡皮比小刀更好

B. 小王觉得小刀比橡皮更好

C. 小张和小王总的财富里没有发生变化

D. 小张和小王的效用值增加了

E. 如果把小王换成小吴,那么这个交换可能就不会发生

F. 小刀和橡皮等值

19.如下C程序,在64位处理器上运行后sz的值是什么? ()

struct st
{
    int *p;
    int i;
    char a;
};
int sz=sizeof(struct st);
A. 24

B. 20

C. 16

D. 14

E. 13

F. 12

20.下面这个代码输出的是()

#include <vector>
using namespace std;
int main(void)
{
    vector<int>array;
    array.push_back(100);
    array.push_back(300);
    array.push_back(300);
    array.push_back(300);
    array.push_back(300);
    array.push_back(500);
    vector<int>::iterator itor;
    for(itor=array.begin();itor!=array.end();itor++)
    {
        if(*itor==300)
        {
            itor=array.erase(itor);
        }
    }
    for(itor=array.begin();itor!=array.end();itor++)
    {
            cout<<*itor<<"";
    }
  return 0;

A. 100 300 300 300  300 500

B. 100 3OO 300 300 500

C. 100 300 300 500

D. 100 300 500

E. 100 500

F. 程序错误

21.下面关于一个类的静态成员描述中,不正确的是()

A. 静态成员变量可被该类的所有方法访问

B. 该类的静态方法只能访问该类的静态成员函数

C. 该类的静态数据成员变量的值不可修改

D. 子类可以访问父类的静态成员

E. 静态成员无多态特性

22.给定的一个长度为N的字符串str,查找长度为P(P

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值