首页 > 代码库 > 2015年阿里巴巴校招研发工程师在线笔试题汇总

2015年阿里巴巴校招研发工程师在线笔试题汇总

在线笔试题汇总

卷一:

1、下面的函数中哪个是系统调用而不是库函数______?
printf
scanf
fgetc
read
print_s
scan_s

2、某足球队有四名外援,分别来自巴西、荷兰、意大利和美国。他们分别擅长前锋、后卫或守门,其中:
① 美国外援单独擅长守门;
② 意大利外援不擅长前锋;
③ 巴西外援和另外某个外援擅长相同的位置;
④ 荷兰外援擅长的位置和巴西外援不同。
以上条件可以推出巴西外援擅长的位置是______。
前锋
守门
后卫
前锋或守门
后卫或守门
前锋或后卫

3、使用一辆卡车运输n块单块1TB装满数据的硬盘,以时速80km/h行驶1000km将数据运送到目的地;卡车至少运送______块硬盘才能使传输速率超1000Gbps。
2000
3000
4000
5000
6000
7000

4、java中的wait()方法和sleep()方法的区别是什么?

5、给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。

6、写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。

7、如果一个博物馆参观者到达的速率是每分钟20人,平均每个人在馆内停留20分钟,那么该博物馆至少需要容纳______人才行?
100人
200人
300人
400人
500人
600人

8、有一只火鸡出生在某年春天。从出生第一天起,主人就会每天给它喂食。这只火鸡用一个模型来计算主人对它的爱的程度=吃到米的天数/(出生之后的总天数+1)。这只火鸡发现这个爱的指数每天都在上升。有一天感恩节到了,火鸡被主人杀掉了。关于火鸡的爱的指数模型的说法正确的是:______?
火鸡的模型之所以无效,是因为这个公式不是最大似然估计。
火鸡的模型之所以无效,是因为这个爱的指数增长速度先快后慢。
火鸡的模型之所以无效,是因为没有计算这个爱的指数的方差。
火鸡的模型之所以无效,是因为分母+1了。
火鸡的模型之所以无效,是因为主人太坏了。
火鸡的模型之所以无效,是因为统计的概率空间不完整。

9、下列描述中,唯一错误的是______。
本题有五个选项是正确的
B正确
D正确
DEF都正确
ABC中有一个错误
如果ABCDE都正确,那么F也正确

10、全班100个学生,老师让玩如下一个游戏:每个学生在纸上写一个1到100之间的整数(含1和100),不能参考别人写的数字,谁的数字最接近所有数字的3/4,谁就会获得100元钱。下面的数字中最糟糕的选择是:______?

11、并发进程执行的相对速度是______。
由进程的程序结构决定
由进程本身来控制
进程被创建时决定
与进程调度策略有关
与进程的销毁时间有关
由内存分配策略决定

12、“村长”带着4对父子参加“爸爸去哪儿”第三季第二站某村庄的拍摄。村里为了保护小孩不被拐走有个千年的规矩,那就是吃饭的时候小孩左右只能是其他小孩或者自己的父母。那么4对父子在圆桌上共有______种坐法。(旋转一下,每个人面对的方向变更后算是一种新的坐法)

13、有一个装过食盐的瓶子,容积是w,在食盐用完之后,还有一些食盐粉末(体积可以忽略)残留在瓶子壁上。现在要把该瓶子改装糖,给你u体积的纯净水,用来清洗该瓶子。在每次清洗之后,瓶子里会残留至少v体积的水(食盐溶液,可以忽略盐的体积)。假设w>u>v,请问下述哪种方式使用这些纯净水,能把瓶子洗得最干净______?

把所有的纯净水全部倒入瓶子,然后把水倒掉。
将纯净水平均分为两份,用每一份清水洗一遍瓶子。
每次注入体积为v的纯净水清洗瓶子,直到纯净水用尽。
每次注入体积为2v的纯净水清洗瓶子,直到纯净水用尽。
将用过的水重新注入瓶子,多次清洗。
以上方法清洗效果相同。

14、通过算法生成的随机数是“伪随机”的,也就是说,在设定好第一个数之后,后面的数字的序列是确定的,并且经过一个非常大的循环会回到第一个数的状态,然后周而复始。显然,摇号、抽奖的程序是不能通过伪随机数来实现的。现实中常常基于某种热噪声来实现真正的随机数。假定某热噪声是标准正态分布,那么能否将它转换成(0,1)区间上的均匀分布______?

忽略测量和计算误差,可以转换为(0,1)区间上的均匀分布。
无法转换为(0,1)区间上的均匀分布。
信息不足,无法判断。
借助伪随机数生成算法可以转换为(0,1)区间上的均匀分布。
仅仅靠伪随机数生成算法,就可以生成(0,1)区间上的均匀分布
以上说法都不对。

15、下面选项中,______是一个典型TCP客户端(主动建立连接,主动断开连接)会经历的状态序列。
SYNC_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT
SYNC_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->CLOSE_WAIT
SYNC_SENT->SYNC_RCVD->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2
SYNC_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->LAST_ACK
SYNC_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->FIN_WAIT1
SYNC_SEND->ESTABLISHED->FIN_WAIT1->TIME_WAIT->CLOSE_WAIT

16、每台物理计算机可以虚拟出20台虚拟机,假定一台虚拟机发生故障当且仅当它所宿主的物理机发生故障。通过5台物理机虚拟出100台虚拟机,那么关于这100台虚拟机的故障的说法正确的是:______?
单台虚拟机的故障率高于单台物理机的故障率。
这100台虚拟机发生故障是彼此独立的。
这100台虚拟机单位时间内出现故障的个数高于100台物理机单位时间内出现故障的个数。
无法判断这100台虚拟机和100台物理机哪个更可靠。
如果随机选出5台虚拟机组成集群,那么这个集群的可靠性和5台物理机的可靠性相同。
可能有一段时间只有1台虚拟机发生故障。

17、若干个等待访问磁盘者依次要访问的磁道为19,43,40,4,79,11,76,当前磁头位于40号柱面,若用最短寻道时间优先磁盘调度算法,则访问序列为______。
19,43,40,4,79,11,76
40,43,19,11,4,76,79
40,43,76,79,19,11,4
40,43,76,79,4,11,19
40,43,76,79,11,4,19
40,19,11,4,79,76,43

18、对立的两方争夺一个价值为1的物品,双方可以采取的策略可以分为鸽子策略和鹰策略。如果双方都是鸽子策略,那么双方各有1/2的几率获得该物品;如果双方均为鹰策略,那么双方各有1/2的概率取胜,胜方获得价值为1的物品,付出价值为1的代价,负方付出价值为1的代价;如果一方为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。在争夺的结果出来之前,没人知道对方是鸽子策略还是鹰策略。当选择鸽子策略的人的比例是某一个值时,选择鸽子策略和选择鹰策略的预期收益是相同的。那么该值是:
0.2
0.4
0.5
0.7
0.8
以上都不对

19、一个合法的表达式由()包围,()可以嵌套和连接,如(())()也是合法表达式;现在有6对(),它们可以组成的合法表达式的个数为______。
15
30
64
132
256
360

卷二:

笔试时间为2014年8月29日,均为网上答题。第一部分为单选题,共20题,要在40分钟内完成。每个人的选择题都不一样,应该是后台有题库,每个人的试卷都是随机生成的。第二部分为附加题,一般为1道问答题,2道编程题。(岗位不同,题目也不一样)。

1. 通过算法生成的随机数是“伪随机”的,也就是说,在设定好第一个数之后,后面的数字的序列是确定的,并且经过一个非常大的循环会回到第一个数的状态,然后周而复始。显然,摇号、抽奖的程序是不能通过伪随机数来实现的。现实中常常基于某种热噪声来实现真正的随机数。假定某热噪声是标准正态分布,那么能否将它转换成(0,1)区间上的均匀分布______?

A. 忽略测量和计算误差,可以转换为(0,1)区间上的均匀分布。

B. 无法转换为(0,1)区间上的均匀分布。

C. 信息不足,无法判断。

D. 借助伪随机数生成算法可以转换为(0,1)区间上的均匀分布。

E. 仅仅靠伪随机数生成算法,就可以生成(0,1)区间上的均匀分布

F. 以上说法都不对。

2. 在一个童话世界里,任意两个人之间要么是朋友关系,要么是敌人关系,不存在其他关系及没有关系的情况。并且,如果A和B是朋友关系,B和C是朋友关系,那么A和C必然是朋友关系。那么关于这个童话世界中的人群的说法错误的是:______?

A. 可能只有1个人群,这个人群内部是朋友关系。

B. 可能有2个人群,人群内部是朋友关系,人群之间是敌人关系。

C. 可能有3个及以上个人群,人群内部是朋友关系,人群之间是敌人关系。

D. 如果存在多个人群,并且人群内部是朋友关系,人群之间是敌人关系,那么这些人群必然是差不多大小的。

E. 选项B中的情况可以是其中一个人群只有一个人,另外一个人群可以由很多人。

F. 这样一个世界里朋友关系是比较不容易发生变化的。

3. 12321能被写成______种两个质数相加的形式。

A. 0

B. 1

C. 2

D. 3

E. 4

F. 5

4. 在小端序的机器中,如果

union X{

    int x;

    char y[4];

};

如果:

X a;

a.x=0x11223344;//16进制

则:______

A. y[0]=11

B. y[1]=11

C. y[2]=11

D. y[3]=11

E. y[0]=22

F. y[3]=22

5. 使用一辆卡车运输n块单块1TB装满数据的硬盘,以时速80km/h行驶1000km将数据运送到目的地;卡车至少运送______块硬盘才能使传输速率超1000Gbps。

A. 2000

B. 3000

C. 4000

D. 5000

E. 6000

F. 7000

6. 对立的两方争夺一个价值为1的物品,双方可以采取的策略可以分为鸽子策略和鹰策略。如果双方都是鸽子策略,那么双方各有1/2的几率获得该物品;如果双方均为鹰策略,那么双方各有1/2的概率取胜,胜方获得价值为1的物品,付出价值为1的代价,负方付出价值为1的代价;如果一方为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。在争夺的结果出来之前,没人知道对方是鸽子策略还是鹰策略。那么以下说法正确的是:______?

A. 如果选择鸽子策略的人多于2/3,那么你应该选择鸽子策略。

B. 如果选择鸽子策略的人少于1/3,那么你应该选择鸽子策略。

C. 选择鸽子策略的人越多,你越应该选择鸽子策略。

D. 如果选择鹰策略的人多于2/3,那么你应该选择鹰策略。

E. 如果选择鹰策略的人少于1/3,那么你应该选择鸽子策略。

F. 以上结论都不对。

7. 下列C代码中,不属于未定义行为的有:______。

A. int i=0; i=(i++);

B. char *p="hello"; p[1]=‘E‘;

C. char *p="hello"; char ch=*p++;

D. int i=0; printf("%d %d\n",i++,i--);

E. 都是未定义行为

F. 都不是未定义行为

8. 在以下操作中,数组比线性表速度更快的是______。

A. 原地逆序

B. 头部插入

C. 返回中间节点

D. 返回中间节点

E. 返回头部节点

F. 选择随机节点

9. 在一个双向循环链表中,指针p所指向的节点(非尾节点)之后插入指针s指向的节点,其修改指针的操作是______。

p->next=s; s->prev=p; p->next->prev=s; s->next=p->next;

p->next->prev=s; p->next=s; s->prev=p; s->next=p->next;

p->next->prev=s; s->prev=p; p->next=s; s->next=p->next;

s->prev=p; s->next=p->next; p->next=s; p->next->prev=s ;

s->prev=p; s->next=p->next; p->next->prev=s; p->next=s;

s->next =p->next;s->prev=p; p->next=s;p->next->prev=s;

10. 有字符序列{Q, H, C, Y, P ,A, M, S, R, D, F, X},新序列{F, H ,C, D, P, A, M, Q, R, S, Y, X}是下列______排序算法一趟扫描的结果。

A. 二路归并排序

B. 快速排序

C. 步长为4的希尔排序

D. 步长为2的希尔排序

E. 冒泡排序

F. 堆排序

11. 甲乙两路车发车间隔均为10分钟的公交车发车时刻分钟数各位分别为2和8,那么对于一个随机到达的乘客,他乘坐甲车的概率为:______

A. 0.1

B. 0.2

C. 0.3

D. 0.4

E. 0.5

F. 0.9

12. “村长”带着5对父子参加“爸爸去哪儿”第三季第二站某村庄的拍摄。村里为了保护小孩不被拐走有个千年的规矩,那就是吃饭的时候小孩左右只能是其他小孩或者自己的父母。那么5对父子在圆桌上共有______种坐法。(旋转一下,每个人面对的方向变更后算是一种新的坐法)

A. 960

B. 3120

C. 2400

D. 7200

E. 7440

F. 9600

13. 把校园中同一区域的两周不同比例尺的地图叠放在一起,并且使其中较小尺寸的地图完全在较大尺寸的地图的覆盖下。每张地图上都有经纬度坐标,显然,这两个坐标系并不相同。我们把恰好重叠在一起的两个相同的坐标称之为重合点。下面关于重合点的说法正确的是:______

A. 可能不存在重合点。

B. 必然有且仅有一个重合点。

C. 可能有无穷多个重合点

D. 重合点构成了一条直线。

E. 重合点可能在小地图之外。

F. 重合点是一小片连续的区域。

14. 下列描述中,唯一错误的是______。

A. 本题有五个选项是正确的

B. B正确

C. D正确

D. DEF都正确

E. ABC中有一个错误

F. 如果ABCDE都正确,那么F也正确

15. test.c文件中包括如下语句:

#define INT_PTR int*

typedef int* int_ptr;

INT_PTR a,b;

int_ptr c,d;

文件中定义的四个变量中,哪个变量类型不是指针类型?

A. a

B. b

C. c

D. d

E. 都是指针

F. 都不是指针

16. 分布式系统中,______不是可扩展性所需要的。

A. 无状态应用集群

B. 分布式缓存

C. 负载均衡

D. 硬件共享存储

E. 分而治之的策略

F. 以上所有都是

17. C++内存分配说法错误的是:______。

A. 对于栈来讲,生长方向是向上的,也就是向着内存地址增加的方向

B. 对于堆,大量的new/delete操作会造成内存空间的不连续

C. 堆容易产生memory leak

D. 堆的效率比栈要低得多

E. 栈变量引用容易逃逸

F. 以上都对

18. 使用一辆卡车运输n块单块1TB装满数据的硬盘,以时速80km/h行驶1000km将数据运送到目的地;卡车至少运送______块硬盘才能传输速率超过1000Gbps。

A. 2000

B. 3000

C. 4000

D. 5000

E. 6000

F. 7000

19. 针对以下代码,const char str1[]=”abc”;

const char str2[]=”abc”;

const char *p1 = “abc”;

const char *p2 = “abc”;

判断下列说法哪个是正确的:______。

A. str1和str2地址不同,P1和P2地址相同。

B. str1和str2地址相同,P1和P2地址相同。

C. str1和str2地址不同,P1和P2地址不同。

D. str1和str2地址相同,P1和P2地址不同。

E. 4个地址都相同

F. 4个地址都不相同。

20. 下列描述中,唯一正确的是______。

A. 本题没有正确选项

B. 本题有多个正确选项

C. D和E都不正确

D. B和C有一个正确

E. C不正确

F. E和F有一个正确

21. 有一只火鸡出生在某年春天。从出生第一天起,主人就会每天给它喂食。这只火鸡用一个模型来计算主人对它的爱的程度=吃到米的天数/(出生之后的总天数+1)。这只火鸡发现这个爱的指数每天都在上升。有一天感恩节到了,火鸡被主人杀掉了。关于火鸡的爱的指数的模型的说法正确的是:______

A. 火鸡的模型之所以失效,是因为这个公式不是最大似然估计。

B. 火鸡的模型之所以失效,是因为爱的指数增长速度先快后慢。

C. 火鸡的模型之所以失效,是因为没有计算这个爱的指数的方差。

D. 火鸡的模型之所以失效,是因为分母+1了。

E. 火鸡的模型之所以失效,是因为主人太坏了。

F. 火鸡的模型之所以失效,是因为统计的概率空间不完整。

22. 下面选项中,_____是一个典型TCP客户端(主动建立连接,主动断开连接)会经历的状态序列。

A. SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT

B. SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->CLOSE_WAIT

C. SYN_SENT->SYN_RCVD->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2

D. SYN_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->LAST-WAIT

E. SYN_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->FIN_WATI1

F. SYN_SENT->ESTABLISHED->FIN_WAIT_1->TIME_WAIT->CLOSE_WAIT

答案:A。TCP三次握手连接,四次握手断开

卷三:

H同学每天乘公交上学,早上睡过头或遇到堵车都会迟到;H早上睡过头概率为0.2,路上遇到堵车概率为0.5;若某天早上H迟到了,那么以下推测正确的有______。

  • 今天H早上睡过头了
  • 今天H早上睡过头的概率为0.2
  • 今天H早上睡过头的概率大于0.2
  • 今天H早上遇到堵车了
  • 今天H早上遇到堵车的概率为0.5
  • 今天H早上遇到堵车的概率小于0.5

分析:一般看到这题,大部分人会想到全概率和贝叶斯公式,作为选择题,这样分析就太浪费时间了。根据熵的理论,概率越大,熵越小,能获得的信息越少。所以

如果我们知道某天H迟到这个信息,那么自然H睡过头,或者堵车的熵就变小了,概率就增加了。用概率进行计算p(1),p(2),P(3)分别代表睡过头,堵车和迟到的概率,已知

p(1)=0.2,p(2)=0.5,p(3/1)=1;p(3/2)=1;现在要求的是p(1/3),p(2/3),根据全概率和贝叶斯公式有p(1/3)=p(3/1).p(1)/(p(3/1).p(1)+p(3/2).p(2))=2/7>0.2,类似可算出p(2/3)=5/7>0.5。

下列描述中,唯一错误的是______。

  • 本题有五个选项是正确的
  • DEF都正确
  • ABC中有一个错误
  • 如果ABCDE都正确,那么F也正确

 

若干个等待访问磁盘者依次要访问的磁道为19,43,40,4,79,11,76 当前磁头位于40号柱面,若用最短寻到时间优先调度算法,则访问序列为______。

  • 19 , 43 , 30 , 4 , 79 , 11 , 76
  • 40 , 43 , 19 , 11 , 4 , 76 , 79
  • 40 , 43 , 76 , 79 , 19 , 11 , 4
  • 40 , 43 , 76 , 79 , 4 , 11 , 19
  • 40 , 43 , 76 , 79 , 11 , 4 , 19
  • 40,19,11,4,79,76,43

程序出错在什么阶段______?

//www.taobao.com

<< "welcome to taobao" <<

  • 预处理阶段出错
  • 编译阶段出错
  • 汇编阶段出错
  • 链接阶段出错
  • 运行阶段出错
  • 程序运行正常

int main() { fork() || fork();} 共创建几个进程?

“村长”带着4对父子参加“爸爸去哪儿”第三季第二站某村庄的拍摄。村里为了保护小孩不被拐走有个千年的规矩,那就是小孩左右只能是其他小孩或者自己的父母。那么4对父子在圆桌上共有______种坐法。(旋转一下,每个人面对的方向变更后算是一种新的坐法)

下面选项中,____是一个典型TCP客户端(主动建立连接,主动关闭连接)

  • SYNC_SEND -> ESTABLISHED -> FIN_WAIT_1 -> FIN_WAIT_2 -> CLOSE_WAIT
  • SYNC_SEND -> ESTABLISHED -> FIN_WAIT_1 -> FIN_WAIT_2 -> TIME_WAIT
  • SYNC_SEND -> SYNC_RCVD -> ESTABLISHED ->FIN_WAIT_1 ->FIN_WAIT_2
  • SYNC_RCVD  -> ESTABLISHED -> CLOSE_WAIT ->TIME_WAIT->FIN_WAIT_1
  • SYNC_RCVD -> ESTABLISHED -> COLSE_WAIT -> TIME_WAIT ->FIN_WAIT_2
  • SYNC_SEND -> ESTABLISHED -> FIN_WAIT_1 -> TIME_WAIT -> CLOSE_WAIT

下列正则表达式不可以匹配 “www.alibaba-inc.com”的是______。

  • ^\w+\.\w+\-\w+\.\w+$
  • [w]{0,3}.[a-z\-]*.[a-z]+
  • [c-w.]{3,10}[.][c-w.][.][a]
  • [w][w][w][alibaba-inc]+[com]+
  • ^\w.*com$
  • [w]{3}.[a-z\-]{11}.[a-z]{3}

12321能被写成______种两个质数相加的形式。

一个合法的表达式由()包围,()可以嵌套和连接,如(())()也是合法表达式;现在有6对(),它们可以组成的合法表达式的个数为______。

把校园中同一区域的两张不同比例尺的地图叠放在一起,并且使其中较小尺寸的地图完全在较大尺寸的地图的覆盖之下。每张地图上都有经纬度坐标,显然,这两个坐标系并不相同。我们把恰好重叠在一起的两个相同的坐标称之为重合点。下面关于重合点的说法中正确的是:______?

  • 可能不存在重合点。
  • 必然有且仅有一个重合点。
  • 可能有无穷多个重合点。
  • 重合点构成了一条直线。
  • 重合点可能在小地图之外。
  • 重合点是一小片连续的区域。

全班100个学生,老师让玩如下一个游戏:每个学生在纸上写一个1到100之间的整数(含1和100),不能参考别人写的数字,谁的数字最接近所有数字的3/4,谁就会获得100元钱。下面的数字中最糟糕的选择是:

每台物理计算机可以虚拟出20台虚拟机,假定一台虚拟机发生故障当且仅当它所宿主物理机发生故障。通过5台物理机虚拟出100台虚拟机,那么关于这100台虚拟机的故障的说法正确的是:______?

  • 单台虚拟虚拟机的故障率高于单台物理机的故障率
  • 这100台虚拟机发生故障时彼此独立的。
  • 这100台虚拟机单位时间内出现故障的个数高于100台物理机单位时间内出现故障的个数。
  • 无法判断这100台虚拟机和100台物理机哪个更可靠
  • 如果随机选出5台虚拟机组成集群,那么这个集群的可靠性和5台物理机可靠性相同
  • 可能有一段时间只有一台虚拟机发生故障

若路由器接收的IP报文的目的地址不是路由器的接口IP地址,并且未匹配的路由项,则采取的策略是______。

  • 丢掉该分组
  • 将该分组分片
  • 转发该分组
  • 将分组转发或分片
  • 将分组保留存储
  • 以上都有可能

有字符序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P, A,M,Q,R,S,Y,X}是下列______排序算法一趟扫描的结果。

  • 二路归并排序
  • 步长为4的希尔排序
  • 步长为2的希尔排序

下列方法中,______不可以用来程序调优 ?

  • 改善数据访问方式以提升缓存命中率          
  • 使用多线程的方式提高I/O密集型操作的效率
  • 利用数据库连接池替代直接的数据库访问
  • 使用迭代替代递归
  • 合并多个远程调用批量发送
  • 共享冗余数据提高访问效率

用6块1×2的完整瓷砖,铺满2×6的地面,一共有______种不同的铺法(不允许将瓷砖划分成小块)。

甲乙丙路发车间隔均为10分钟的公交车时刻分钟数个位数分别为2和8,那么对于一个随机乘客,TA乘坐甲车的概率是:

1、天猫双十一有个积分换墨盒的活动,总共有50万台天猫魔盒(box),每个用户(user)可以用99个天猫积分(point)兑换一台魔盒,且每人限换一台。

请设计一套java接口并实现下单(order)逻辑。

参考(但不局限于)下面的下单逻辑:

  1. 扣减用户积分
  2. 扣减魔盒库存

同时请回答:

  1. 数据库表结构如何设计,有哪些表,分别有什么作用?
  2. 下单过程中哪些地方可能成为瓶颈?如何解决或改善?
  3. 是否会用到数据库事务,哪些地方会用到?如果不用数据库事务,如何保证数据的一致性?

2、给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。

3、写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。

 

4.(算法工程师)大概

1.设计一个模型来将潜在兴趣用户发展为网店客服,有1亿个用户的100亿条搜索记录和网店1万老客户.2.设计一些评价标准来评价模型的效果。

2015年阿里巴巴校招研发工程师在线笔试题汇总