阿里巴巴秋季校園招聘軟件研發(fā)工程師筆試題答案_第1頁
阿里巴巴秋季校園招聘軟件研發(fā)工程師筆試題答案_第2頁
阿里巴巴秋季校園招聘軟件研發(fā)工程師筆試題答案_第3頁
阿里巴巴秋季校園招聘軟件研發(fā)工程師筆試題答案_第4頁
阿里巴巴秋季校園招聘軟件研發(fā)工程師筆試題答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2014研發(fā) 1. 單選題1. 假設把整數關鍵碼K散列到N個槽列表,以下哪些散列函數是好的散列函數 A: h(K)=K/N; B: h(K)=1; C: h(K)=K mod N; D: h(K)=(K+rand(N) mod N, rand(N)返回0到N-1的整數答案:D2. 下面排序算法中,初始數據集的排列順序對算法的性能無影響的是: A: 堆排序 B:插入排序 C: 冒泡排序 D:快速排序答案:A(插入排序:最優(yōu)時間復雜度O(n)最差時間復雜度O(n2)平均時間復雜度O(n2) 冒泡排序:最優(yōu)時間復雜度O(n)最差時間復雜度O(n2)平均時間復雜度O(n2) 快速排序:最優(yōu)時間復雜度O

2、(nlogn)最差時間復雜度O(n2)平均時間復雜度O(nlogn) 堆排序:最優(yōu)時間復雜度O(nlogn)最差時間復雜度O(nlogn)平均時間復雜度O(nlogn)3. 下面說法錯誤的是: A: CISC計算機比RISC計算機指令多 B: 在指令格式中,采用擴展操作碼設計方案的目的是為了保持指令字長不變而增加尋址空間 C:增加流水線段數理論上可以提高CPU頻率 D:馮諾依曼體系結構的主要特征是存儲程序的工作方式答案:B4. 不屬于馮諾依曼體系結構必要組成部分是: A:CPU B: Cache C:RAM D:ROM答案:B5. 一個棧的入棧序列式ABCDE則不可能的出棧序列是: A:DEC

3、BA B:DCEBA C:ECDBA D:ABCDE答案:C6.你認為可以完成編寫一個C語言編譯器的語言是:A:匯編 B:C語言 C:VB D:以上全可以答案:D7. 關于C+/JAVA類中的static成員和對象成員的說法正確的是:A:static成員變量在對象構造時候生成B: static成員函數在對象成員函數中無法調用C: 虛成員函數不可能是static成員函數D: static成員函數不能訪問static成員變量答案:A8:答案:C9:某進程在運行過程中需要等待從磁盤上讀入數據,此時進程的狀態(tài)將:A: 從就緒變?yōu)檫\行 B:從運行變?yōu)榫途wC: 從運行變?yōu)樽枞?D:從阻塞變?yōu)榫途w答案:C1

4、0:下面算法的時間復雜度為:Int f(unsigned int n)If(n=0|n=1)Return 1;Else Return n*f(n-1);A: O(1) B:O(n) C:O(N*N) D:O(n!)答案:B11: n從1開始,每個操作可以選擇對n加1或者對n加倍。若想獲得整數2013,最少需要多少個操作。A:18 B:24 C:21 D;不可能答案:A, 對2013用除法,顯示2013->2012->1006->503->502->251->250->125->124->62->31->30->15->

5、;14->7->6->3->2->1正向只能是+1和×2,所以逆向只能-1和/2,由上過程可得18次12:對于一個具有n個頂點的無向圖,若采用鄰接表數據結構表示,則存放表頭節(jié)點的數組大小為:A: n B: n+1 C: n-1 D:n+邊數答案:A13:答案:A.對于幾何中的每個字符串取hash可以看作是同分布的獨立重復事件,所以每一個事件出現10的概率都是p=1/1024,那么當出現的時候,期望的次數就是1/p,1024.14:如下函數,在32bit系統(tǒng)foo(231-3)的值是:Int foo(int x)Return x&-x;A: 0 B

6、: 1 C:2 D:4答案:B15:對于順序存儲的線性數組,訪問節(jié)點和增加節(jié)點刪除節(jié)點的時間復雜度為:A: O(n),O(n)B:O(n),O(1) C:O(1),O(n) D:O(n),O(n)答案:C16:在32為系統(tǒng)環(huán)境,編譯選項為4字節(jié)對齊,那么sizeof(A)和sizeof(B)是:Struct AInt a;short b;int c;char d;Struct Bint a;short b;char c;int c;A: 16,16 B:13,12 C:16,12D:11,16答案:C17:袋中有紅球,黃球,白球各一個,每次任意取一個放回,如此連續(xù)3次,則下列事件中概率是8/9

7、的是:A: 顏色不全相同 B:顏色全不相同C:顏色全相同D:顏色無紅色答案:A18:一個洗牌程序的功能是將n張牌的順序打亂,以下關于洗牌程序的功能定義說法最恰當的是:A: 每張牌出現在n個位置上的概率相等B: 每張牌出現在n個位置上的概率獨立C: 任何連續(xù)位置上的兩張牌的內容獨立D: n張牌的任何兩個不同排列出現的概率相等答案:A19:用兩種顏色去染排成一個圈的6個棋子,如果通過旋轉得到則只算一種,一共有多少種染色:A: 10 B:11 C:14: D:15答案:C解釋:應該有14種方案,設只有黑白兩色,默認白色,那么,用p(n)表示有n個黑棋的種類p(0)=p(6)=1p(1)=p(5)=1

8、p(2)=p(4)=3 /相鄰的一種,隔一個的一種,兩個的一種p(3)=4 /都相鄰的一種,BB0B的一種,BB00B的一種,B0B0B的一種,一共4種綜上是14種20:遞歸式的先序遍歷一個n節(jié)點,深度為d的二叉樹,則需要??臻g的大小為:A: O(n) B:O(d) C:O(logn) D:(nlogn)答案:B第二部分:多選21:兩個線程運行在雙核機器上,每個線程主線程如下,線程1:x=1;r1=y;線程2:y=1;r2=x;X和y是全局變量,初始為0。以下哪一個是r1和r2的可能值:A: r1=1,r2=1B: r1=1,r2=0C:r1=0,r2=0D:r1=0,r2=1答案:ABD22

9、.關于Linux系統(tǒng)的負載,以下表述正確的是:A: 通過就緒和運行的進程數來反映B: 通過TOP命令查看C: 通過uptime查看D: Load:2.5,1.3,1.1表示系統(tǒng)的負載壓力在逐漸變小答案:BC(對于A不確定)23:關于排序算法的以下說法,錯誤的是:A: 快速排序的平均時間復雜度O(nlogn),最壞O(N2)B:堆排序平均時間復雜度O(nlogn),最壞O(nlogn)C:冒泡排序平均時間復雜度O(n2),最壞O(n2)D:歸并排序的平均時間復雜度O(nlogn),最壞O(n2)答案:D解釋:歸并排序的平均時間復雜度O(nlogn),最壞O(nlogn)24:假設函數rand_k

10、會隨機返回一個【1,k】之間的隨機數(k>=2),并且每個證書出現的概率相等。目前有rand_7,通過調用rand_7()和四則運算符,并適當增加邏輯判斷和循環(huán)控制邏輯,下列函數可以實現的有:A:rand_3 B:rand_21 C:rand_23 D:rand_49答案:ABCD解釋:對于rand_x(x<7)的直接截斷,只要rand數大于x直接忽略,保證rand_x能夠做到概率相等。而對于其他的則采用7×rand_7+rand_7,可以-7得到rand_49,然后截斷成rand_42,統(tǒng)一除以2,則是rand_21,其他類似。阿里巴巴2014秋季校園招聘-軟件研發(fā)工程

11、師筆試題 續(xù)2013-09-21 23:32368人閱讀評論(0)收藏舉報校園招聘百度阿里巴巴軟件研發(fā)算法第三部分25、某二叉樹的前序遍歷序列為-+a*b-cd/ef,后序遍歷序列為abcd-*+ef/-,問其中序遍歷序列是。答案:a+b*c-d-e/f26、某緩存系統(tǒng)采用LRU淘汰算法,假定緩存容量為4,并且初始為空,那么在順序訪問以下數據項的時候1,5,1,3,2,4,1,2出現緩存命中的次數是。最后緩存中即將準備淘汰的數據項是。答案:3,3解釋:(LRU是Least Recently Used 近期最少使用算法。)1-1,5-5,1-5,1,3-5,1,3,2-1,3,2,4-3,2,4

12、,1-3,4,1,2-首先1調入內存,然后5調入內存,然后1調入內存(命中緩存),然后3調入內存,然后2調入內存,然后4調入內存(將最少使用的5置換出內存),然后1調入內存(命中緩存),然后2調入內存(命中緩存)。最后,最少使用的3將面臨被置換出的危險。27、兩個較長的單向鏈表a和b,為了找出及誒單noed滿足node in a并且node in b。請設計空間使用盡量小的算法(用c/c+,java 或者偽代碼)htmlview plaincopyprint?1 struct node 2 3 int v; 4 node *next; 5 ; 6 /* 7 返回鏈表的長度 8 鏈表為空 返回0

13、 9 */ 10 size_t listLen(node * p) 11 12 size_t num = 0; 13 while (p!=NULL) 14 15 num+; 16 p = p->next; 17 18 return num; 19 20 / 如果找到了 則返回指針 指向公共節(jié)點 21 / 如果不存在 則返回空指針 22 node * findFirstCommenNode(node * pheada, node * pheadb) 23 24 size_t lenA = listLen(pheada); 25 size_t lenB = listLen(pheadb);

14、26 27 node * plistA = pheada; 28 node * plistB = pheadb; 29 /調整長度 30 /plistA 指向較長的一個 31 if (lenA < lenB) 32 33 plistB = pheada; 34 plistA = pheadb; 35 size_t t = lenA; 36 lenA = lenB; 37 lenB = t; 38 39 while(lenA > lenB) 40 41 plistA = plistA->next; 42 -lenA; 43 44 /一樣長了 45 /尋找公共節(jié)點 46 whil

15、e (plistA!=NULL && plistA != plistB) 47 48 plistA = plistA->next; 49 plistB = plistB->next; 50 51 return plistA; 52 算法的空間復雜度O(1),時間復雜度O(m+n)。28、當存儲數據量超出單節(jié)點數據管理能力的時候,可以采用的辦法有數據庫sharding的解決方案,也就是按照一定的規(guī)律把數據分散存儲在多個數據管理節(jié)點N中(節(jié)點編號為0,1,2,N-1)。假設存儲的數據時a 請完成為數據a計算存儲節(jié)點的程序。htmlview plaincopyprint?53 #define N 5 54 int hash(int eleme

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論