本人IT屌絲一枚,畢業(yè)4年,5年經(jīng)驗(yàn)(大四在騰訊實(shí)習(xí)一年,實(shí)習(xí)生工資,工作內(nèi)容同正式員工一樣)。非常幸運(yùn),先后收到過(guò)騰訊、百度和阿里的offer,在這里跟大家分享下騰訊面試經(jīng)驗(yàn),同諸君共勉。
本人職業(yè)生涯的起點(diǎn)開(kāi) 始于騰訊,能入職騰訊其實(shí)非常偶然。09年騰訊校招的時(shí)候,在本人的學(xué)校(學(xué)校是2本就不說(shuō)名字了)開(kāi)宣講會(huì),學(xué)院很多同學(xué)都去了,因?yàn)楫?dāng)時(shí)對(duì)騰訊興趣不 大所以沒(méi)去,當(dāng)時(shí)希望去中軟金蝶這樣的傳統(tǒng)軟件公司。一個(gè)宿舍的兄弟要去參加騰訊校招的筆試,我作為親友團(tuán)陪他一起去。騰訊的hr很nice給了我一張筆 試題和意愿表讓我填。本來(lái)我想從學(xué)校北門直接坐車回家,既然來(lái)了反正也沒(méi)什么事就寫了,算是為以后找工作熱身。騰訊面試筆試內(nèi)容主要是編程基礎(chǔ)和排序查找 算法之類的題,還有用程序?qū)崿F(xiàn)遞歸這樣的,具體的忘記了。
筆試題感覺(jué)很簡(jiǎn)單,附加題也答上了(本人專業(yè)課學(xué)霸、其他科學(xué)渣)。答完也沒(méi)檢查就坐車回家了,吃飯的時(shí)候收到騰訊叫我第二天去一面的短信,剛好我爸爸媽媽在南山的同學(xué)去我家做客,就乘阿姨的順風(fēng)車回學(xué)校準(zhǔn)備第二天的面試。
騰訊一面的面試官非常 的nice也是我后來(lái)的組長(zhǎng),非常有人格魅力的一個(gè)人,我去的時(shí)候還特意給我倒了一杯水。騰訊面試官員主要問(wèn)我了解的技術(shù),我就介紹了下在大學(xué)期間做的 C++、.Net和J2EE項(xiàng)目,規(guī)則引擎、財(cái)務(wù)系統(tǒng)、學(xué)業(yè)預(yù)警系統(tǒng)、爬蟲引擎這些。因?yàn)橥耆珱](méi)準(zhǔn)備所以回憶起來(lái)有點(diǎn)吃力,還好面試官?zèng)]有刁難,發(fā)揮還可 以。問(wèn)了Java的內(nèi)存機(jī)制,會(huì)不會(huì)導(dǎo)致內(nèi)存泄漏,這個(gè)答的不太好;問(wèn)了下hibernate的機(jī)制和作用都回答上了,讓寫了下爬蟲程序的核心代碼和正則 表達(dá)式。
一面整整面了30分鐘 感覺(jué)有戲,就回去好好準(zhǔn)備2面的內(nèi)容,把當(dāng)年工程代碼翻出來(lái)復(fù)習(xí)以免再出現(xiàn)忘記的尷尬。很快第二天就通知去進(jìn)行技術(shù)二面。技術(shù)二面就是傳說(shuō)中的壓力面,被 好一頓虐待。項(xiàng)目中的問(wèn)題一個(gè)沒(méi)問(wèn),問(wèn)的全是操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)的問(wèn)題。還好專業(yè)都是A+,大多數(shù)題都回答上了。問(wèn)了下我樹(shù)轉(zhuǎn)二叉樹(shù),這個(gè)小意思。還問(wèn)了 Java內(nèi)存機(jī)制和是否會(huì)有內(nèi)存泄漏什么情況下會(huì)泄漏,good這個(gè)在一面回去之后就看了,回答的完美。最后一題是問(wèn)的查找QQ號(hào)。小case,寫了個(gè)二 分查找;他說(shuō)你認(rèn)為我會(huì)滿意嗎,我想了想又寫了一個(gè)哈希查找,他說(shuō)還是不滿意。這個(gè)時(shí)候我已經(jīng)有點(diǎn)小不爽了,就說(shuō)不知道。在有點(diǎn)尷尬的氣氛中結(jié)束了面試。 當(dāng)時(shí)覺(jué)得沒(méi)戲了,有點(diǎn)失落;丶铱戳讼滤惴▽(dǎo)論,原來(lái)有一個(gè)極為高效的算法是二叉查找,騰訊面試,唉,人家已經(jīng)提示了,但是還沒(méi)想到,有點(diǎn)小遺憾。
過(guò)了一周收到騰訊的 hr面試邀請(qǐng)的時(shí)候,說(shuō)實(shí)話非常的意外。聽(tīng)說(shuō)我們學(xué)校本科生全軍覆沒(méi),就我一個(gè)過(guò)了2面,研究生只有3個(gè)過(guò)了2面。hr面沒(méi)問(wèn)什么特別的,此處不表。一周 后收到騰訊的正式offer,還是有點(diǎn)小激動(dòng)的。薪水方面超過(guò)了我的預(yù)期,但最主要的是一面的面試官看起來(lái)很厲害的樣子,感覺(jué)騰訊也是一家很厲害的公司。
在騰訊干了四年,正式 三年,實(shí)習(xí)一年。后來(lái)開(kāi)始負(fù)責(zé)招聘,我們部門在選擇求職者的時(shí)候主要看聰明程度、視野、大局觀、氣場(chǎng)等軟實(shí)力。當(dāng)時(shí)我負(fù)責(zé)面了一個(gè)孩子,各方面挺不錯(cuò)的, 組長(zhǎng)覺(jué)得也還行,但是被總監(jiān)斃掉了,原因是太軟不夠霸氣。還有一個(gè)哥們技術(shù)和基礎(chǔ)感覺(jué)都還行,但是被組長(zhǎng)斃掉了,原因是視野和聰明度不夠。
所以準(zhǔn)備面試騰訊的同 學(xué),建議多留意近期的互聯(lián)網(wǎng)的最新動(dòng)態(tài),多練練表達(dá)。如果能在面試中批判一下近期騰訊的決策失誤和產(chǎn)品缺陷,無(wú)論對(duì)錯(cuò)都會(huì)認(rèn)為這個(gè)孩子不錯(cuò),那么一定會(huì)加 分的;但是也不能過(guò)了,完全說(shuō)的不對(duì)還侃侃而談會(huì)讓人覺(jué)得你這個(gè)人很浮夸也是會(huì)被斃掉的。尺度的拿捏很重要。還有一點(diǎn),語(yǔ)速快而且語(yǔ)氣堅(jiān)決目光堅(jiān)毅自信的 比語(yǔ)速慢表達(dá)不流暢的同學(xué)成功幾率高。我面過(guò)一個(gè)哥們,后來(lái)他頂替了我領(lǐng)域負(fù)責(zé)人的位置,這是后話。他在面試的時(shí)候就非常的自信,如果問(wèn)一些“弱智”問(wèn)題 會(huì)被他反諷,當(dāng)時(shí)大家就覺(jué)得這個(gè)人很厲害,面試也很順利,1天連續(xù)面了5面,當(dāng)天就發(fā)了offer。騰訊面試,騰訊社招是電話面、技術(shù)一面、組長(zhǎng)面、平臺(tái) 總監(jiān)面、部門經(jīng)理面、hr面?偣6面,面談是5面。
面試的時(shí)候首先要自 信,如果能做到不卑不亢其實(shí)就已經(jīng)成功了一半。我感覺(jué)大多數(shù)程序員都不太自信,給人感覺(jué)有點(diǎn)文弱,如果你自己都對(duì)自己不自信,怎么能奢求公司對(duì)你自信呢。 但是也不能太自信,自信心爆棚就是自大,面過(guò)一個(gè)2年開(kāi)發(fā)經(jīng)驗(yàn)的問(wèn)他技術(shù)都不知道,就談項(xiàng)目。騰訊面試,問(wèn)他項(xiàng)目中做了什么就談項(xiàng)目是什么。在我這就被斃 掉了還問(wèn)你們能不能開(kāi)到30w,我只能讓他回家等消息了。
騰訊面試題整理——并附有網(wǎng)友的解答,感興趣的同學(xué)參考下
一不定項(xiàng)選擇題(共25題,每題4分,共100分,少選、錯(cuò)選、多選均不得分)
1已知一棵二叉樹(shù),如果先序遍歷的節(jié)點(diǎn)順序是:ADCEFGHB,中序遍歷是:CDFEGHAB,則后序遍歷結(jié)果為:(D)
A.CFHGEBDAB.CDFEGHBAC.FGHCDEBAD.CFHGEDBA
根據(jù)先序遍歷和中序遍歷能唯一確定二叉樹(shù):
注意:要想唯一確定一顆二叉樹(shù),必須已知兩種遍歷,并且其中必須有中序,因?yàn)橄刃蚝秃笮虿荒艽_定左右子樹(shù),如下圖所示:
從上圖中我們可以看出,沒(méi)有中序是不能確定一顆樹(shù)的!
2下列哪兩個(gè)數(shù)據(jù)結(jié)構(gòu),同時(shí)具有較高的查找和刪除性能?(CD)
A.有序數(shù)組B.有序鏈表C.AVL樹(shù)D.Hash表
數(shù)組的刪除性能比較差,而鏈表的查找性能比較差!
3下列排序算法中,哪些時(shí)間復(fù)雜度不會(huì)超過(guò)nlogn?(BC)
A.快速排序B.堆排序C.歸并排序D.冒泡排序
快排和冒泡排序在最壞情況下的時(shí)間復(fù)雜度是O(n^2);
4初始序列為18625473一組數(shù)采用堆排序,當(dāng)建堆(小根堆)完畢時(shí),堆所對(duì)應(yīng)的二叉樹(shù)中序遍歷序列為:(A)
A.83251647
B.32851467
C.38251674
D.82351476
建立小根堆的過(guò)程如下圖所示:
5當(dāng)n=5時(shí),下列函數(shù)的返回值是:(A)
intfoo(intn){
if(n<2){
returnn;
}
else
returnfoo(n-1)+foo(n-2);
}
A.5B.7C.8D.10
6S市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%
30.01%/(30.01%+50.015%)=28.6%
7Unix系統(tǒng)中,哪些可以用于進(jìn)程間的通信?(ABCD)
進(jìn)程間通信主要包括管道,系統(tǒng)IPC(包括消息隊(duì)列,信號(hào)量,共享存儲(chǔ)),SOCKET.
A.SocketB.共享內(nèi)存C.消息隊(duì)列D.信號(hào)量
8靜態(tài)變量通常存儲(chǔ)在進(jìn)程哪個(gè)區(qū)?(C)
A.棧區(qū)B.堆區(qū)C.全局區(qū)D.代碼區(qū)
棧區(qū)一般用于存儲(chǔ)比較小的臨時(shí)變量;
堆區(qū)一般用于存儲(chǔ)比較大的臨時(shí)變量;
代碼區(qū)用于存儲(chǔ)代碼;
全局區(qū)用于存儲(chǔ)全局變量,靜態(tài)變量等。
9查詢性能(B)
A.在Name字段上添加主鍵
B.在Name字段上添加索引
C.在Age字段上添加主鍵
D.在Age字段上添加索引
如果經(jīng)常依據(jù)特定的字段搜索表或?qū)Ρ淼挠涗涍M(jìn)行排序,則可以通過(guò)創(chuàng)建該字段的索引來(lái)加快執(zhí)行這些操作的
10IP地址131.153.12.71是一個(gè)(B)類IP地址。
A.AB.BC.CD.D
A類:0打頭
B類:10打頭
C類:110打頭
D類:1110打頭
11下推自動(dòng)識(shí)別機(jī)的語(yǔ)言是:(C)
A.0型語(yǔ)言B.1型語(yǔ)言C.2型語(yǔ)言D.3型語(yǔ)言
參考:維基百科
12下列程序的輸出是:(D)
#defineadd(a+b)a+b
intmain()
{
printf("%d\n",5add(3+4));
return0;
}
53+4=19
A.23B.35C.16D.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)154=112成立,則系統(tǒng)采用的是(A)進(jìn)制。
A.6B.7C.8D.9
逐個(gè)帶入即可:
對(duì)于6進(jìn)制而言:15的十進(jìn)制就是11;112的十進(jìn)制就是44,114=44。
15某段文本中各個(gè)字母出現(xiàn)的頻率分別是{a:4,b:3,o:12,h:7,i:10},使用哈夫曼編碼,則哪種是可能的編碼:(A)
Aa(000)b(001)h(01)i(10)o(11)
Ba(0000)b(0001)h(001)o(01)i(1)
Ca(000)b(001)h(01)i(10)o(00)
Da(0000)b(0001)h(001)o(000)i(1)