阿里巴巴2015算法工程师实习生笔试卷

来源:互联网 发布:网络婚恋诈骗案件 编辑:程序博客网 时间:2024/05/21 17:51
1 用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0。
6
8
10
12
14
16

//N/3+N/9+N/27=14 3进制里,只有=3的时候会进位,末尾会是0,而3进制里只有1*3=3,


2 小赵和小钱二人分别从寝室和图书馆同时出发,相向而行。过了一段时间后二人在中途相遇,小赵继续向图书馆前进,此时:若小钱继续向寝室前进,则当小赵到达图书馆时,小钱离寝室还有600米;若小钱立即折返向图书馆前进,则当小赵到达图书馆是,小钱离图书馆还有150米。那么图书馆与寝室间的距离是____。
1300m
1250m
800m
1050m
1100m
900m
设相遇时花时间t1,小赵到图书馆又花了t2;小赵与小钱速度差为v;
v(t1+t2)=600
v*t2=150
t1:t2=3:1
画个图就好算了,600+150+150=900.

3 某开发团队有6位开发同学,需参加5个项⽬,每位同学需要恰好参加1个项⽬,那么总共有____ 种不同的分配⽅案 
7200
3600
2700
1800
900
30
C6 2 *A5 5

4 下列选项中,识别模式与其他不一样的是____。
用户年龄分布判断:少年、青年、中年、老年
医生给病人诊断发病类型
投递员分拣信件
消费者类型判断:高消费、一般消息、低消费
出行方式判断:步行、骑车、坐车
商家对商品分级

5如下SQL语句中,____可能返回null值。
(1) select count(*) from t1;
(2) select max(col1) from t1;
(3) select concat('max=',max(col1)) from t1;
(1)可能,(2)和(3)不可能
(2)可能,(1)和(3)不可能
(2)可能,(1)和(3)不可能
(1)不可能,(2)和(3)可能
都不可能
都可能
(1)返回的是表的行数,如果没有记录,应该返回0,不会出现NULL,
(2) 和(3) 正常情况下不会出现NULL,但是如果表里面没有记录,则会出现NULL

6 以下关于STL的描述中,____是错的。
STL容器是线程不安全的
当容量不够时,vector内部内存扩展方式是翻倍
std::sort是稳定排序
std::bitset不是一个STL容器
std::stack默认是用deque实现的
std::string中可以存储多个’\0’字符

7 有8只球队,采⽤用抽签的⽅方式随机配对,组成4场⽐比赛。假设其中有4只强队,那么出现强强对话 (任意两只强队相遇)的概率是____。
1/3
3/7
1/2
13/21
27/35
31/35
四个强队不相遇的概率(8*6*4*2)/(8*7*6*5)=8/35
则相遇的概率就是27/35了

8 两个市区C1和C2,其人口比率是1:3,从今年的患病统计来说,C1市区由于污染严重,患癌的概率是0.1%,而C2市的患癌概率是0.02%,现在医院接收到一位患癌病人,他是C1市区来的概率是____。
62.5%
25%
75%
77.5%
50%
70%

9下面代码在64位Linux系统编译执行,输出结果是____。
#include <stdint.h> #include <stdio.h> void print_size(int32_t array[10]){  printf("%d\n", sizeof(array)); } int main () {  int32_t myArray[10];  printf("%d ", sizeof(myArray));  print_size(myArray); } 
20 4
40 4
80 4
40 8
80 8
以上均不正确

10 假设某棵二叉查找树的所有键均为1到10的整数,现在我们要查找5。下面____不可能是键的检查序列。
10,9,8,7,6,5
2,8,6,3,7,4,5
1,2,9,3,8,7,4,6,5
2,3,10,4,8,5
4,9,8,7,5
以上均正确

11 以下程序在32位机器上运行输出是____。
#include <iostream>using namespace std;class animal{protected:    int age;public:    virtual void print_age(void) = 0;};class dog : public animal{public:       dog() {this -> age = 2;}       ~dog() { }       virtual void print_age(void) {cout<<"Wang, my age = "<<this -> age<<endl;}};class cat: public animal{public:    cat() {this -> age = 1;}
    ~cat() { }    virtual void print_age(void) {cout<<"Miao, my age = "<<this -> age<<endl;}};int main(void){     cat kitty;     dog jd;     animal * pa;     int * p = (int *)(&kitty);     int * q = (int *)(&jd);    p[0] = q[0];    pa = &kitty;    pa -> print_age();    return 0;
}
Wang, my age = 2
Wang, my age = 1
Miao, my age = 2
Miao, my age = 1
程序编译报错
程序运行报错
对象的内存地址是:
虚指针(如果有),数据成员列表;
故这里其实是改变了虚函数指针。
同样方式我们可以p[1] = 100;改变kitty 的 age 为100

12 A,B,C三位同学都是很聪明的同学,面试官给他们背上依次贴上了数字2,4,8,他们都能看见别人的数字但无法看见自己的数字,现在面试官告诉他们这些数字都是自然数并且构成一个等比数列,让A、B、C同学依次循环回答是否确定自己的数字是多少,每位同学的回答算作一次,经过____次有同学能准确说出自己的数字。
2
3
4
5
6
7
三次 A同学看到B4 C8时,猜自己是2或16,B同学看到A2 C8 猜到自己可能是4 或者16 C同学看到A2 B 4,猜自己是1或者8 但是如果自己是1 的话,A肯定是能知道自己的号牌的,所以自己只可能是8

13 给定一个整数sum,从有N个无序元素的数组中寻找元素a、b、c、d,使得 a+b+c+d =sum,最快的平均时间复杂度是____。
O(N^2)
O(log N)
O(N)
O(N^3)
O(N^2LogN)
O(N^4)

14 设二叉树结点的先根序列、中根序列和后根序列中,所有叶子结点的先后顺序____。
三者相同
只有先序和中序相同,与后序不同
只有中序和后序相同,与先序不同
只有先序和后序相同,与中序不同
视树的情况而定
三者都不相同

15 将整数序列(7-2-4-6-3-1-5)按所示顺序构建一棵二叉排序树a(亦称二叉搜索树),之后将整数8按照二叉排序树规则插入树a中,请问插入之后的树a中序遍历结果是____。
1-2-3-4-5-6-7-8
7-2-1-4-3-6-5-8
1-3-5-2-4-6-7-8
1-3-5-6-4-2-8-7
7-2-8-1-4-3-6-5
5-6-3-4-1-2-7-8

16 下列各项技术中,目的与程序的容错(fault-tolerance)最不相关的是____。
fail fast
graceful degradation
backup
sandbox
checkpoint
watchdo

17 对于192.168.0.0到192.168.0.255这个网络来说,以下说法中正确的是____。
网段内可用来作为主机IP的范围是:192.168.0.0到192.168.0.255
Network IP是192.168.0.255
Broadcast IP是192.168.0.0
网段内的主机可以通过网卡对网卡传递数据
192.168.0.1和192.168.0.2的主机需要使用Router传递数据包
是class B等级

18以下是一个有向图,我们从节点B开始进行深度优先遍历(DFS),那么以下5个序列中,所有正确的DFS序列是____。
 
1、BADECF  2、BADEFC  3、BCAFDE  4、BCFDEA  5、BFDECA
245
24
13
123
12345
12

19 已知int a[]={1,2,3,4,5};int*p[]={a,a+1,a+2,a+3};int **q=p;表达式*(p[0]+1)+**(q+2)的值是____。
5
6
7
8
4
9

20 设x、y、t均为int型变量,则执行语句:t=3; x=y=2; t=x++||++y; 后,变量t和y的值分别为____。
t=1 y=2
t=1 y=3
t=2 y=2
t=2 y=3
t=3 y=2
t=3 y=3

0 0
原创粉丝点击