- 騰訊實(shí)習(xí)生招聘筆試題目以及答案 推薦度:
- 相關(guān)推薦
騰訊2012實(shí)習(xí)生筆試題目
1、計(jì)算表達(dá)式x6+4x4+2x3+x+1最少需要做()次乘法
A、3 B、4 C、5 D、6
2、給定3個(gè)int類(lèi)型的正整數(shù)x,y,z,對(duì)如下4組表達(dá)式判斷正確的選項(xiàng)()
int a1=x+y-z; int b1=x*y/z;
int a2=x-z+y; int b2=x/z*y;
int c1=x<>z; int d1=x&y|z;
int c2=x>>z<
A、a1一定等于a2
B、b1一定定于b2
C、c1一定等于c2
D、d1一定等于d2
3、程序的完整編譯過(guò)程分為是:預(yù)處理,編譯,匯編等,如下關(guān)于編譯階段的編譯優(yōu)化的說(shuō)法中不正確的是()
A、死代碼刪除指的是編譯過(guò)程直接拋棄掉被注釋的代碼;
B、函數(shù)內(nèi)聯(lián)可以避免函數(shù)調(diào)用中壓棧和退棧的開(kāi)銷(xiāo)
C、For循環(huán)的循環(huán)控制變量通常很適合調(diào)度到寄存器訪問(wèn)
D、強(qiáng)度削弱是指執(zhí)行時(shí)間較短的指令等價(jià)的替代執(zhí)行時(shí)間較長(zhǎng)的指令
4、如下關(guān)于進(jìn)程的描述不正確的是()
A、進(jìn)程在退出時(shí)會(huì)自動(dòng)關(guān)閉自己打開(kāi)的所有文件
B、進(jìn)程在退出時(shí)會(huì)自動(dòng)關(guān)閉自己打開(kāi)的網(wǎng)絡(luò)鏈接
C、進(jìn)程在退出時(shí)會(huì)自動(dòng)銷(xiāo)毀自己創(chuàng)建的所有線程
D、進(jìn)程在退出時(shí)會(huì)自動(dòng)銷(xiāo)毀自己打開(kāi)的共享內(nèi)存
5、在如下8*6的矩陣中,請(qǐng)計(jì)算從A移動(dòng)到B一共有多少種走法?要求每次只能向上揮著向右移動(dòng)一格,并且不能經(jīng)過(guò)P;
A、492
B、494
C、496
D、498
6、SQL語(yǔ)言中刪除一個(gè)表的指令是()
A、DROP TABLE
B、DELETE TABLE
C、DESTROY TABLE
D、REMOVE TABLE
7、某產(chǎn)品團(tuán)隊(duì)由美術(shù)組、產(chǎn)品組、client程序組和server程序組4個(gè)小組構(gòu)成,每次構(gòu)建一套完整的版本時(shí),需要各個(gè)組發(fā)布如下資源。美術(shù)組想客戶(hù)端提供圖像資源(需要10分鐘),產(chǎn)品組向client組合server提供文字內(nèi)容資源(同時(shí)進(jìn)行,10分鐘),server和client源代碼放置在不同工作站上,其完整編譯時(shí)間均為10分鐘切編譯過(guò)程不依賴(lài)于任何資源,client程序(不包含任何資源)在編譯完畢后還需要完成對(duì)程序的統(tǒng)一加密過(guò)程(10分鐘)。可以請(qǐng)問(wèn),從要完成一次版本構(gòu)建(client與server的版本代碼與資源齊備),至少需要多少時(shí)間()
A、60分鐘
B、40分鐘
C、30分鐘
D、20分鐘
8、如下關(guān)于編譯鏈接的說(shuō)法錯(cuò)誤的是()
A、編譯優(yōu)化會(huì)使得編譯速度變慢
B、預(yù)編譯頭文件可以?xún)?yōu)化程序的性能
C、靜態(tài)鏈接會(huì)使得可執(zhí)行文件偏大
D、動(dòng)態(tài)鏈接庫(kù)會(huì)使進(jìn)程啟動(dòng)速度偏慢
9、如下關(guān)于鏈接的說(shuō)法錯(cuò)誤的是()
A、一個(gè)靜態(tài)庫(kù)中不能包含兩個(gè)同名全局函數(shù)的定義
B、一個(gè)動(dòng)態(tài)庫(kù)中不能包含兩個(gè)同名全局函數(shù)的定義
C、如果兩個(gè)靜態(tài)庫(kù)都包含一個(gè)同名全局函數(shù),他們不能同時(shí)被鏈接
D、如果兩個(gè)動(dòng)態(tài)庫(kù)都包含一個(gè)同名全局函數(shù),他們不能同時(shí)被鏈接
10、排序算法的穩(wěn)定是指,關(guān)鍵碼相同的記錄排序前后相對(duì)位置不發(fā)生改變,下面哪種排序算法是不穩(wěn)定的()
A、插入排序
B、冒泡排序
C、快速排序
D、歸并排序
11、下列說(shuō)法中錯(cuò)誤的是:()
A、插入排序某些情況下復(fù)雜度為O(n)
B、排序二叉樹(shù)元素查找的復(fù)雜度可能為O(n)
C、對(duì)于有序列表的排序最快的是快速排序
D、在有序列表中通過(guò)二分查找的復(fù)雜度一定是O(n log2n)
12、在程序設(shè)計(jì)中,要對(duì)兩個(gè)16K×16K的多精度浮點(diǎn)數(shù)二維數(shù)組進(jìn)行矩陣求和時(shí),行優(yōu)先讀取和列優(yōu)先讀取的區(qū)別是()
A、沒(méi)區(qū)別
B、行優(yōu)先快
C、列優(yōu)先快
D、2種讀取方式速度為隨機(jī)值,無(wú)法判斷
13、字符串www.qq.com所有非空子串(兩個(gè)子串如果內(nèi)容相同則只算一個(gè))個(gè)數(shù)是()
A、1024
B、1018
C、55
D、50
14、TCP的關(guān)閉過(guò)程,說(shuō)法正確的是()
A、TIME_WAIT狀態(tài)稱(chēng)為MSL(Maximum Segment Lifetime)等待狀態(tài)
B、對(duì)一個(gè)established狀態(tài)的TCP連接,在調(diào)用shutdown函數(shù)之前調(diào)用close接口,可以讓主動(dòng)調(diào)用的一方進(jìn)入半關(guān)閉狀態(tài)
C、主動(dòng)發(fā)送FIN消息的連接端,收到對(duì)方回應(yīng)ack之前不能發(fā)只能收,在收到對(duì)方回復(fù)ack之后不能發(fā)也不能收,進(jìn)入CLOSING狀態(tài)
D、在已經(jīng)成功建立連接的TCP連接上,如果一端收到RST消息可以讓TCP的連潔端繞過(guò)半關(guān)閉狀態(tài)并允許丟失數(shù)據(jù)。
15、操作系統(tǒng)的一些特別端口要為特定的服務(wù)做預(yù)留,必須要root權(quán)限才能打開(kāi)的端口描述正確的是()
A、端口號(hào)在64512-65535之間的端口
B、所有小于1024的每個(gè)端口
C、RFC標(biāo)準(zhǔn)文檔中已經(jīng)聲明特定服務(wù)的相關(guān)端口,例如http服務(wù)的80端口,8080端口等
D、所有端口都可以不受權(quán)限限制打開(kāi)
16、找工作的季節(jié)馬上就到了,很多同學(xué)去圖書(shū)館借閱《面試寶典》這本書(shū),現(xiàn)在圖書(shū)館外有6名同學(xué)排隊(duì),其中3名同學(xué)要將手中的《面試寶典》還至圖書(shū)館,有3名同學(xué)希望從圖書(shū)館中可以借到《面試寶典》,若當(dāng)前圖書(shū)館內(nèi)已無(wú)庫(kù)存《面試寶典》,要保證借書(shū)的3名同學(xué)可以借到書(shū),請(qǐng)問(wèn)這6位同學(xué)有多少種排隊(duì)方式()
A)60
B)120
C)180
D)360
二、填空題
1、除了10進(jìn)制、2進(jìn)制之外,16進(jìn)制表達(dá)式在計(jì)算機(jī)領(lǐng)域中也經(jīng)常使用(例如各種字符集的定義描述),下式:(2012)10+(AF1)16的結(jié)果是( )(請(qǐng)用10進(jìn)制表示)。
2、ack(3 , 3)的執(zhí)行結(jié)果是多少?
int ack(int m,int n)
{
if(m == 0)
return n + 1;
else if(n == 0)
return ack(m-1,1);
else
return ack(m - 1 , ack(m , n-1));
}
3、某互聯(lián)網(wǎng)產(chǎn)品(例如,一款網(wǎng)絡(luò)游戲)同時(shí)在線曲線(Average Concurrency Users,ACU)24小時(shí)數(shù)據(jù)如下圖所示,F(xiàn)已知全天平均在線人數(shù)為5000人,玩家每次登陸后平均在線時(shí)長(zhǎng)為2小時(shí)。請(qǐng)你估計(jì)一下,平均下來(lái)每分鐘約有( )個(gè)玩家登錄。
4、如下SQL語(yǔ)句是需要列出一個(gè)論壇版面第一頁(yè)(每頁(yè)顯示20個(gè))的帖子(post)標(biāo)題(title),并按照發(fā)布(create_time)降序排列:
SELECT title FROM post( )create_time DESC( )0,20
5、為了某項(xiàng)目需要,我們準(zhǔn)備構(gòu)造了一種面向?qū)ο蟮哪_本語(yǔ)言,例如,對(duì)所有的整數(shù),我們都通過(guò)Integer類(lèi)型的對(duì)象來(lái)描述。在計(jì)算“1+2”時(shí),這里的 “1”,“2”和結(jié)果“3”分別為一個(gè)Integer對(duì)象。為了降低設(shè)計(jì)復(fù)雜度,我們決定讓Integer對(duì)象都是只讀對(duì)象,也即在計(jì)算a=a+b后,對(duì)象a引用的是一個(gè)新的對(duì)象,而非改a所指對(duì)象的值?紤]到性能問(wèn)題,我們又引入兩種優(yōu)化方案:(1)對(duì)于數(shù)值相等的Integer對(duì)象,我們不會(huì)重復(fù)創(chuàng)建。例如,計(jì)算“1+1”,這里兩個(gè)“1”的引用的是同一個(gè)對(duì)象——這種設(shè)計(jì)模式叫做();(2)腳本語(yǔ)言解析器啟動(dòng)時(shí),默認(rèn)創(chuàng)建數(shù)值范圍[1,32]的 32個(gè)Integer對(duì)象,F(xiàn)在,假設(shè)我們要計(jì)算表達(dá)式“1+2+3+…+40”,在計(jì)算過(guò)程需要?jiǎng)?chuàng)建的Integer對(duì)象個(gè)數(shù)是()。
6、甲、乙兩個(gè)人在玩猜數(shù)字游戲,甲隨機(jī)寫(xiě)了一個(gè)數(shù)字,在[1,100]區(qū)間之內(nèi),將這個(gè)數(shù)字寫(xiě)在了一張紙上,然后乙來(lái)猜。
如果乙猜的數(shù)字偏小的話(huà),甲會(huì)提示:“數(shù)字偏小”
一旦乙猜的數(shù)字偏大的話(huà),甲以后就再也不會(huì)提示了,只會(huì)回答“猜對(duì) 或 猜錯(cuò)”
問(wèn): 乙至少猜 多少次 猜可以準(zhǔn)確猜出這個(gè)數(shù)字,在這種策略下, 乙猜的第一個(gè)數(shù)字是 。
7、仔細(xì)閱讀以下函數(shù)
Int fuc(int m,int n)
{
if(m%n)==0
{
return n;
}
else
{
return fuc(n,m%n)
}
}
請(qǐng)問(wèn)func(2012,2102)的結(jié)果是( )。
加分題:
1、給定一個(gè)數(shù)組a[N],我們希望構(gòu)造數(shù)組b[N],其中b=a[0]*a[1]*...*a[N-1]/a。在構(gòu)造過(guò)程:
不允許使用除法;
要求O(1)空間復(fù)雜度和O(n)時(shí)間復(fù)雜度;
除遍歷計(jì)數(shù)器與a[N] b[N]外,不可使用新的變量(包括棧臨時(shí)變量、對(duì)空間和全局靜態(tài)變量等);
請(qǐng)用程序?qū)崿F(xiàn)并簡(jiǎn)單描述。
2、 20世紀(jì)60年代,美國(guó)心理學(xué)家米爾格蘭姆設(shè)計(jì)了一個(gè)連鎖信件實(shí)驗(yàn)。米爾格蘭姆把信隨即發(fā)送給住在美國(guó)各城市的一部分居民,信中寫(xiě)有一個(gè)波士頓股票經(jīng)紀(jì)人的名字,并要求每名收信人把這封信寄給自己認(rèn)為是比較接近這名股票經(jīng)紀(jì)人的朋友。這位朋友收到信后再把信寄給他認(rèn)為更接近這名股票經(jīng)紀(jì)人的朋友。最終,大部分信件都寄到了這名股票經(jīng)紀(jì)人手中,每封信平均經(jīng)受6.2詞到達(dá)。于是,米爾格蘭姆提出六度分割理論,認(rèn)為世界上任意兩個(gè)人之間建立聯(lián)系最多只需要6個(gè)人。
假設(shè)QQ號(hào)大概有10億個(gè)注冊(cè)用戶(hù),存儲(chǔ)在一千臺(tái)機(jī)器上的關(guān)系數(shù)據(jù)庫(kù)中,每臺(tái)機(jī)器存儲(chǔ)一百萬(wàn)個(gè)用戶(hù)及其的好友信息,假設(shè)用戶(hù)的平均好友個(gè)數(shù)大約為25人左右。
第一問(wèn):請(qǐng)你設(shè)計(jì)一個(gè)方案,盡可能快的計(jì)算存儲(chǔ)任意兩個(gè)QQ號(hào)之間是否六度(好友是1度)可達(dá),并得出這兩位用戶(hù)六度可達(dá)的話(huà),最短是幾度可達(dá)。
第二問(wèn):我們希望得到平均每個(gè)用戶(hù)的n度好友個(gè)數(shù),以增加對(duì)用戶(hù)更多的了解,現(xiàn)在如果每臺(tái)機(jī)器一秒鐘可以返回一千條查詢(xún)結(jié)果,那么在10天的時(shí)間內(nèi),利用給出的硬件條件,可以統(tǒng)計(jì)出用戶(hù)的最多幾度好友個(gè)數(shù)?如果希望得到更高的平均n度好友個(gè)數(shù),可以怎樣改進(jìn)方案?
3、段頁(yè)式虛擬存儲(chǔ)管理方案的特點(diǎn)。
參考答案:
選擇題:
A。原式=x^2 * (x^4 + 4 * x^2 + 2*x) + x + 1,x^2用一次乘法,x^4看成是(x^2)^2,這樣用掉第二次乘法,外面的x^2 * () 是第三次乘法,所有常系數(shù)乘法都展開(kāi)成連加。
A。一開(kāi)始覺(jué)得A肯定不對(duì),因?yàn)闀?huì)溢出,但不知道其實(shí)正如微機(jī)原理課上原的,溢出會(huì)有標(biāo)識(shí)位,連加減的時(shí)候會(huì)考慮到這個(gè)標(biāo)識(shí)位的作用,這樣A就對(duì)了。
A。死代碼是指永遠(yuǎn)不會(huì)執(zhí)行到的代碼,不是注釋?zhuān)热鏸f(0){…},大括號(hào)里的就是死代碼。
D。共享內(nèi)存銷(xiāo)毀了,會(huì)對(duì)其他正在使用這段內(nèi)存的進(jìn)程造成破壞。
A。A走到B共需要12步,其中7步必須向右,5步必須向上,但次序可以不同,因此是C(7,12),要求P不能走,那么走到P的可能次數(shù)是C(3,6),從P走到B的可能次數(shù)是C(4,6),因此結(jié)果是C(7,12) – C(3,6)*C(4,6)=492。
A。
D。除了加密以外,剩下的事情在第一個(gè)10分鐘內(nèi)可以并發(fā)完成。
D。
C。
C?炫胚x主元會(huì)打亂原次序。
C。A當(dāng)數(shù)據(jù)完全有序時(shí)就是O(n),B當(dāng)數(shù)退化成線性表時(shí)(只有一叉時(shí))出現(xiàn),C快排只對(duì)無(wú)序、隨機(jī)序列有優(yōu)勢(shì)。D是對(duì)的。
B。
D。長(zhǎng)度1的子序列有10-2-1-1=6個(gè),長(zhǎng)度2子序列有9-1=8個(gè),長(zhǎng)度3有8個(gè),長(zhǎng)度4有7個(gè)…長(zhǎng)度10有1個(gè),加起來(lái)就是50。
D。
C。
C。卡特蘭數(shù),C(n,2n)/(n+1),n是入棧元素的個(gè)數(shù),這里n=3,C(3,6)/4=5,同學(xué)彼此是不同的,因此要全排列一下,結(jié)果為5*3!*3!=180。
填空題:
4813。
61。這個(gè)有規(guī)律的,只要耐心一點(diǎn)就行了,ack(1,x)=2+x,ack(2,x)=3+x*2,ack(3,0)=5,ack(3,1)=ack(3,0)*2+3=13,ack(3,2)=ack(3,1)*2+3=29,ack(3,3)=ack(3,2)*3+2=61。
不會(huì)。
ORDER BY; LIMIT
享元模式,40。1到7以及他們的和是不用創(chuàng)建的,從8開(kāi)始,28(是1到7的和)+8=36,36需要?jiǎng)?chuàng)建,36+9=45,45需要?jiǎng)?chuàng)建…依次類(lèi)推,在加數(shù)是32之前(含32)需要?jiǎng)?chuàng)建的對(duì)象是32-8+1=25,某數(shù)+32=某數(shù)之后33至40所表示的加數(shù)也要?jiǎng)?chuàng)建,這樣有8個(gè)加數(shù) + 8個(gè)和,共有16個(gè)數(shù)需要?jiǎng)?chuàng)建,注意,加數(shù)中包含36,這個(gè)我們已經(jīng)創(chuàng)建了,所以有25+8+8-1=40個(gè)數(shù)的對(duì)象需要?jiǎng)?chuàng)建。
14 次,第一次猜測(cè)數(shù)字為14。思想是:每次猜大后,嘗試猜測(cè)的總次數(shù)是相等的。第一次猜測(cè)時(shí),在1到100之間選擇某個(gè)數(shù)N1后,有三種情況,一是直接選中了,這個(gè)概率比較小,對(duì)研究沒(méi)有意義,二是選擇偏大了,這時(shí)不再提示了,只能在1至N1-1之間一個(gè)一個(gè)地選了,三是選擇偏小了,這時(shí)還有提示,可以繼續(xù)在[N1+1,100]中選擇另外的數(shù)N2?梢灾溃舻谝淮尉筒洛e(cuò)了,那么嘗試總次數(shù)是N1-1+1=N1次(因?yàn)槭窃赱1,N1-1]之間逐一取值,且N1本身用掉一次),若第一次猜得偏小,但第二次猜大了,嘗試總次數(shù)是[N1+1,N2-1]的元素個(gè)數(shù)加2(加2是N2和N1本身猜用掉一次),即為N2-N1+1次,根據(jù)思想“每次猜錯(cuò)后,嘗試猜測(cè)的總次數(shù)相等”,有N1=N2-N1+1,可知N2=2N1-1,增量為N1-1。類(lèi)似地,前兩次猜得偏小,但第三次猜大,嘗試總次數(shù)為[N2+1,N3-1]的元素個(gè)數(shù)加3,即N3-N2+2,那么有N3-N2+2=N1,N3=N2+N1-2,增量為N1-2……依此類(lèi)推,增量是隨著猜測(cè)次數(shù)的增加而逐1地減少。設(shè)最后一次猜測(cè)為k,則Nk=N1+(N1-1)+(N1-2)+…1,Nk是等于或大于100的第一個(gè)數(shù),根據(jù)等差數(shù)列求和公式可以算出N1=14,N2=27,N3=39… (14,27,39,50,60,69,77,84,90,95,99)。
2。遞歸。
【騰訊實(shí)習(xí)生筆試題目】相關(guān)文章:
騰訊編輯筆試題目11-21
騰訊筆試題目,絕對(duì)有用12-11
2016騰訊筆試題目及答案08-19
騰訊產(chǎn)品及游戲策劃筆試題目03-26
騰訊用戶(hù)研究/交互設(shè)計(jì)筆試題目12-13
騰訊筆試感受02-23
騰訊奔波筆試記03-24
筆試題目11-06