《全省阿里巴巴校園招聘筆試題目-考試專題訓(xùn)練》由會(huì)員分享,可在線閱讀,更多相關(guān)《全省阿里巴巴校園招聘筆試題目-考試專題訓(xùn)練(6頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、2014年9月22號(hào)阿里巴巴校園招聘筆試題目
1. 現(xiàn)在計(jì)算機(jī)中整數(shù)采用的編碼方式:
A. 原碼 B. 反碼 C. Unicode 碼 D. 補(bǔ)碼
2. 下面程序的運(yùn)行結(jié)果:
#include
using namespace std;
void test(char c, char *d)
{
++c;
++*d;
cout << c << *d;
}
int main()
{
char a='A', b = 'a';
test(b, &a);
cout << a <<
2、b;
return 0;
}
A. ... B. ... C. bBBa D. ...
3. 下面的說法那個(gè)正確:
#define NUMA 10000000
#define NUMB 1000
int a[NUMA], b[NUMB];
void pa()
{
int i, j;
for(i = 0; i < NUMB; ++i)
for(j = 0; j < NUMA; ++j)
++a[j];
}
void pb()
{
int i, j;
3、 for(i = 0; i < NUMA; ++i)
for(j = 0; j < NUMB; ++j)
++b[j];
}
A. pa 和 pb 運(yùn)行的一樣快 B. pa 比 pb 快 C. pb 比 pa 快 D. 無法判斷
4. 10 個(gè)小球中只有一個(gè)紅球,現(xiàn)在有放回地抽取一個(gè)小球,問至到第 n 次才取到 k 個(gè)紅球 (k ≤ n) 的概率是多少 ?
A. B. C. D.
5. 某指令流水線由 5 段組成,各段所需要的時(shí)間分別是:t、3t、t、2t 和 t 。問如果連續(xù)執(zhí)行 10 條指令,則吞吐率是多少 ?
A.
4、0.1428/t B. 0.2041/t C. 0.2857/t D. 0.3333/t
6. 現(xiàn)有兩道四個(gè)選項(xiàng)的火星文單選題,你已經(jīng)至少答對(duì)一題了,那么你兩題都對(duì)的概率是多少 ?
A. 1/3 B. 1/4 C. 1/7 D. 1/8
7. 以下是一個(gè) tree 的遍歷算法,queue 是一個(gè) FIFO 隊(duì)列。參考下面的 tree ,程序輸出結(jié)果是神馬。
queue.push(tree.root);
while(true){
node = queue.pop();
output(node.value); // 輸出結(jié)點(diǎn)對(duì)應(yīng)的數(shù)字
5、if(null = node)
break;
for(child_node in node.children){
queue.push(child_node);
}
}
1
______|______
| |
2 3
___|___ ___|___
| | | |
4 5 6 7
A. 1234567 B. 1245367 C. 1376254 D. 1327654
8.
6、 堆排序的時(shí)間復(fù)雜度是多少 ? 堆排序建堆的時(shí)間復(fù)雜度是多少 ?
A. O(n2) O(n logn) B. O(n) O(nlogn) C. O(nlogn) O(n) D. O(nlogn) O(nlogn)
9. 字符串 "alibaba" 的二進(jìn)制哈夫曼編碼有多少位 ?
A. 11 B.12 C. 13 D. 14
10. 結(jié)點(diǎn)按中序遍歷為 xyz 的二叉樹有多少種可能 ?
A. 1 B.2 C.3 D.4 E. 5
11. 500 張紙牌整齊排成一排,按順序編號(hào) 1、2、3、4、...、499、500,第一次拿走所有奇數(shù)位置上的紙牌,第二次再拿走剩
7、下紙牌中的所有奇數(shù)位置上的紙牌,以此類推操作下去,問最后剩下的紙牌的編號(hào)是多少 ?
A. 128 B. 250 C. 256 D. 500
12. 一直矩陣 Ak = (aij)rk × rk+1,k = 1, 2, 3, 4, 5, 6 ;r1 = 5,r2 = 10,r3 = 3,r4 = 8,r5 = 5,r6 = 20,r7 = 6,問矩陣鏈乘 A1 × A2 × A3 × A4 × A5 × A6 的最佳求積次數(shù)是多少 ?
A. 2010 B. 2100 C. 2500 D. 2525
13. 有多少個(gè) 2012 位的數(shù),這些數(shù)的任意兩個(gè)相鄰數(shù)位依序構(gòu)成的兩位
8、數(shù)均能被 17 或 23 整除 ?
A. 3 B. 5. C. 7 D. 9
14. 關(guān)于 linux 的進(jìn)程,下面說法不正確的是:
A. 僵尸進(jìn)程會(huì)被 init 進(jìn)程接管,不會(huì)造成資源浪費(fèi);
B. 孤兒進(jìn)程的父進(jìn)程在它之前退出,會(huì)被 init 進(jìn)程接管,不會(huì)造成資源浪費(fèi);
C. 進(jìn)程是資源管理的最小單位,而線程是程序執(zhí)行的最小單位。Linux 下的線程本質(zhì)上用進(jìn)程實(shí)現(xiàn);
D. 子進(jìn)程如果對(duì)資源只是進(jìn)行讀操作,那么完全和父進(jìn)程共享物理地址空間。
15. 一個(gè)數(shù)據(jù)表有 10000 個(gè)元素,如果僅要求求出其中最大的 10 個(gè)元素,采用什么算法比較節(jié)省時(shí)間
9、?
A. 堆排序 B. 希爾排序 C. 快速排序 D. 直接選擇排序
16. 一棵二叉樹具有 8 個(gè)度為 2 的結(jié)點(diǎn),5 個(gè)度為 1 的結(jié)點(diǎn),則度為 0 的結(jié)點(diǎn)個(gè)數(shù)有多少個(gè) ?
A. ... B. 9 C. 11. D. 不確定
17. 被除數(shù)是二進(jìn)制數(shù) 110110,除數(shù)是二進(jìn)制數(shù) 111,則余數(shù)是多少 ?
A. ... B. 101 C. 110 D. ...
18. 對(duì)于下面的問題,不能使用棧 stack 來解決的是 ?
A. 數(shù)學(xué)表達(dá)式轉(zhuǎn)換為后綴形式
B. 實(shí)現(xiàn)遞歸算法
C. 編程語言的遞歸調(diào)用
D. 操作系統(tǒng)分配資源(如 C
10、PU)
19. 甲盒中有 200 個(gè)螺桿,其中有 160 個(gè) A 型螺桿;乙盒中有 240 個(gè)螺母,其中有 180 個(gè) A 型的。現(xiàn)從甲乙兩盒中各任取一個(gè),則能配成 A 型螺栓的概率為多少?
A. 1/20 B. 15/16 C. 3/5 D. 19/20
20. 有 A 和 B 兩路公交車,平均發(fā)車時(shí)間間隔為 5 分鐘和 10 分鐘。某乘客在站點(diǎn) S 可以任意選擇兩者之一乘坐,假定 A 和 B 到達(dá) S 的時(shí)刻無法確定,那么該乘客的平均等待時(shí)間是多少 ?
A 1 分鐘 20 秒 B. 1 分鐘 40 秒 C. 2 分鐘 30 秒 D. 3 分鐘 20 秒
21.
11、 下面不是引起進(jìn)程調(diào)度原因的是 ?
A. 進(jìn)程執(zhí)行完畢 B. 進(jìn)程 I/O 請(qǐng)求隊(duì)列 C. 進(jìn)程死循環(huán) D. 進(jìn)程調(diào)用阻塞原語進(jìn)入睡眠狀態(tài)
22. 用于解決 CPU 指令亂序、編譯器重排、多 CPU 內(nèi)存同步等帶來的問題的機(jī)制是 ?
A. 內(nèi)存屏障 B. 信號(hào)量 C. 自旋鎖 D. volatile 關(guān)鍵字
23. 下面使用貪心算法的是:
A. 單元最短路徑 Dijkstra 算法
B. 最小生成樹 Prim 算法
C. 最小生成樹 Kruskal 算法
D. 計(jì)算每對(duì)頂點(diǎn)最短路徑的 Floyd-Warshall 算法
E. 字符串匹配中的
12、 KMP 算法
24. 關(guān)于 ACID 說法正確的是:
A. A 可用性。....
B. C 一致性。在食物開始之前和結(jié)束后,數(shù)據(jù)庫的約束保持不變。
C. I 隔離性。兩個(gè)同時(shí)運(yùn)行的事務(wù)的執(zhí)行是互不影響,中間結(jié)果不可交叉訪問。
D. D 持久性。在事務(wù)提交之后,該事務(wù)所作的更改持久保存在存儲(chǔ)介質(zhì)之中,不會(huì)被回滾。
25. 現(xiàn)有一個(gè)循環(huán)隊(duì)列,其隊(duì)頭指針為 front,隊(duì)尾指針為 rear,循環(huán)隊(duì)列的總長(zhǎng)度為 N,問隊(duì)內(nèi)有效長(zhǎng)度是多少 ?
26. 一個(gè)數(shù)組 X,其中存有 N 個(gè)數(shù)字?,F(xiàn)只允許遍歷一遍,1) 有沒有可能計(jì)算這些數(shù)字的方差 ? 2) 如果可以,
13、請(qǐng)描述方案,如果不可以,說明原因。
27. 不使用臨時(shí)變量交換 int a 和 int b 的值;請(qǐng)使用三行代碼。
28. 下面的代碼有一些問題,找出來:
#include
using namespace std;
class Test{
public:
int *p;
Test(int v){
p = new int(v);
}
~Test(){
delete p;
}
void PrintValue(){
cout << "The value is " << *p << '\n';
}
};
void Func(Test t)
{
cout << "In the Func" << endl;
}
int main()
{
Test t1 = 33;
Func(t1);
t1.PrintValue();
}
29.Linux 平臺(tái),不提供任何相關(guān)庫函數(shù)和工具包,只利用線程的隨機(jī)調(diào)度特性和 sleep 函數(shù)的低精度特性,請(qǐng)編寫一段程序?qū)崿F(xiàn):給一組字符,輸出該組字符的一個(gè)隨機(jī)化排列。