考試類型:軟件開發A1
考試時長:120分鐘
一、不定項選擇題(共25題,每題4分,共100分,少選、錯選、多選不得分)
1. 已知一顆二叉樹,如果線序遍歷的節點順序是:ADCEFGHB,中序遍歷是:CDFEGHAB,則后序遍歷的結果為:()
A. CFHGEBDA B. CDFEGHBA C. FGHCDEBA D. CFHGEDBA
2. 下列那兩個數據結構,同時具有較高的查找和刪除性能:()
A. 有序數組 B. 有序鏈表 C. AVL樹 D. Hash表
3. 下列排序算法中,那些的時間復雜度不會超過nlogn:()
A. 快速排序 B. 堆排序 C. 歸并排序 D. 冒泡排序
4. 初始順序為:1 8 6 2 5 4 7 3 一組數采用堆排序,當排序(小根堆)完畢時,堆排序對應的二叉樹中序遍歷序列為:()
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時,下列函數的返回值是:()
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共有兩個區,人口比例為3:5,根歷史統計A區犯罪率為0.01%,B區為0.015%,現有一起新案件發生在S市,那么案件發生在A區的可能性有多大:()
A. 37.5% B. 32.2% C. 28.6% D. 26.1%
7. Unix系統中,下列那些可以用于進程間的通訊:()
A. socket B. 共享內存 C. 消息隊列 D. 信號隊列
8.靜態變量通常存儲在進程中哪一區:()
A. 棧區 B. 堆區 C. 全局區 D. 代碼區
9. 查詢性能()
A. 在Name字段上添加主鍵
B. 在Name字段上添加索引
C. 在Age字段上添加主鍵
D. 在Age字段上添加索引
10. IP地址131.153.12.71是一個______類IP地址:()
A. A B. B C. C D. D
11. 下推自動識別的語言是:()
A. 0型語言 B.1型語言 C. 2型語言 D. 3型語言
12. 下列程序的輸出是:()
#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協議返回狀態碼為403時表示:()
A. 找不到該頁面
B . 禁止訪問
C. 內部服務器錯誤
D. 服務器繁忙
14. 如果某系統154=112 成立,則系統采用的是_____進制()
A. 6 B. 7 C. 8 D. 9
15. 某段文本中各個字母出現的頻率分別是{a:4,b:3,o:12,h:7,i:10},使用huffman編碼進行編碼,那種是可能的編碼:()
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中的哪幾層?()
A. Application layer
B. Presentation layer
C. Transport layer
D. Network layer
17. 一個棧的入棧序列是A,B,C,D,E,則棧的不可能的輸出序列是?()
A. EDCBA B. DECBA C. DCEAB D. ABCDE
18. 同一進程下的線程可以共享以下?()
A. stack B. data sectiin C. register set D. file fd
19. 對于派生類的構造函數,在定義對象時構造函數的執行順序為?()
1:成員對象的構造函數 2:基類的構造函數 3:派生類本身的構造函數
A. 123 B. 231 C.321 D. 213
20. 如何減少換頁錯誤?()
A. 進程傾向于占用CPU
B. 訪問局部性(locality of reference)滿足進程要求
C. 進程傾向于占用I/O
D. 使用基于最短剩余時間(shortest remaining time)的調制機制
21. 遞歸函數最終會結束,那么這個函數一定?()
A. 使用局部變量 B. 有一個分支不調用自身
C. 使用了全局變量或者使用了一個或多個參數
D. 沒有循環調用
22. 編譯過程中,語法分析器的任務是()
A. 分析單詞是怎樣構成的 B. 分析單詞串是如何構成語句和說明的
C. 分析語句和說明是如何構成程序的 D. 分析程序的結構
23. 同步機制應遵循哪些基本準則?()
A. 空閑讓進 B. 忙則等待 C. 有限等待 D. 讓權等待
24. 進程進入等待狀態有哪幾種方式?()
A. CPU調度給優先級更高的線程 B. 阻塞的線程獲得資源或者信號
C. 在時間片輪轉的情況下,如果時間片到了 D. 獲取spinlock未果
25. 設計模式中,屬于結構型模式的有哪些?()
A. 狀態模式 B. 裝飾模式 C. 代理模式 D. 觀察者模式
二、填空題(共4題10個空,沒個空2分,共20分)
1. 設有字母序列{Q,D,F,X,A,P,N,B,Y,M,C,W},請寫出按2路歸并排序方法對該序列進行一趟掃描后的結果 【26】
2. 關鍵碼序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照關鍵碼值遞增的次序進行排序,若采用初始步長為4的Shell排序法,則一趟掃描的結果是 【27】 ;若采用以第一個元素為分界元素的快速排序法,則掃描一趟的結果是 【28】 。
3. 二進制地址011011110000,大小為(4)10和(16)10塊的伙伴地址分別為: 【29】、 【30】。
4. 設t是給定的一顆二叉樹,下面的遞歸程序count(t)用于求得:二叉樹t中具有非空的左、右兩個兒子的結點個數N2;只有非空左兒子的個數NL;只有非空右兒子的結點個數NR和葉子結點個數N0。N2、NL、NR、N0都是全局量,且在調用count(t)之前都置為0。
typedef struct node
{int data; struct node lchild, rchild;} node;
int N2,NL,NR,N0;
void count(node t)
{ if (t->lchild!=NULL) if 【31】N2++; else NL++;
else if 【32】 NR++; else 【33】;
if(t->lchild!=NULL) 【34】;if(t->rchild!=NULL) 【35】;
} /call form : if(t!=NULL) count(t);/
三、Web前端方向簡答題(共2題,每題20分,要求采用javascript語言答題,作為面試參考,不計入總分)
1. 請用JavaScript實現,控制一個文本框只能輸入正整數,如輸入不符合條件則文本框全部字體標紅,要求寫出完整的文本框HTML代碼和JavaScript邏輯代碼。
2. 在網頁里顯示一個span浮層,位于網頁正中,該浮層內的文本顯示用戶電腦當前時間,格式YYY-MM-DD hh:mm:ss,如2015-08-16 10:22:05。參考樣式如下:
2015-08-16 10:22:05
浮層居中可以使用JavaScript或者CSS實現。
四、其他方向簡答題(共2題,每題20分,選做1題,不計入總分)
1. 請設計一個排隊系統,能夠讓每個進入隊伍的用戶都能看到自己在隊伍中所處的位置和變化,隊伍可能隨時有人加入和退出,當有人退出影響到用戶的位置排名時需要及時反饋到用戶。
2. A,B兩個整數集合,設計一個算法求它們的交集,盡可能的高效。