騰訊軟件開(kāi)發(fā)校園招聘筆試題和面試題答案

大風(fēng)車(chē)考試網(wǎng)

  試卷類(lèi)型:軟件開(kāi)發(fā)A1

  考試時(shí)長(zhǎng):120分鐘

  一 不定項(xiàng)選擇題(共25題,每題4分,共100分,少選、錯(cuò)選、多選均不得分)

  1 已知一棵二叉樹(shù),如果先序遍歷的節(jié)點(diǎn)順序是:ADCEFGHB,中序遍歷是:CDFEGHAB,則后序遍歷結(jié)果為:(D)

  A.CFHGEBDA B.CDFEGHBA C.FGHCDEBA D.CFHGEDBA

  2 下列哪兩個(gè)數(shù)據(jù)結(jié)構(gòu),同時(shí)具有較高的查找和刪除性能?(CD)

  A.有序數(shù)組 B.有序鏈表 C.AVL樹(shù) D.Hash表

  3 下列排序算法中,哪些時(shí)間復(fù)雜度不會(huì)超過(guò)nlogn?(BC)

  A.快速排序 B.堆排序 C.歸并排序 D.冒泡排序

  4 初始序列為1 8 6 2 5 4 7 3一組數(shù)采用堆排序,當(dāng)建堆(小根堆)完畢時(shí),堆所對(duì)應(yīng)的二叉樹(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 當(dāng)n=5時(shí),下列函數(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共有兩個(gè)區(qū),人口比例為3:5,據(jù)歷史統(tǒng)計(jì)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)中,哪些可以用于進(jìn)程間的通信?(BCD)

  A.Socket B.共享內(nèi)存 C.消息隊(duì)列 D.信號(hào)量

  8 靜態(tài)變量通常存儲(chǔ)在進(jìn)程哪個(gè)區(qū)?(C)

  A.棧區(qū) B.堆區(qū) C.全局區(qū) D.代碼區(qū)

  9 查詢(xún)性能(B)

  A. 在Name字段上添加主鍵

  B. 在Name字段上添加索引

  C. 在Age字段上添加主鍵

  D. 在Age字段上添加索引

  10 IP地址131.153.12.71是一個(gè)(B)類(lèi)IP地址。

  A.A B.B C.C D.D

  11 下推自動(dòng)識(shí)別機(jī)的語(yǔ)言是:(C)

  A. 0型語(yǔ)言 B.1型語(yǔ)言 C.2型語(yǔ)言 D.3型語(yǔ)言

  12 下列程序的輸出是:(D)

  [cpp] view plaincopy

  #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 瀏覽器訪問(wèn)某頁(yè)面,HTTP協(xié)議返回狀態(tài)碼為403時(shí)表示:(B)

  A 找不到該頁(yè)面

  B 禁止訪問(wèn)

  C 內(nèi)部服務(wù)器訪問(wèn)

  D 服務(wù)器繁忙

  14 如果某系統(tǒng)15*4=112成立,則系統(tǒng)采用的是(A)進(jìn)制。

  A.6 B.7 C.8 D.9

  15 某段文本中各個(gè)字母出現(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分別對(duì)應(yīng)了OSI中的哪幾層?(CD)

  A Application layer

  B Presentation layer

  C Transport layer

  D Network layer

  17 一個(gè)棧的入棧序列是A,B,C,D,E,則棧的不可能的輸出序列是?(C)

  A.EDCBA B.DECBA C.DCEAB D.ABCDE

  18 同一進(jìn)程下的線程可以共享以下?(BD)

  A. stack B.data section C.register set D.file fd

  19 對(duì)于派生類(lèi)的構(gòu)造函數(shù),在定義對(duì)象時(shí)構(gòu)造函數(shù)的執(zhí)行順序?yàn)?(D)

  1:成員對(duì)象的構(gòu)造函數(shù)

  2:基類(lèi)的構(gòu)造函數(shù)

  3:派生類(lèi)本身的構(gòu)造函數(shù)

  A.123 B.231 C.321 D.213

  20 如何減少換頁(yè)錯(cuò)誤?(BC)

  A 進(jìn)程傾向于占用CPU

  B 訪問(wèn)局部性(locality of reference)滿(mǎn)足進(jìn)程要求

  C 進(jìn)程傾向于占用I/O

  D 使用基于最短剩余時(shí)間(shortest remaining time)的調(diào)度機(jī)制

  21 遞歸函數(shù)最終會(huì)結(jié)束,那么這個(gè)函數(shù)一定?(B)

  A 使用了局部變量

  B 有一個(gè)分支不調(diào)用自身

  C 使用了全局變量或者使用了一個(gè)或多個(gè)參數(shù)

  D 沒(méi)有循環(huán)調(diào)用

  22 編譯過(guò)程中,語(yǔ)法分析器的任務(wù)是(B)

  A分析單詞是怎樣構(gòu)成的

  B 分析單詞串是如何構(gòu)成語(yǔ)言和說(shuō)明的

  C 分析語(yǔ)句和說(shuō)明是如何構(gòu)成程序的

  D 分析程序的結(jié)構(gòu)

  23 同步機(jī)制應(yīng)該遵循哪些基本準(zhǔn)則?(ABCD)

  A.空閑讓進(jìn) B.忙則等待 C.有限等待 D.讓權(quán)等待

  24 進(jìn)程進(jìn)入等待狀態(tài)有哪幾種方式?(D)

  A CPU調(diào)度給優(yōu)先級(jí)更高的線程

  B 阻塞的線程獲得資源或者信號(hào)

  C 在時(shí)間片輪轉(zhuǎn)的情況下,如果時(shí)間片到了

  D 獲得spinlock未果

  25 設(shè)計(jì)模式中,屬于結(jié)構(gòu)型模式的有哪些?(BC)

  A 狀態(tài)模式 B 裝飾模式 C 代理模式 D 觀察者模式

  二、填空題(共4題10個(gè)空,每空2分,共20 分)

  1 設(shè)有字母序列{Q,D,F,X,A,P,N,B,Y,M,C,W},請(qǐng)寫(xiě)出按二路歸并方法對(duì)該序列進(jìn)行一趟掃描后的結(jié)果為DQFXAPBNMYCW。

  2 關(guān)鍵碼序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照關(guān)鍵碼值遞增的次序進(jìn)行排序,若采用初始步長(zhǎng)為4的Shell的排序法,則一趟掃描的結(jié)果是QACSQDFXRHMY;若采用以第一個(gè)元素為分界元素的快速排序法,則掃描一趟的結(jié)果是FHCDQAMQRSYX。

  3 二進(jìn)制地址為011011110000,大小為(4)10和(16)10塊的伙伴地址分別為:_________,_________。

  4 設(shè)t是給定的一棵二叉樹(shù),下面的遞歸程序count(t)用于求得:二叉樹(shù)t中具有非空的左、右兩個(gè)兒子的結(jié)點(diǎn)個(gè)數(shù)N2;只有非空左兒子的個(gè)數(shù)NL;只有非空右兒子的結(jié)點(diǎn)個(gè)數(shù)NR和葉子結(jié)點(diǎn)個(gè)數(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前端方向簡(jiǎn)單題(略)

  四、其他方向簡(jiǎn)答題(共2題,每題20分),選作題,不計(jì)入總分)

  1 請(qǐng)?jiān)O(shè)計(jì)一個(gè)排隊(duì)系統(tǒng),能夠讓每個(gè)進(jìn)入隊(duì)伍的用戶(hù)都能看到自己在隊(duì)列中所處的位置和變化,隊(duì)伍可能隨時(shí)有人加入和退出;當(dāng)有人退出影響到用戶(hù)的位置排名時(shí)需要及時(shí)反饋到用戶(hù)。

  2 A,B兩個(gè)整數(shù)集合,設(shè)計(jì)一個(gè)算法求他們的交集,盡可能的高效。

  • 相關(guān)文章