騰訊2014實習北京筆試

    騰訊筆試的範圍還真是廣,不少知識都是徹底不記得。首先是不定項的選擇題,驚呆了,怎麼能學高考物理選擇題,這不科學。javascript

    二叉樹的知識,二叉樹的高度計算,二叉樹的先序,中序,後序遍歷等,這個知識多少還有一些。php

    哈弗曼編碼的知識,這個知識記憶的很少,不事後來想起來了哈弗曼樹的構造,可是想不到如何編碼了,我把樹根構造爲一個字符以後,樹根的如何編碼,由於記憶中左0右1的話樹根無編碼,選項非常拿不定主意。java

    sql語句判斷是否等價,4個sql語句選項當中有2個看不懂,平時寫的sql語句不是這樣的,面試

    居然還出現了數據庫表的範式優化的選擇題,1NF,2NF,3NF,BCNF,這個徹底記不得了。算法

    網絡地址的子網掩碼,C類網絡,3個子網,每一個子網最少包含55個機器。印象當中應該保留6個0,可是3個子網怎麼定不曉得了,因此具體的計算仍是不太記得。sql

    還有磁盤尋道的計算,這個我真心不知道,按照序列計算的。數據庫

    計算機體系結構的基礎知識,好比磁盤平均存取時間,系統總線,程序控制器這些,連蒙帶猜。小程序

    還有考繼承,多態的,外加sizeof的用法,後來發現sizeof直接對數組名原來返回數組長度,可是數組名通過函數傳參就會退化爲指針,而後sizeof就會變成指針,學習到的新知識...,我覺得一直全是按照指針來計算。windows

    還有用1分錢,2分錢,5分錢組成1塊錢多少種方法,組合數學啊,不會了,硬算的話好慢設計模式

    指定源端口,目的端口的協議,tcp,udp,icmp不曉得是否是,計算機網絡知識學得很差,那時是開卷考試

    操做系統內存頁調用,FIFO,LRU方法也不熟悉了,中斷多少次的計算。

    還有一些程序的書寫,判斷輸出結果是什麼,這種小程序很拿不許的,基礎知識不牢固,都不記得局部聲明的數組返回會是什麼狀況...

    又想到有一個題目考的javascript,主要大概是javascript中對象的賦值是傳值仍是傳引用,我以爲考點在這個地方,由於不會javascript,因此也拿不許。

    兩個附加題都挺數學的,其中一個是20問題遊戲,能夠在這裏玩一下:http://cn.akinator.com/personnages/jeu 應該是二分的思想,儘可能把兩邊分的範圍同樣,形式化爲數學問題的能力不行,

    另一個用數學公式表示呼吸道疾病傳染的模型,數學建模,應該是,沒有好好學,太過於抽象,抽象不出來數學問題,因此兩個附加題屬於能力範疇以外了。

    另外還有題目考的是內存模型,這個以前簡單的瞭解過,後來就忘記了,什麼是堆,什麼是棧,什麼樣的數據類型放在堆中,什麼樣的數據類型放在棧中,仍是要好好複習的。

    其餘暫時忘記了,這麼寫應該也不算泄題。筆試和麪試感受差好多,面試不會涉及這麼寬,筆試的範圍涉及真的好寬,不少知識不復習一下筆試被刷的概率應該很高。

 

    今天找到了熱乎的騰訊筆試題,題目zz地址:http://www.itmian4.com/forum.php?mod=viewthread&tid=4706 

    歡迎提供思路,由於不少題目我仍是不懂的。

    

1.   關於二叉樹,下面說法正確的是()

A.  對於N個節點的二叉樹,其高度爲nlog2n;

B.   一個具備1025個節點的二叉樹,其高度範圍在11~1025之間

C.  二叉樹的先序遍歷是EFHIGJK,中序遍歷爲HFIEJKG,該二叉樹的右子樹的根爲G

D.  二叉樹中至少有一個節點的度爲2

這個題目個人思路是BC,

A二叉樹不必定是滿二叉樹等,高度應該是範圍。

D選項其中若是隻有一個樹根的二叉樹應該是反例。

2.   假設函數f1的時間複雜度O(n),那麼f1*f1的時間複雜度爲()

A.  O(n)B.   O(n*n)C.  O(n*log(n))D.  以上都不對

 這個題目個人思路是A,討論後答案應該是D,由於f1的返回值不肯定,若是是個數組固然複雜度就不一樣了。

3.   對下列四種排序方法,在排序中關鍵字比較次數與記錄初始化順序無關的是()

A.  直接排序B.   二分法插入C.  快速排序D.  歸併排序

 這個答案聽說是BD,個人答案是D,由於一時反應不過來什麼是二分法插入。能夠百度一下二分法插入,聽說是考研的原題。

4.   已知一段文本有1382個字符,使用了1382個字節存儲,這段文本所有是由a、b、c、d、e字符組成,a 354次,b 483次,c 227次,d 96次,e 222次,對這5個字符使用哈夫曼編碼。則如下說法正確的是?()

A.  使用哈夫曼編碼後,使用編碼值來存儲這段文本將花費最少的存儲空間、

B.   使用哈夫曼編碼後,a b c d e 這5個字符對應的編碼值是惟一肯定的

C.  使用哈夫曼編碼後,a b c d e 這5個字符對應的編碼值能夠有多套,但每一個字符的編碼位數是肯定的

D.  b這個字符的編碼位數最短,d這個字符的哈夫曼編碼位數應該最長

 

5.   判斷單鏈表有沒有環的算法中,至少須要幾個指針()

A.  1 B.   2 C.  3 D.  4

以前遇到過的一個算法題目,利用快慢的兩我的在環形的跑道上跑一定會再次相遇的原理。

6.   在編譯過程當中,產生Parse  tree的過程是()

A.  語法分析 B.   語義分析階段C.  詞法分析D.  目標代碼生成階段

編譯原理的基本知識。

7.   閱讀下面代碼,程序會打印出來的值是()

 

#include
Void f(char **p){
                *p += 2;
}
Void main() {
                Char *a[] = { 「123」,」abc」,」456」},**p;
                p = a;
                f(p);
                printf(「%s\r\n」,**p);
}

 

  A.  123  B.   abc  C.  456  D.  3 

 指針的應用,a是二維數組的首位指針,首先取值以後變成第一行的首指針,+2移動至3的位置,輸出爲3。

8.   Char p1[] = 「Tencent」, void p2 = malloc((10)在32位機器上sizeof(p1)和sizeof(p2)對應的值是()

A.  8:0 B.   4:10 C.  8:4 D.  4:4

 數組的長度和指針的長度,數組只有在傳參的時候纔會退化爲指針。sizeof的時候針對指針進行計算。

9.   如今有如下兩個函數,調用test的結果是()

 

Char* getMem(void) {      Char * p = 「hello world 」;
      P[5] = 0x0;
      Return p;
}
Voidtest(void) {      Char *s = 0x0;
      s = getMem();
      Printf(s);
}

 

A.  hello B.   無輸出 C.  Hello0world D.  不肯定

 局部變量在函數返回的時候會刪除掉,指向內容就不肯定了。答案應該是D。

10.  馮諾依曼體系結構計算機的基本原理是()
A信息存儲  B 存儲智能 C 數字控制 D 存儲程序和程序控制 

 應該是D。

11.   求貢獻

 

12.下面哪一種設計模式的定義爲:定義對象間的一種一對多的關係,當一個對象改變時,其餘依賴於他的對象都可以獲得通知並自動更新。()

A.  Visitor B.   Adapter C.  Observer D.  Interpreter

 觀察者模式也就是C符合描述。

13.請看一下這一段C++代碼,若是編譯後程序在windows下運行,則一下說話正確的是()

Char*p1 = 「123456」;

Char*p2 = (char*)malloc(10);

A.  P1 he p2都存在棧中

B.   P2指向的10個字節內存在棧中

C.  堆和棧在內存中的生長方向是相反的

D.  「123456」這6個字符存儲在棧中

 關於堆和棧的內存模型不是很瞭解...因此這個題目應該寫錯了。

14.將3個球隨機放入4個杯子中,則杯子中球的最大個數爲2的機率是()

A.  9/16 B.   3/4 C.  3/8 D.  3/16

 這個和同窗討論瞭如下也計算錯誤了,答案應該是A,其實利用反推法比較簡單。

15.對n個元素的數組進行快速排序,所須要的二外空間爲()

A.  O(1)B.   O(n)C.  O(log(2n)D.  O(n^2))

 快速排序又稱爲原地排序,本覺得選擇應該是A,可是所謂原地排序也是遞歸搞定的,不知道需不須要算遞歸須要的深度,這樣這個題目就不肯定了。

16.下面關於編譯器與解釋器的觀點,錯誤的是()

A.  解釋器不產生目標程序,它直接執行源程序或者源程序的內部形式

B.   解釋程序和編譯程序的主要區別在因而否產生目標程序

C.  編譯器對高級語言程序的處理過程劃分紅詞法分析、語法分析、語義分析,中間代碼生成、代碼優化、目標代碼生成幾個階段

D.  解釋器參與運行控制、程序執行的速度快

 這個我選擇的是D。

17.假設系統中有5太設備,有多個進程須要使用2個設備,假定每一個進程一次只能使用一臺,則至多容許多少個進程來競爭這5個資源,而不會發生死鎖()

A.  2 B.   C.  4 D.  5

 4個設備避免競爭,一定有一個利用完以後會進行釋放。

18.下面哪些協議,存在源端口和目的端口是()

A.  IP B.   TCP C.  UDP D.  ICMP協議

 ICMP協議是網絡層的協議,因此BC,這個選錯了。

19.下列哪些sql是等價的()

A.  Select A.tname ,A.depart from teacher A joincourse B on B.tno = .A.tno

B.   Select A.tname ,A.depart from teacher A whereA.tno = course.tno

C.  Select A.tname ,A.depart from teacher wheretno in (select tno from course)

D.  Select A.tname ,A.depart from teacher where exsist (select * from course B where B.tno = A.tno);

 這個詭異的sql語句不是很懂。

20.某一磁盤請求序列(磁道號):9八、 18三、 3七、12二、1四、12四、 6五、 61,按照先來先服務FCFS磁盤調度對磁盤進行請求服務,假設當前磁頭在53道上,則磁臂總移動道數爲:()

A、169         B、208        C、640         D、236

640?這個題目也太簡單了。
21.將一個C類網絡劃分爲3個子網,每一個子網最少要容納55臺主機,使用的子網掩碼是:()
  A、255.255.255.248   B、255.255.255.224  C、255.255.255.224  D、255.255.255. 192

 192,保留6位計算獲得的。3個子網不肯定是怎麼獲得。

22下列關於計算機硬件的描述,正確的是:()
A、磁盤的平均存取時間指的是磁盤的尋道時間加上磁頭在某一磁道等待記錄扇區的時間
B、計算機的控制器是由多種部件組成,其中包括,指令寄存器、程序計數器和算數邏輯單元
C、一臺計算機的字長是32位,代表該機器能處理的數值最多爲4個字節
D、系統總線能夠分爲數據總線、地址總線和控制總線三類
這個題目不怎麼會,計算機體系結構的題目。
2三、假設有關係模式R(A,B,C,D),其數據依賴集:F={(A,B)- >C,C->D},則關係模式R的規範化程度最高達到:()
A.1NF
B.2NF
C.3NF
D.BCNF

這個也不太會,同窗說選擇應該是B。
24.如下爲一段瀏覽器中可運行的Javascript 代碼,則運行該段Javascript代碼的頁面彈出框中顯示的結果是:()
Var obj = { 「key」:」1」,」value」:2};
Var newObj = obj;
newObj.value += obj.key;
alert(obj.value);
A、2           B、12          C、3         D、21

javascript的題目,答案是D...我還覺得是考引用的...
25.有足夠量的2分、5分、1分硬幣,若是想湊齊一元錢,能夠有()種方法
A、541    B、270   C、1024    D、128
這個也不會計算了,組合數學的知識。
填空題(共5題,每題4分,共20分)
2六、閱讀下面代碼:
#defineMAX_NUM 1000+1

int Temp = Max_NUM*10;

則Temp的值爲(    )

 1010

27.某個單CPU操做系統搶佔式進程調度策略。如今有三個任務T1(優先級高),T2(優先級中),T3(優先級低)同時進入調度隊列,每一個任務都須要佔用CPU時間10ms,10ms,13ms,而後再用CPU時間5ms,則T3從進入調度對了到完成須要()ms(不考慮系統任務調度的開銷)

28.在一個採用頁式虛擬存儲管理的系統中,有一用戶做業,它依次要訪問的也沒序列是1,2,3,4,1,2,5,1,2,3,4,5.假定分配給該做業的頁數爲3且做業初始時未裝載頁面,那麼採用FIFO調度算法產生的缺頁中斷數爲(),採用LRU調度算法產生的缺頁中斷數爲()
9,10,當時寫了一個6,7,真是不認真...
29.

 

#include <stdio.h>
class Base
{
public:
virtual int foo(int x){return x*10;}
int foo(char x[14]){return sizeof(x)+10;}
};
class Derived:public Base
{
int foo(int x){return x*20;}
virtual int foo(char x[10]){return sizeof (x)+20;}
};
int main(void)
{
Derived  stDerived;
Base * pstBase=& stDerived;
char x[10];
printf(「%d\n」,pstBase->foo(100)+pstBase->foo(x));
return 0;
}

 

在32位環境下,以上程序的輸出結果是()
2014
附加題(共2題,不計入總分)
31.珠寶商甲須要去鑑定一批41克如下的寶石(多是41克如下不包括41克的任意重量),他只能攜帶一個天平和四個砝碼去稱重,請問他會攜帶那些重量的砝碼?

32.UTF-8是如今流行的編碼方式,下面是RFC2279對UTF-8編碼規則的規定,根據這個規則,中文字符‘我’的unicode值爲0X6211,utf-8編碼以後爲0XE68891。
請回答一下問題:

A)英文字符‘a’,其unicode的十六進制值爲0X61,則其UTF-8編碼後的十六進制值爲?

B)中文字符‘騰’,其unicode的十六進制值爲0X817E,則其UTF-8編碼後的十六進制值爲?

C)中文字符‘訊’,其unicode值通過UTF-8編碼以後爲0XE8AEAF,則請問其unicode的十六進制值是?

相關文章
相關標籤/搜索