歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 2015-8-29阿裡校園招聘研發工程師筆試題(另一篇)

2015-8-29阿裡校園招聘研發工程師筆試題(另一篇)

日期:2017/3/1 9:38:06   编辑:Linux編程

前言:原題來自於網絡:http://www.linuxidc.com/Linux/2014-10/108752.htm。本人根據自己理解對題目進行解答,由於水平有限,題目有不會做、做錯的地方,歡迎大家留言討論,本博客會持續更新,謝謝關注!

1. 某團隊有2/5的人會寫Java程序,有3/4的人會寫C++程序,這個團隊裡同時會寫Java和C++的至少有()人
A. 3 B. 4 C. 5 D. 8 E. 15 F. 20

2. 某團隊負責人接到一個緊急項目,他要考慮在代號為ABCDEF這6個團隊成員中的部分人員參加項目開發工作。人選必須滿足一下各點:
AB兩人中至少一個人參加
AD不能都去
AEF三人中要派兩人
BC兩人都去或都不去
CD兩人中有一人參加
若D不參加,E也不參加
那麼最後()參加緊急項目開發。
A. ECEF B. AF C. ECF D. F E. ABCF F. ECDEF

3. 對立雙方爭奪一個價值為1的商品, 雙方可以采納的策略可以分為鴿子策略和鷹策略。如果雙方都是鴿子策略,那麼雙方各有1/2的幾率獲得該物品;如果雙方均為鷹策略,那麼雙方各有1/2的概率取勝,勝方獲得價值為1的物品,付出價值為1的代價,負方付出價值為1的代價;如果一個為鴿子策略,一方為鷹策略,那麼鷹策略獲得價值為1的物品。在爭奪結果出來之前,沒人知道對方是鴿子策略還是鷹策略。當選擇鴿子策略的人的比例是某一個值時,選擇鴿子策略和選擇鷹策略的預期收益是相同的。那麼該值是:

A. 0.2 B. 0.4 C. 0.5 D. 0.7 E. 0.8 F. 以上都不對

4. 在小端機器中,如果

union X{
    int x;
    char y[4];
};

如果:

X a;

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

則:

A. a.y[0]=11

B. a.y[1]=11

C. a.y[2]=11

D. a.y[3]=11

E. a.y[0]=22

F. a.y[3]=22

5. 在以下操作中,數組比線性表速度更快的是()

A. 原地逆序

B. 頭部插入

C. 返回中間節點

D. 返回頭部節點

E. 選擇隨機節點

6. Linux系統某個可執行文件屬於root並且有setid, 當一個普通用戶mike運行這個程序時,產生的進程的有效用戶和實際用戶分別是()

A. root mike B. root root C. mike root D. mike mike E. deamon mike F. mike deamon

7. 有4個進程A、B、C、D,設它們依次進入就緒隊列,因相差實際很短可視為同時到達。4個進程按輪轉法分別運行11,7,2和4個時間單位,設時間片為1。四個進程的平均周轉時間為()

A. 15.25 B. 16.25 C. 16.75 D. 17.25 E. 17.75 F. 18.25

8. 在一個雙向循環鏈表中,指針p所指向的節點(非尾節點)之後插入指針s所指向的節點,其修改指針的操作是()

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

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

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

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

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

9. 下列選項中,()是一個典型的TCP客戶端(主動建立連接,主動關閉連接)

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

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

C. SYNC_SENT->SYNC_RCVD->ESTABLISHED->FIN_WAIT1->FIN_WAIT2

D. SYNC_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->LAST->ACK

E. SYNC_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->FIN_WAIT1

F. SYNC_SEND->ESTABLISHED->FIN_WAIT1->TIME_WAIT->CLOSE_WAIT

10. 已知一個二叉樹的前序遍歷結果是(ACDEFHGB), 中序遍歷結果是(DECAHFBG), 請問後序遍歷結果是()

A. HGFEDCBA

B. EDCHBGFA

C. BGFHEDCA

D. EDCBGHFA

E. BEGHDFCA

F. BGHFEDCA

11. 一個博物館以每分鐘20人的速度進入,平均每人待20分鐘,問博物館至少需要容納()人

A. 100 B. 200 C. 300 D. 400 E. 500

12. 個數為50k的數列,需進行從小到大排序,數列特征基本逆序(多數數字從大到小,個別數字亂序),以下哪種排序算法在事先 不了解數列特征的情況下能大概率最優(不考慮空間限制)()

A. 冒泡排序 B. 改進冒泡排序 C. 選擇排序 D. 快速排序 E.堆排序 F.插入排序

13. 在動態內存分配(C語言的malloc,C++的new),得到的存儲區在內存中的()

A. 靜態區 B.堆(heap) C. 棧(stack) D. 堆棧 E. 內核內存 F. 不確定

14. “村長”帶著4對父子參加“爸爸去哪兒”第三季第二站某村莊的拍攝。村裡為了保護小孩不被拐走有個千年的規矩,那就是吃飯的時候小孩左右只能是其他小孩或者自己的父母。那麼4對父子在圓桌上共有幾種坐法。(旋轉一下,每個人面的的方向變更後算是一種新的坐法)()

A. 144 B.240 C. 288 D.480 E. 576 F. 960

15. 每台物理計算機可以虛擬出20台虛擬機,假定一台虛擬機發生故障當且僅當它所宿主的物理機發生故障。通過5台物理機虛擬出的100台虛擬機,那麼關於這100台虛擬機的故障的說法正確的是()

A. 單台虛擬機的故障率高於單台物理機的故障率

B. 這100台虛擬機發生故障是彼此獨立的

C. 這100台虛擬機單位時間內出現故障的個數高於100台物理機單位時間內出現故障的個數

D. 無法判斷這100台虛擬機和100台物理機哪個更可靠

E. 如果隨機選出5台虛擬機組成集群,那麼這個集群的可靠性和5台物理機的可靠性相同

F. 可能有一段時間只有1台虛擬機發生故障

16. 下列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. 都不是未定義行為

17. 帶頭節點的單鏈表head為空的判斷條件是()

A. head==null

B. head->next==null;

C. head->next==head;

D. head!=null;

E. *head==null;

F. *(head->next)==null;

18. 甲乙兩路發車間隔均為10分鐘的公交車發車時刻分鐘數個位分別為1和9,那麼對於一個隨機到達的乘客,ta乘坐甲車的概率為

A. 0.1 B.0.2 C. 0.3 D. 0.4 E. 0.5 F. 0.9

19. 20. 都忘記了

簡答題

1. 給定一個query和一個text,均由小寫字母組成。要求在text中找出以同樣順序連續出現在query中最長連續字母序列的長度。例如,query為“acbac”,text為“acaccbabb”,那麼text中的“cba”為最長的連續出現在query中的字符序列,因此,返回結果應該為其長度3。請注意程序效率。

2. 寫一個函數,輸入一個二叉樹,樹中每個節點存放了一個整數值,函數返回這棵樹中相差最大的兩個節點間的差的絕對值。請注意程序效率。

3. Java中wait方法和sleep方法有什麼區別。

其它:

21. 棋盤上共有2020個格子,從1開始順序編號。棋子初始放在第1格,通過扔骰子決定前進格子數,扔出x點就前進x格。骰子有6面,分別對應1至6;質量均勻。當棋子到達2014或超過2014,游戲結束。那麼,棋子剛好到達2014的概率與______最接近。
A. 2/3
B. 1/2
C. 1/3
D. 2/7
E. 1/6
F. 1/7

22.有兩個32bit的數A、B,使用下面方式得到32bit的數C、D。哪一種可以使用C、D得到A、B的值

A. C=(int32)(A+B),D=(int32)(A-B)

B. C=(int32)(A+B),D=(int32)((A-B)>>1)

C. C=(int32)(A+B),D=B

D. C=(int32)(A+B),D=(int32)(A+2*B)

E. C=(int32)(A*B),D=(int32)(A/B)

23.下列方法中,______不可以用來程序調優 ?

A. 改善數據訪問方式以提升緩存命中率

B. 使用多線程的方式提高I/O密集型操作的效率

C. 利用數據庫連接池替代直接的數據庫訪問

D. 使用迭代替代遞歸

E. 合並多個遠程調用批量發送

F. 共享冗余數據提高訪問效率

24.用6塊1×2的完整瓷磚,鋪滿2×6的地面,一共有______種不同的鋪法(不允許將瓷磚劃分成小塊)

A.13

B.15

C.22

D.24

E.25

F.26

25.H同學每天乘公交上學,早上睡過頭或遇到堵車都會遲到;H早上睡過頭概率為0.2,路上遇到堵車概率為0.5;若某天早上H遲到了,那麼以下推測正確的有______。

A.今天H早上睡過頭了

B.今天H早上睡過頭的概率為0.2

C.今天H早上睡過頭的概率大於0.2

D.今天H早上遇到堵車了

E.今天H早上遇到堵車的概率為0.5

F.今天H早上遇到堵車的概率小於0.5

26.下列描述中,唯一錯誤的是______。

A. 本題有五個選項是正確的

B. B正確

C. D正確

D. DEF都正確

E. ABC中有一個錯誤

F. 如果ABCDE都正確,那麼F也正確

27.若干個等待訪問磁盤者依次要訪問的磁道為19,43,40,4,79,11,76 當前磁頭位於40號柱面,若用最短尋道��間優先調度算法,則訪問序列為______。

A. 19 , 43 , 30 , 4 , 79 , 11 , 76

B. 40 , 43 , 19 , 11 , 4 , 76 , 79

C. 40 , 43 , 76 , 79 , 19 , 11 , 4

D. 40 , 43 , 76 , 79 , 4 , 11 , 19

E. 40 , 43 , 76 , 79 , 11 , 4 , 19

F. 40 , 19 , 11 , 4 , 79 , 76 , 43

28.程序出錯在什麼階段______?

int main ( void )

{

http : //www.taobao.com

cout << "welcome to taobao" << endl ;

}

A 預處理階段出錯 B.編譯階段出錯 C.匯編階段出錯 D.鏈接階段出錯 E.運行階段出錯 F.程序運行正常

29.int main() { fork() || fork();} 共創建幾個進程?

A. 1

B. 2

C. 3

D. 4

E. 5

30.一個函數定義的返回值是float,它不能在return語句中返回的值的類型是?

A. char

B. int

C. float

D.long

E. double

F.以上皆可以

31.計算三個稠密矩陣A、B、C的乘積ABC,假定三個矩陣的尺寸分別為m*n,n*p,p*q,且m<n<p<q,以下計算順序效率最高的是()

A (AB)C

B A(BC)

C (AC)B

D (BC)A

E (CA)B

F 以上效率相同

Copyright © Linux教程網 All Rights Reserved