2015騰訊實(shí)習(xí)筆試真題

字號:

2015騰訊實(shí)習(xí)筆試題
    1. 關(guān)于二叉樹,下面說法正確的是
    A. 對于N個(gè)節(jié)點(diǎn)的二叉樹,其高度為nlog2n;
    B. 一個(gè)具有1025個(gè)節(jié)點(diǎn)的二叉樹,其高度范圍在11~1025之間
    C. 二叉樹的先序遍歷是EFHIGJK,中序遍歷為HFIEJKG,該二叉樹的右子樹的根為G
    D. 二叉樹中至少有一個(gè)節(jié)點(diǎn)的度為2
    這個(gè)題目我的思路是BC,
    A二叉樹不一定是滿二叉樹等,高度應(yīng)該是范圍。
    D選項(xiàng)其中如果只有一個(gè)樹根的二叉樹應(yīng)該是反例。
    2. 假設(shè)函數(shù)f1的時(shí)間復(fù)雜度O(n),那么f1*f1的時(shí)間復(fù)雜度為
    A. O(n)B. O(n*n)C. O(n*log(n))D. 以上都不對
    這個(gè)題目我的思路是A,討論后答案應(yīng)該是D,因?yàn)閒1的返回值不確定,如果是個(gè)數(shù)組當(dāng)然復(fù)雜度就不同了。
    3. 對下列四種排序方法,在排序中關(guān)鍵字比較次數(shù)與記錄初始化順序無關(guān)的是
    A. 直接排序B. 二分法插入C. 快速排序D. 歸并排序
    這個(gè)答案據(jù)說是BD,我的答案是D,因?yàn)橐粫r(shí)反應(yīng)不過來什么是二分法插入??梢园俣纫幌露址ú迦耄瑩?jù)說是考研的原題。
    4. 已知一段文本有1382個(gè)字符,使用了1382個(gè)字節(jié)存儲(chǔ),這段文本全部是由a、b、c、d、e字符組成,a 354次,b 483次,c 227次,d 96次,e 222次,對這5個(gè)字符使用哈夫曼編碼。則以下說法正確的是?
    A. 使用哈夫曼編碼后,使用編碼值來存儲(chǔ)這段文本將花費(fèi)最少的存儲(chǔ)空間、
    B. 使用哈夫曼編碼后,a b c d e 這5個(gè)字符對應(yīng)的編碼值是確定的
    C. 使用哈夫曼編碼后,a b c d e 這5個(gè)字符對應(yīng)的編碼值可以有多套,但每個(gè)字符的編碼位數(shù)是確定的
    D. b這個(gè)字符的編碼位數(shù)最短,d這個(gè)字符的哈夫曼編碼位數(shù)應(yīng)該最長
    5. 判斷單鏈表有沒有環(huán)的算法中,至少需要幾個(gè)指針
    A. 1 B. 2 C. 3 D. 4
    之前遇到過的一個(gè)算法題目,利用快慢的兩個(gè)人在環(huán)形的跑道上跑必定會(huì)再次相遇的原理。
    6. 在編譯過程中,產(chǎn)生Parse tree的過程是
    A. 語法分析 B. 語義分析階段C. 詞法分析D. 目標(biāo)代碼生成階段
    編譯原理的基本知識。
    7. 閱讀下面代碼,程序會(huì)打印出來的值是
    #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
    指針的應(yīng)用,a是二維數(shù)組的首位指針,首先取值之后變成第一行的首指針,+2移動(dòng)至3的位置,輸出為3。
    8. Char p1 = Tencent , void p2 = malloc((10)在32位機(jī)器上sizeof(p1)和sizeof(p2)對應(yīng)的值是
    A. 8:B. 4:1C. 8:4 D. 4:4
    數(shù)組的長度和指針的長度,數(shù)組只有在傳參的時(shí)候才會(huì)退化為指針。sizeof的時(shí)候針對指針進(jìn)行計(jì)算。
    9. 現(xiàn)在有以下兩個(gè)函數(shù),調(diào)用test的結(jié)果是
    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. 不確定
    局部變量在函數(shù)返回的時(shí)候會(huì)刪除掉,指向內(nèi)容就不確定了。答案應(yīng)該是D。
    10. 馮諾依曼體系結(jié)構(gòu)計(jì)算機(jī)的基本原理是
    A信息存儲(chǔ) B 存儲(chǔ)智能 C 數(shù)字控制 D 存儲(chǔ)程序和程序控制
    應(yīng)該是D。
    11. 求貢獻(xiàn)
    12.下面哪種設(shè)計(jì)模式的定義為:定義對象間的一種一對多的關(guān)系,當(dāng)一個(gè)對象改變時(shí),其他依賴于他的對象都能夠得到通知并自動(dòng)更新。
    A. Visitor B. Adapter C. Observer D. Interpreter
    觀察者模式也就是C符合描述。
    13.請看一下這一段C++代碼,如果編譯后程序在windows下運(yùn)行,則一下說話正確的是
    Char*p1 = 123456 ;
    Char*p2 = (char*)malloc(10);
    A. P1 he p2都存在棧中
    B. P2指向的10個(gè)字節(jié)內(nèi)存在棧中
    C. 堆和棧在內(nèi)存中的生長方向是相反的
    D. 123456 這6個(gè)字符存儲(chǔ)在棧中
    關(guān)于堆和棧的內(nèi)存模型不是很了解...所以這個(gè)題目應(yīng)該寫錯(cuò)了。
    14.將3個(gè)球隨機(jī)放入4個(gè)杯子中,則杯子中球的個(gè)數(shù)為2的概率是
    A. 9/16 B. 3/4 C. 3/8 D. 3/16
    這個(gè)和同學(xué)討論了以下也計(jì)算錯(cuò)誤了,答案應(yīng)該是A,其實(shí)利用反推法比較簡單。
    15.對n個(gè)元素的數(shù)組進(jìn)行快速排序,所需要的二外空間為
    A. O(1)B. O(n)C. O(log(2n)D. O(n^2))
    快速排序又稱為原地排序,本以為選擇應(yīng)該是A,但是所謂原地排序也是遞歸搞定的,不知道需不需要算遞歸需要的深度,這樣這個(gè)題目就不確定了。
    16.下面關(guān)于編譯器與解釋器的觀點(diǎn),錯(cuò)誤的是
    A. 解釋器不產(chǎn)生目標(biāo)程序,它直接執(zhí)行源程序或者源程序的內(nèi)部形式
    B. 解釋程序和編譯程序的主要區(qū)別在于是否產(chǎn)生目標(biāo)程序
    C. 編譯器對高級語言程序的處理過程劃分成詞法分析、語法分析、語義分析,中間代碼生成、代碼優(yōu)化、目標(biāo)代碼生成幾個(gè)階段
    D. 解釋器參與運(yùn)行控制、程序執(zhí)行的速度快
    這個(gè)我選擇的是D。
    17.假設(shè)系統(tǒng)中有5太設(shè)備,有多個(gè)進(jìn)程需要使用2個(gè)設(shè)備,假定每個(gè)進(jìn)程一次只能使用一臺(tái),則至多允許多少個(gè)進(jìn)程來競爭這5個(gè)資源,而不會(huì)發(fā)生死鎖
    A. 2 B. 3 C. 4 D. 5
    4個(gè)設(shè)備避免競爭,必定有一個(gè)利用完之后會(huì)進(jìn)行釋放。
    18.下面哪些協(xié)議,存在源端口和目的端口是
    A. IP B. TCP C. UDP D. ICMP協(xié)議
    ICMP協(xié)議是網(wǎng)絡(luò)層的協(xié)議,所以BC,這個(gè)選錯(cuò)了。
    19.下列哪些sql是等價(jià)的
    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);
    這個(gè)詭異的sql語句不是很懂。
    20.某一磁盤請求序列(磁道號):9818337、122、14、1246561,按照先來先服務(wù)FCFS磁盤調(diào)度對磁盤進(jìn)行請求服務(wù),假設(shè)當(dāng)前磁頭在53道上,則磁臂總移動(dòng)道數(shù)為:
    A、169 B、208 C、64D、236
    640?這個(gè)題目也太簡單了。
    21.將一個(gè)C類網(wǎng)絡(luò)劃分為3個(gè)子網(wǎng),每個(gè)子網(wǎng)最少要容納55臺(tái)主機(jī),使用的子網(wǎng)掩碼是:
    A、255.255.255.248 B、255.255.255.224 C、255.255.255.224 D、255.255.255. 192
    192,保留6位計(jì)算得到的。3個(gè)子網(wǎng)不確定是怎么得到。
    22下列關(guān)于計(jì)算機(jī)硬件的描述,正確的是:
    [next]
    A、磁盤的平均存取時(shí)間指的是磁盤的尋道時(shí)間加上磁頭在某一磁道等待記錄扇區(qū)的時(shí)間
    B、計(jì)算機(jī)的控制器是由多種部件組成,其中包括,指令寄存器、程序計(jì)數(shù)器和算數(shù)邏輯單元
    C、一臺(tái)計(jì)算機(jī)的字長是32位,表明該機(jī)器能處理的數(shù)值最多為4個(gè)字節(jié)
    D、系統(tǒng)總線可以分為數(shù)據(jù)總線、地址總線和控制總線三類
    這個(gè)題目不怎么會(huì),計(jì)算機(jī)體系結(jié)構(gòu)的題目。
    23、假設(shè)有關(guān)系模式R(A,B,C,D),其數(shù)據(jù)依賴集:F={(A,B)- 》C,C-》D},則關(guān)系模式R的規(guī)范化程度達(dá)到:
    A.1NFB.2NF
    C.3NF
    D.BCNF
    這個(gè)也不太會(huì),同學(xué)說選擇應(yīng)該是B。
    24.以下為一段瀏覽器中可運(yùn)行的Javascript 代碼,則運(yùn)行該段Javascript代碼的頁面彈出框中顯示的結(jié)果是:
    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、27C、1024 D、128
    這個(gè)也不會(huì)計(jì)算了,組合數(shù)學(xué)的知識。
    填空題(共5題,每題4分,共20分)
    26、閱讀下面代碼:
    #defineMAX_NUM 1000+1
    int Temp = Max_NUM*10;
    則Temp的值為( )
    1010
    27.某個(gè)單CPU操作系統(tǒng)搶占式進(jìn)程調(diào)度策略?,F(xiàn)在有三個(gè)任務(wù)T1(優(yōu)先級高),T2(優(yōu)先級中),T3(優(yōu)先級低)同時(shí)進(jìn)入調(diào)度隊(duì)列,每個(gè)任務(wù)都需要占用CPU時(shí)間10ms,10ms,13ms,然后再用CPU時(shí)間5ms,則T3從進(jìn)入調(diào)度對了到完成需要ms(不考慮系統(tǒng)任務(wù)調(diào)度的開銷)
    28.在一個(gè)采用頁式虛擬存儲(chǔ)管理的系統(tǒng)中,有一用戶作業(yè),它依次要訪問的也沒序列是1,2,3,4,1,2,5,1,2,3,4,5.假定分配給該作業(yè)的頁數(shù)為3且作業(yè)初始時(shí)未裝載頁面,那么采用FIFO調(diào)度算法產(chǎn)生的缺頁中斷數(shù)為,采用LRU調(diào)度算法產(chǎn)生的缺頁中斷數(shù)為
    9,10,當(dāng)時(shí)寫了一個(gè)6,7,真是不認(rèn)真...
    29.
    #include
    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位環(huán)境下,以上程序的輸出結(jié)果是
    20XX
    附加題(共2題,不計(jì)入總分)
    31.珠寶商甲需要去鑒定一批41克以下的寶石(可能是41克以下不包括41克的任意重量),他只能攜帶一個(gè)天平和四個(gè)砝碼去稱重,請問他會(huì)攜帶那些重量的砝碼?
    32.UTF-8是現(xiàn)在流行的編碼方式,下面是RFC2279對UTF-8編碼規(guī)則的規(guī)定,根據(jù)這個(gè)規(guī)則,中文字符 我 的unicode值為0X6211,utf-8編碼之后為0XE68891。
    請回答一下問題:
    A)英文字符 a ,其unicode的十六進(jìn)制值為0X61,則其UTF-8編碼后的十六進(jìn)制值為?
    B)中文字符 騰 ,其unicode的十六進(jìn)制值為0X817E,則其UTF-8編碼后的十六進(jìn)制值為?
    C)中文字符 訊 ,其unicode值經(jīng)過UTF-8編碼之后為0XE8AEAF,則請問其unicode的十六進(jìn)制值是?