騰訊2014校園招聘筆試試題
考試時長:120分鐘
一 不定項選擇題(共25題,每題4分,共100分,少選、錯選、多選均不得分)
1 已知一棵二叉樹,如果先序遍歷的節點順序是:ADCEFGHB,中序遍歷是:CDFEGHAB,則後序遍歷結果為:(D)
A.CFHGEBDA B.CDFEGHBA C.FGHCDEBA D.CFHGEDBA
2 下列哪兩個資料結構,同時具有較高的查詢和刪除效能?(CD)
A.有序陣列 B.有序連結串列 C.AVL樹 D.Hash表
3 下列排序演算法中,哪些時間複雜度不會超過nlogn?(BC)
A.快速排序 B.堆排序 C.歸併排序
4 初始序列為1 8 6 2 5 4 7 3一組數採用堆排序,當建堆(小根堆)完畢時,堆所對應的二叉樹中序遍歷序列為:(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時,下列函式的返回值是:(A)
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共有兩個區,人口比例為
A.37.5% B.32.5% C.28.6% D.26.1%
7 Unix系統中,哪些可以用於程序間的通訊?(BCD)
A.Socket B.共享記憶體 C.訊息佇列 D.訊號量
8 靜態變數通常儲存在程序哪個區?(C)
A.棧區 B.堆區 C.全域性區 D.程式碼區
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)
#define add(a+b) a+b
int main()
{
printf(“%d\n”,5*add(3+4));
return 0;
}
A.23 B.35 C.16 D.19
13 瀏覽器訪問某頁面,HTTP協議返回狀態碼為403時表示:(B)
A 找不到該頁面
B 禁止訪問
C 內部伺服器訪問
D 伺服器繁忙
14 如果某系統15*4=112成立,則系統採用的是(A)進位制。
A.6 B.7 C.8 D.9
15 某段文字中各個字母出現的頻率分別是{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 對於派生類的建構函式,在定義物件時建構函式的執行順序為?(D)
1:成員物件的建構函式
2:基類的建構函式
3:派生類本身的建構函式
A.123 B.231 C.321 D.213
20 如何減少換頁錯誤?(BC)
A 程序傾向於佔用CPU
B 訪問區域性性(locality of reference)滿足程序要求
C 程序傾向於佔用I/O
D 使用基於最短剩餘時間(shortest remaining time)的排程機制
21 遞迴函式最終會結束,那麼這個函式一定?(B)
A 使用了局部變數
B 有一個分支不呼叫自身
C 使用了全域性變數或者使用了一個或多個引數
D 沒有迴圈呼叫
22 編譯過程中,語法分析器的任務是(B)
A分析單詞是怎樣構成的
B 分析單詞串是如何構成語言和說明的
C 分析語句和說明是如何構成程式的
D 分析程式的結構
23 同步機制應該遵循哪些基本準則?(ABCD)
A.空閒讓進 B.忙則等待 C.有限等待 D.讓權等待
24 程序進入等待狀態有哪幾種方式?(D)
A CPU排程給優先順序更高的執行緒
B 阻塞的執行緒獲得資源或者訊號
C 在時間片輪轉的情況下,如果時間片到了
D 獲得spinlock未果
25 設計模式中,屬於結構型模式的有哪些?(BC)
A 狀態模式 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中具有非空的左、右兩個兒子的結點個數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 (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 請設計一個排隊系統,能夠讓每個進入隊伍的使用者都能看到自己在佇列中所處的位置和變化,隊伍可能隨時有人加入和退出;當有人退出影響到使用者的位置排名時需要及時反饋到使用者。
2 A,B兩個整數集合,設計一個演算法求他們的交集,儘可能的高效。