2020阿里巴巴筆試真題(含答案)


1.假設能夠不考慮計算機運行資源(如內存)的限制,如下 python3 代碼的預期運行結果是:()java

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.455052513python

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]linux

3.李主任在早上8點30分上班以後參加了一個會議,會議開始時發現其手錶的時針和分針呈120度角,而上午會議結束時發現手錶的時針和分針呈180度角。問在該會議舉行的過程當中,李主任的手錶時針與分針呈90度角的狀況最多可能出現幾回?
A.4
B.5
C.6
D.7數據庫

4.下面代碼在64位Linux系統編譯執行,輸出結果是____。apache

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

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_ssession

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服務器程序


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 運維實戰手冊
雲原生架構白皮書

相關文章
相關標籤/搜索