1. 關於二叉樹,如下說法正確的是()css
A. 對於N個節點的二叉樹,其高度爲nlog2n;html
B. 一個具備1025個節點的二叉樹。其高度範圍在11~1025之間前端
C. 二叉樹的先序遍歷是EFHIGJK,中序遍歷爲HFIEJKG,該二叉樹的右子樹的根爲Gnode
D. 二叉樹中至少有一個節點的度爲2面試
2. 假設函數f1的時間複雜度O(n)。那麼f1*f1的時間複雜度爲()算法
A. O(n)B. O(n*n)C. O(n*log(n))D. 以上都不正確sql
3. 對下列四種排序方法。在排序中keyword比較次數與記錄初始化順序無關的是()數據庫
A. 直接排序B. 二分法插入C. 高速排序D. 歸併排序編程
4. 已知一段文本有1382個字符,使用了1382個字節存儲,這段文本全部是由a、b、c、d、e字符組成。a 354次,b483次,c 227次,d 96次。e 222次,對這5個字符使用哈夫曼編碼。
則如下說法正確的是?()
A. 使用哈夫曼編碼後。使用編碼值來存儲這段文本將花費最少的存儲空間、
B. 使用哈夫曼編碼後,ab c d e 這5個字符相應的編碼值是惟一肯定的
C. 使用哈夫曼編碼後,ab c d e 這5個字符相應的編碼值可以有多套。但每個字符的編碼位數是肯定的
D. b這個字符的編碼位數最短,d這個字符的哈夫曼編碼位數應該最長
5. 推斷單鏈表有沒有環的算法中。至少需要幾個指針()
A. 1 B. 2C. 3 D. 4
6. 在編譯過程當中,產生Parse tree的過程是()
A. 語法分析B. 語義分析階段C. 詞法分析D. 目標代碼生成階段
7. 閱讀如下代碼,程序會打印出來的值是()
1. #include
2. Void f(char **p){
3. *p += 2;
4. }
5. Void main() {
6. Char *a[] = { 「123」,」abc」,」456」},**p;
7. p = a;
8. f(p);
9. printf(「%s\r\n」,**p);
10.}
複製代碼
A. 123 B. abc C. 456 D. 3
8. Char p1[] = 「Tencent」, void p2= malloc((10)在32位機器上sizeof(p1)和sizeof(p2)相應的值是()
A. 8:0B. 4:10 C. 8:4D. 4:4
9. 現在有如下兩個函數。調用test的結果是()
1. Char* getMem(void) { Char * p = 「hello world 」;
2. P[5] = 0x0;
3. Return p;
4. }
5. Voidtest(void) { Char *s = 0x0;
6. s = getMem();
7. Printf(s);
8. }
複製代碼
A. hello B. 無輸出C. Hello0world D. 不肯定
10. 馮諾依曼體系結構計算機的基本原理是()
A信息存儲 B 存儲智能 C 數字控制 D 存儲程序和程序控制
11. 求貢獻
12.如下哪一種設計模式的定義爲:定義對象間的一種一對多的關係,當一個對象改變時,其它依賴於他的對象都可以獲得通知並本身主動更新。()
A. Visitor B. Adapter C. Observer D. Interpreter
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/4C. 3/8 D. 3/16
15.對n個元素的數組進行高速排序,所需要的二外空間爲()
A. O(1)B. O(n)C. O(log(2n)D. O(n^2))
16.如下關於編譯器與解釋器的觀點。錯誤的是()
A. 解釋器不產生目標程序,它直接執行源程序或者源程序的內部形式
B. 解釋程序和編譯程序的主要區別在因而否產生目標程序
C. 編譯器對高級語言程序的處理過程劃分紅詞法分析、語法分析、語義分析,中間代碼生成、代碼優化、目標代碼生成幾個階段
D. 解釋器參與執行控制、程序執行的速度快
17.假設系統中有5太設備。有多個進程需要使用2個設備。假定每個進程一次僅僅能使用一臺,則至多贊成多少個進程來競爭這5個資源。而不會發生死鎖()
A. 2 B. 3 C. 4 D. 5
18.如下哪些協議,存在源port和目的port是()
A. IP B. TCP C. UDP D. ICMP協議
19.下列哪些sql是等價的()
A. Select A.tname ,A.depart fromteacher A joincourse B on B.tno = .A.tno
B. Select A.tname ,A.depart fromteacher A whereA.tno = course.tno
C. Select A.tname ,A.depart fromteacher wheretno in (select tno from course)
D. Select A.tname ,A.depart fromteacher where exsist (select * from course B where B.tno = A.tno);
20.某一磁盤請求序列(磁道號):9八、 18三、3七、12二、1四、12四、 6五、 61,依照先來先服務FCFS磁盤調度對磁盤進行請求服務。假設當前磁頭在53道上,則磁臂總移動道數爲:()
A、169 B、208 C、640 D、236
21.將一個C類網絡劃分爲3個子網,每個子網最少要容納55臺主機,使用的子網掩碼是:()
A、255.255.255.248 B、255.255.255.224 C、255.255.255.224 D、255.255.255. 192
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
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
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的值爲( )
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調度算法產生的缺頁中斷數爲()
29.
1. #include <stdio.h>
2. class Base
3. {
4. public:
5. virtual int foo(int x){return x*10;}
6. int foo(char x[14]){return sizeof(x)+10;}
7. };
8. class Derived:public Base
9. {
10.int foo(int x){return x*20;}
11.virtual int foo(char x[10]){return sizeof (x)+20;}
12.};
13.int main(void)
14.{
15.Derived stDerived;
16.Base * pstBase=& stDerived;
17.char x[10];
18.printf(「%d\n」,pstBase->foo(100)+pstBase->foo(x));
19.return 0;
20.}
複製代碼
在32位環境下,以上程序的輸出結果是()
附加題(共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的十六進制值是?
今天上午騰訊二面。走出來了的時候,就預感到Game Over了。
能走到這一步。已經滿足了,心裏仍是很是感謝騰訊給予的此次面試機會。
騰訊筆試那天,整個考場就烏壓壓的一片人。畢竟是大公司。應聘的人特別多。筆試的時候,你們都挨着一塊兒作的。平生筆試仍是第一次緊挨着筆試的。
事實上也無所謂。真到筆試的時候,你們都忙着作本身的題目,哪有時間來偷瞄啊。
騰訊筆試題考察的比較基礎,但涉及的面很是廣,數據結構。操做系統。代碼閱讀。測試。邏輯,編譯原理。計算機網絡,數據庫等都考了個遍。本身平時複習準備的時候,很是多都沒開始,而且題目出的很是具備跳躍性,比較坑的是選擇題是多選題,遇到不會或拿不定的題目時。作的會很是鬱悶。
簡答題和填空題考的還比較基礎。但由於時間緊迫,匆匆算出答案,都沒法確定。
當中一道編程填空,對一個有序數組旋轉後,查找給定值是否存在,當時本身作的時候。匆匆的分析出大概的結果,都沒來得及細緻思考。事實上作錯了。另外一道閱讀程序題。也是心太急了,沒分析出就是求圓周率的意思。後面的附加題,對最後一題僅僅是大概提了一下思路,覺得不需要編碼實現,而後又轉向作倒數第二的編程題。題目倒不算難,僅僅是細節狀況比較多。有些繁瑣,作這道題的時候,時間也就剩十幾分鍾了,也就匆匆寫了一點。沒寫完。
事實上這個時候,我認爲應該去看看前面的那些題。檢測一下那些不太把握的題目。這點仍是很是重要,筆試要把本身能作的題目儘可能作好,後面一面的時候。面試官就說我筆試作的不太好。對當中作錯的幾道題又讓我重作了一遍。
筆試完的次日。你們都陸陸續續的收到短信,通知參加騰訊一面,僅僅有少數幾個同窗(包含我在內)沒收到。
當時認爲筆試的不太好,覺得筆試沒經過。4月1號,懷着鬱悶與忐忑的心情跟着幾個同窗來霸面。騰訊現場仍是讓人霸面的,有專門的人負責收集霸面簡歷。交完簡歷後。就在現場等霸面機會。
那天下午有幾個同窗來面試,順便也向他們交流面經。每個面試官問的問題都不同,有些愛問算法,有些愛問基礎。等到快7點的時候,幾乎相同這一天的面試快結束的時候。前臺才問是否有技術類霸面的。
這時纔等到霸面機會。
領着門牌號,來到面試官房間。面試官看了個人簡歷,問我是否來霸面的,我說我參加筆試以後,沒收到通知,因此過來霸面了。面試官說不該該,說個人面試官可能由於深知下暴雨,耽誤了。還沒來,還沒給我發通知。讓我回去等等,假設那個面試官沒來的話,他會通知我來面試。
聽到這話。感受忽然從地獄到了天堂。整個過程就像座過山車啊。騰訊的面試官仍是很是負責。很是和善的。懷着激動的心情和同窗回來了。
晚上收到短信通知4月2號一面。
4月2號一面,面試官大概是30歲左右。進去先讓我自我介紹一番。
而後看了一下個人筆試卷子。問我作的怎樣,我把我那些作錯的題目大概說了一下。接下來就開始對着試卷。針對我作錯的題目,又一次問我。當中有道題目,面試的時候仍是作錯了,仍是作成筆試那個答案。當時有所緊張。仍是沒分析出關鍵,後來面試官提示我一下。才找到問題所在,真心認爲很是尷尬啊。
因此面試回答問題,仍是要先想好再回答,相信本身能作出來。後面又問了寫試卷上最後一道算法題目,問我當時是怎麼作的。而後我給他解說了一下個人思路。面試官聽完以後,對那個題目進行變換。讓我繼續作,事實上變換以後。變簡單了,而後給他分析了一下。幾乎相同以後,開始面一些基礎的問題,比方malloc 和 new的區別啊,delete和free的區別啊,堆空間和棧空間的分配問題。各自能分配多大的空間,以及使用上的區別。最後就開始問網絡裏頭的那些東西。比方TCP和UDP的協議不一樣,TCP的流量控制及擁塞控制。後面兩個答的還可以,網絡一鞋基礎雖複習了。但那時給忘了。答的不是很是好。本想還覺得他會問我項目上的東西。他說這些留給二面的面試官,而後就讓我去二面了。
一面的面試官給個人感受仍是很是和善,我給他講的時候,也儘量在紙上畫出來。儘可能讓他明確我給他講的東西。總體來講,他給個人評價是基礎不錯。比較紮實。
二面的時候,面試官看上去比一面的還要年輕,但卻不像一面面試官那樣和善,拿到個人簡歷後,就直接問我項目上的事情,讓我自我陳述一下我作項目,但這個項目我沒介紹好,本打算介紹一些項目背景,好讓他理解,結果他嫌我有點囉嗦。有點不耐煩了,直接打斷說我基本的工做是什麼,而後我用簡單的說了一下。
爲讓他理解我作的工做,有由於涉及的東西太多。我簡化了問題來說,給他分析一下我是怎麼處理的,後面打算再講複雜點又是怎麼處理的,由簡及難展開。
結果剛給他介紹了基本問題以後,他就打斷我,認爲太簡單了。認爲我沒作什麼事。事實上是我要講的東西還沒展開。到這時,計劃全然被打亂。反倒成了他給我提解決方式,這個問題該怎麼處理。事實上哪有那麼簡單啊。
結果這麼一通折騰下來,好不easy才讓他明確咱們是作什麼的,結果他不提問了,很是多我作的工做還沒好好講。
接下來的時間就是問問簡歷上的事情,問了一些我熟悉哪些設計模式,用到哪些。其他主要還問了網絡的東西,比方網絡編程。網絡通訊同步的問題,TCP和UDP的那些東西,有些問的比較深,比方同步的問題。但都沒答好。而後問我之後想作那一塊。我說僅僅想作技術。關於雲計算這方面的,又問我爲何想作後臺,我說後臺有前景,不想作PC端。後來那面試官就不想面了,就說到此吧,問我有什麼需要問的。我說想聽聽他對個人評價,他說我基礎需要增強,工做經驗和項目經驗還需增強。心態要端正,不要挑三揀四。眼高手低。聽到這些心都涼了,而後就出來了。
總體來講二面不是很是順,不像一面,確實網絡裏的東西,看了一遍,仍是會記不住,來以前還想着複習一下網絡的東西,結果沒來得及看。項目介紹也沒介紹好,應該先大致介紹項目,在着重介紹本身所作的工做。感受面試過程仍是有點心急,回答問題仍是沒能作到想清楚再回答。
二面面試官問的仍是有水評的,能體現面試者的水準。
兩輪面試確實也發現一些存在的不足。想作後臺,網絡必須很是熟悉,從此要不斷的增強,彌補本身的不足。
好好準備後面其它公司的面試吧。
試卷類型:軟件開發A1
考試時長: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.歸併排序 D.冒泡排序
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)
[cpp] view plaincopy
int foo(int n)
{
if(n<2)return n;
returnfoo(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區的可能性有多大?(C)
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)
[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 瀏覽器訪問某頁面,HTTP協議返回狀態碼爲403時表示:(B)
A 找不到該頁面
B 禁止訪問
C 內部server訪問
D server繁忙
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.datasection C.registerset D.file fd
19 對於派生類的構造函數,在定義對象時構造函數的執行順序爲?(D)
1:成員對象的構造函數
2:基類的構造函數
3:派生類自己的構造函數
A.123 B.231 C.321 D.213
20 怎樣下降換頁錯誤?(BC)
A 進程傾向於佔用CPU
B 訪問局部性(localityof reference)知足進程要求
C 進程傾向於佔用I/O
D 使用基於最短剩餘時間(shortestremaining 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 觀察者模式
2、填空題(共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。
[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++;
elseNL++;
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);*/
3、Web前端方向簡單題(略)
4、其它方向簡答題(共2題。每題20分),選做題,不計入總分)
1 請設計一個排隊系統,可以讓每個進入隊伍的用戶都能看到本身在隊列中所處的位置和變化。隊伍可能隨時有人加入和退出。當有人退出影響到用戶的位置排名時需要及時反饋到用戶。
2 A,B兩個整數集合。設計一個算法求他們的交集。儘量的高效。
備註:收集試題來自IT面試論壇 ,試題和答案僅供參考。