2015-8-29阿裡校園招聘研發工程師筆試題
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的物品。在爭奪結果出來之前,沒人知道對方是鴿子策略還是鷹策略。當選擇鴿子策略的人的比例是某一個值時,選擇鴿子策略和選擇鷹策略的預期收益是相同的。那麼該值是:
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方法有什麼區別。