2020阿里巴巴笔试真题(含答案)

2020阿里巴巴笔试真题(含答案)_第1张图片
1.假设可以不考虑计算机运行资源(如内存)的限制,以下 python3 代码的预期运行结果是:()

import math
def sieve(size):
    sieve= [True] * size
    sieve[0] = False
    sieve[1] = False
    for i in range(2, int(math.sqrt(size)) + 1):
        k= i * 2
        while k < size:
           sieve[k] = False
           k += i
    return sum(1 for x in sieve if x)
print(sieve(10000000000))

A.455052510
B.455052511
C.455052512
D.455052513

2.链接:一维离散卷积的定义是:

给定一维数组 a = [1, 2, 3], v = [4, 5, 6],它们的离散卷积结果是:()
A.[6,12, 32, 27, 12]
B.[4, 13, 28, 24, 18]
C.[4, 13, 28, 27, 18]
D.[6, 12, 32, 24, 12]

3.李主任在早上8点30分上班之后参加了一个会议,会议开始时发现其手表的时针和分针呈120度角,而上午会议结束时发现手表的时针和分针呈180度角。问在该会议举行的过程中,李主任的手表时针与分针呈90度角的情况最多可能出现几次?
A.4
B.5
C.6
D.7

4.下面代码在64位Linux系统编译执行,输出结果是____。

#include  
#include  
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); 
} 

A.20 4
B.40 4
C.80 4
D.40 8
E.80 8
F.以上均不正确

5.天猫双十一有个积分换墨盒的活动,总共有50万台天猫魔盒(box),每个用户(user)可以用99个天猫积分(point)兑换一台魔盒,且每人限换一台。 请设计一套java接口并实现下单(order)逻辑。 参考(但不局限于)下面的下单逻辑:
(1)创建订单
(2)扣减用户积分
(3)扣减魔盒库存
(4)下单成功
同时请回答:
(1)数据库表结构如何设计,有哪些表,分别有什么作用?
(2)下单过程中哪些地方可能成为瓶颈?如何解决或改善?
(3)是否会用到数据库事务,哪些地方会用到?如果不用数据库事务,如何保证数据的一致性?

6.下面的函数哪个是系统调用而不是库函数()?
A.printf
B.scanf
C.fgetc
D.read
E.print_s
F.scan_s

7.下列关于线程调度的叙述中,错误的是()。
A.调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
B.调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会
C.当有比当前线程的优先级高的线程出现时,高优先级线程将抢占CPU并运行
D.一个线程由于某些原因进入阻塞状态,会放弃CPU
E.具有相同优先级的多个线程的调度一定是分时的
F.分时调度模型是让所有线程轮流获得CPU使用权

8.若基于Linux操作系统所开发的ARM应用程序源文件名为test.c,那么要生成该程序代码的调试信息,编译时使用的GCC命令正确的是?
A.arm-linux-gcc -c -o test.o test.c
B.arm-linux-gcc -S -o test.o test.c
C.arm-linux-gcc -o test test.c
D.arm-linux-gcc -g -o test test.c

9.要在session对象中保存属性,可以使用以下哪个语句( )
A.session.getAttribute(“key”,”value”)
B.session.setAttribute(“key”,”value”)
C.session.setAttribute(“key”)
D.session.getAttribute(“key”)

10.apache服务器的启动脚本apachectl不能完成( )功能
A.启动httpd服务程序
B.停止httpd服务程序
C.检测httpd.conf配置文件的语法
D.卸载apache服务器程序

2020阿里巴巴笔试真题(含答案)_第2张图片
1.正确答案:B

2.正确答案:C

3.正确答案:A

4.正确答案:D

5.参考答案:(1)数据库表一共需要设计3个,分别是:用户表、魔盒表、兑换表,
用户表字段分别为:用户ID,用户名,用户积分,该表用来记录所有用户信息
魔盒表字段分别为:魔盒ID,磨合兑换所需积分,该表用来记录所有魔盒信息
兑换表字段分别为:用户ID,魔盒ID,兑换时间,兑换所花积分数等,该表用来记录所有用户兑换魔盒的信息
(2)有可能成为瓶颈:1.兑换活动刚开始的时间段内访问用户量过大,服务器压力较大 2.兑换过程中兑换表中记录的更新及同步,需要满足时效性
(3)会用到数据库事务,比如说用户兑换后积分的变化,兑换过程中库存魔盒数量的及时更新,如果兑换不成功,需要及时回滚
设计数据库访问的锁机制,保证数据的一致性

6.正确答案:D

7.正确答案:B、C、E

8.正确答案:D

9.正确答案:B

10.正确答案:D

※更多文章和资料|点击后方文字直达 ↓↓↓
100GPython自学资料包
阿里云K8s实战手册
[阿里云CDN排坑指南]CDN
ECS运维指南
DevOps实践手册
Hadoop大数据实战手册
Knative云原生应用开发指南
OSS 运维实战手册
云原生架构白皮书

你可能感兴趣的:(2020阿里巴巴笔试真题(含答案))