試卷類型:軟件開發(fā)A1
考試時長:120分鐘
一 不定項選擇題(共25題,每題4分,共100分,少選、錯選、多選均不得分)
1 已知一棵二叉樹,如果先序遍歷的節(jié)點順序是:ADCEFGHB,中序遍歷是:CDFEGHAB,則后序遍歷結果為:(D)
A.CFHGEBDA B.CDFEGHBA C.FGHCDEBA D.CFHGEDBA
2 下列哪兩個數(shù)據(jù)結構,同時具有較高的查找和刪除性能?(CD)
A.有序數(shù)組 B.有序鏈表 C.AVL樹 D.Hash表
3 下列排序算法中,哪些時間復雜度不會超過nlogn?(BC)
A.快速排序 B.堆排序 C.歸并排序 D.冒泡排序
4 初始序列為1 8 6 2 5 4 7 3一組數(shù)采用堆排序,當建堆(小根堆)完畢時,堆所對應的二叉樹中序遍歷序列為:(A)
A.8 3 2 5 1 6 4 7
B.3 2 8 5 1 4 6 7
C.3 8 2 5 1 6 7 4
D.8 2 3 5 1 4 7 6
5 當n=5時,下列函數(shù)的返回值是:(A)
[cpp] view plaincopy
int foo(int n)
{
if(n<2)return n;
return foo(n-1)+foo(n-2);
}
A.5 B.7 C.8 D.10
6 S市A,B共有兩個區(qū),人口比例為3:5,據(jù)歷史統(tǒng)計A的犯罪率為0.01%,B區(qū)為0.015%,現(xiàn)有一起新案件發(fā)生在S市,那么案件發(fā)生在A區(qū)的可能性有多大?(C)
A.37.5% B.32.5% C.28.6% D.26.1%
7 Unix系統(tǒng)中,哪些可以用于進程間的通信?(BCD)
A.Socket B.共享內(nèi)存 C.消息隊列 D.信號量
8 靜態(tài)變量通常存儲在進程哪個區(qū)?(C)
A.棧區(qū) B.堆區(qū) C.全局區(qū) D.代碼區(qū)
9 查詢性能(B)
A. 在Name字段上添加主鍵
B. 在Name字段上添加索引
C. 在Age字段上添加主鍵
D. 在Age字段上添加索引
10 IP地址131.153.12.71是一個(B)類IP地址。
A.A B.B C.C D.D
11 下推自動識別機的語言是:(C)
A. 0型語言 B.1型語言 C.2型語言 D.3型語言
12 下列程序的輸出是:(D)
[cpp] view plaincopy
#define add(a+b) a+b
int main()
{
printf(“%d\n”,5add(3+4));
return 0;
}
A.23 B.35 C.16 D.19
13 瀏覽器訪問某頁面,HTTP協(xié)議返回狀態(tài)碼為403時表示:(B)
A 找不到該頁面
B 禁止訪問
C 內(nèi)部服務器訪問
D 服務器繁忙
14 如果某系統(tǒng)154=112成立,則系統(tǒng)采用的是(A)進制。
A.6 B.7 C.8 D.9
15 某段文本中各個字母出現(xiàn)的頻率分別是{a:4,b:3,o:12,h:7,i:10},使用哈夫曼編碼,則哪種是可能的編碼:(A)
A a(000) b(001) h(01) i(10) o(11)
B a(0000) b(0001) h(001) o(01) i(1)
C a(000) b(001) h(01) i(10) o(00)
D a(0000) b(0001) h(001) o(000) i(1)
16 TCP和IP分別對應了OSI中的哪幾層?(CD)
A Application layer
B Presentation layer
C Transport layer
D Network layer
17 一個棧的入棧序列是A,B,C,D,E,則棧的不可能的輸出序列是?(C)
A.EDCBA B.DECBA C.DCEAB D.ABCDE
18 同一進程下的線程可以共享以下?(BD)
A. stack B.data section C.register set D.file fd
19 對于派生類的構造函數(shù),在定義對象時構造函數(shù)的執(zhí)行順序為?(D)
1:成員對象的構造函數(shù)
2:基類的構造函數(shù)
3:派生類本身的構造函數(shù)
A.123 B.231 C.321 D.213
20 如何減少換頁錯誤?(BC)
A 進程傾向于占用CPU
B 訪問局部性(locality of reference)滿足進程要求
C 進程傾向于占用I/O
D 使用基于最短剩余時間(shortest remaining time)的調(diào)度機制
21 遞歸函數(shù)最終會結束,那么這個函數(shù)一定?(B)
A 使用了局部變量
B 有一個分支不調(diào)用自身
C 使用了全局變量或者使用了一個或多個參數(shù)
D 沒有循環(huán)調(diào)用
22 編譯過程中,語法分析器的任務是(B)
A分析單詞是怎樣構成的
B 分析單詞串是如何構成語言和說明的
C 分析語句和說明是如何構成程序的
D 分析程序的結構
23 同步機制應該遵循哪些基本準則?(ABCD)
A.空閑讓進 B.忙則等待 C.有限等待 D.讓權等待
24 進程進入等待狀態(tài)有哪幾種方式?(D)
A CPU調(diào)度給優(yōu)先級更高的線程
B 阻塞的線程獲得資源或者信號
C 在時間片輪轉(zhuǎn)的情況下,如果時間片到了
D 獲得spinlock未果
25 設計模式中,屬于結構型模式的有哪些?(BC)
A 狀態(tài)模式 B 裝飾模式 C 代理模式 D 觀察者模式
二、填空題(共4題10個空,每空2分,共20 分)
1 設有字母序列{Q,D,F,X,A,P,N,B,Y,M,C,W},請寫出按二路歸并方法對該序列進行一趟掃描后的結果為DQFXAPBNMYCW。
2 關鍵碼序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照關鍵碼值遞增的次序進行排序,若采用初始步長為4的Shell的排序法,則一趟掃描的結果是QACSQDFXRHMY;若采用以第一個元素為分界元素的快速排序法,則掃描一趟的結果是FHCDQAMQRSYX。
3 二進制地址為011011110000,大小為(4)10和(16)10塊的伙伴地址分別為:_________,_________。
4 設t是給定的一棵二叉樹,下面的遞歸程序count(t)用于求得:二叉樹t中具有非空的左、右兩個兒子的結點個數(shù)N2;只有非空左兒子的個數(shù)NL;只有非空右兒子的結點個數(shù)NR和葉子結點個數(shù)N0。N2,NL,NR、N0都是全局量,且在調(diào)用count(t)之前都置為0。
[cpp] view plaincopy
typedef struct node
{
int data;
struct node lchild,rchild;
}node;
int N2,NL,NR,N0;
void count(node t)
{
if (t->lchild!=NULL)
if (t->rchild!=NULL) N2++;
else NL++;
else if (t->rchild!=NULL) NR++;
else N0++;
if(t->lchild!=NULL) count(t->lchild);
if(t->rchild!=NULL) count(t->rchild);
}/ call form :if(t!=NULL) count(t);/
三、Web前端方向簡單題(略)
四、其他方向簡答題(共2題,每題20分),選作題,不計入總分)
1 請設計一個排隊系統(tǒng),能夠讓每個進入隊伍的用戶都能看到自己在隊列中所處的位置和變化,隊伍可能隨時有人加入和退出;當有人退出影響到用戶的位置排名時需要及時反饋到用戶。
2 A,B兩個整數(shù)集合,設計一個算法求他們的交集,盡可能的高效。