騰訊2012實習生筆經

才智咖 人氣:1.31W

從4月24號參加騰訊2012實習生招聘以來,一直都很忙碌,現在終於可以靜下心來,好好總結這一週以來的經歷,希望對以後找工作有所幫助。

騰訊2012實習生筆經

之前實驗室研二的師兄們,在實驗室說騰訊開始招聘2010年實習生,對於他們來說,這也是今年下半年找工作一個很好的練兵。當時,我聽了這個訊息沒什麼反映,因為以目前的狀況,碩士階段能出去實習的機會等於零。其實自己還是非常樂意出去實習的,主要是來自於導師的要求,前幾屆有一個師兄,拿到了 baidu的實習生offer,導師硬是不讓他出去。正因為如此,開學到現在自己基本上就打消了出去實習的念頭。不過這次抱著去試試的態度,竟然能走到最後,感覺自己還是蠻幸運的。

4月23日 週五

網上投遞簡歷的時間已經截止,在晚上回宿舍之前都完全沒有想去參加筆試的念頭,一般明知道結果的事情,自己是不想去做的。晚上從實驗室回到宿舍,其他三哥們已經躺在了床上,宿舍的DJ跟我說,明天他們三一起去華科參加筆試,只有XM一個人在網上投了簡歷,他和AK都是去霸王筆的,問我要不要一起去。心想:不管結果怎麼樣,去試試也行,就當去見識一下騰訊的筆試題。抱著這樣的想法決定明天去華科參加筆試。

4月24日 週六 霸王筆

早上八點起床,和DJ,QK,XM我們四個一起過完早,從學校去華科,在華科的教十二樓前面等到10點,過去霸王筆的人還不在少數,估計騰訊也預料到了,簡單的登記了一下之後,很順利的進入了考場。從十點到十二點,兩個小時的時間,出來後感覺自己做的還算可以。後來面試的時候看到自己的成績第一個數字是7。

試卷分兩三個題型:選擇題(20*3),填空題(10*4),選做題。

選擇題:

第一題:UML類圖,A、B、C三個類,類A中包含類B的一個例項和類C的多個例項。畫出ABC三者的UML類圖。

第二題:段頁式虛擬儲存管理方案的特點。

空間浪費小、儲存共享容易、儲存保護容易、能動態連線。

段頁式管理是段式管理和頁式管理結合而成,兼有段式和頁式管理的優點,每一段分成若干頁,再按頁式管理,頁間不要求連續(能動態連線);用分段方法分配管理作業,用分頁方法分配管理記憶體(空間浪費小)。

段頁式管理採用二維地址空間,如段號(S)、頁號(P)和頁內單元號(D);系統建兩張表格每一作業一張段表,每一段建立一張頁表,段表指出該段的'頁表在記憶體中的位置;地址變換機構類似頁式機制,只是前面增加一項段號。所以儲存共享容易、儲存保護容易。

第三題:校園網使用者無法訪問校外站點,在windows下,用什麼命令判斷故障時發生在校園網內還是校園網外。

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

該診斷實用程式通過向目的地傳送具有不同生存時間 (TL) 的 Internet 控制資訊協議 (CMP) 迴應報文,以確定至目的地的路由。路徑上的每個路由器都要在轉發該 ICMP 迴應報文之前將其 TTL 值至少減 1,因此 TTL 是有效的跳轉計數。當報文的 TTL 值減少到 0 時,路由器向源系統發回 ICMP 超時資訊。通過傳送 TTL 為 1 的第一個迴應報文並且在隨後的傳送中每次將 TTL 值加 1,直到目標響應或達到最大 TTL 值,Tracert 可以確定路由。通過檢查中間路由器發發回的 ICMP 超時 (ime Exceeded) 資訊,可以確定路由器。注意,有些路由器“安靜”地丟棄生存時間 (TLS) 過期的報文並且對 tracert 無效。

引數

-d

指定不對計算機名解析地址。

-h maximum_hops

指定查詢目標的跳轉的最大數目。

-jcomputer-list

指定在 computer-list 中鬆散源路由。

-w timeout

等待由 timeout 對每個應答指定的毫秒數。

target_name

目標計算機的名稱。

第四題:Internet中域名與IP地址之間的翻譯:DNS伺服器。

第五題:最小生成樹(差點算出,漏掉一條邊,汗...)

第六題:給定以有限自動機的狀態轉換圖,請寫出其正則表示式。

首先要對有限自動機進行簡化,利用兩狀態等價的條件,將非終態和終態集合分別進行分割,得到{0,1}和{2}(將狀態2和3合併)。這個題貌似沒有正確選項,應該是(a|ab)*bb(a|b)*。

第七題:快排,基礎題。

void QuickSort(Datatype a[], int low, int high)

{

int i, j;

Datatype temp = a[low];

i = low;

j = high;

while( i < j)

{

while( i < j & < a[j]) j--;

if(i < j ) a[i++] = a[j];

while( i < j & a < ) i++;

if( i < j ) a[j--] = a;

}

a = temp;

if( low < i ) QuickSort(a, low, i-1);

if( j < high ) QuickSort(a, j+1, high);

}

第八題:SQL語言題。

第九題:RISC的特點。

第十題:採用線性探測的開放定址解決衝突,夠著雜湊表。

第十一題:sizeof的值

#include

using namespace std;

void Fun(char a[200])

{

cout << sizeof(a) << endl;

}

int main()

{

char str[] = "jfakd";

char* p = str;

cout << sizeof(str) <

cout << sizeof(p) << endl; //4

Fun(str); //4

return 0;

}

輸入結果為:6 4 4。

第十二題:活動圖,就最小完成時間。

第十三題:頁式儲存管理中,由邏輯地址求實體地址。

第十四題:軟體測試,路徑覆蓋法進行測試至少需要多少個測試用例。

第十五題:系統可靠度計算。

第十六題:已知中序遍歷和後續遍歷求中序遍歷。這個題差點沒做出來...

第十七題:為程序分配記憶體的演算法。

最佳適應,最差適應,首次適應,迴圈首次適應

第十八題:linux系統中的Chmod命令。

語法為:chmod abc file

其中a,b,c各為一個數字,分別表示User、Group、及Other的許可權。

r=4,w=2,x=1

若要rwx屬性則4+2+1=7;

若要rw-屬性則4+2=6;

若要r-x屬性則4+1=7。

+ 表示增加許可權、- 表示取消許可權、= 表示唯一設定許可權。

r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過為可執行。

u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

第十九題:物件導向的概念。

第二十題:銀行家演算法。

填空題:

第一題:貌似是二分查詢的程式,記不清楚了,比較簡單。

第二題:就公交路線的最小換成次數,Dijkastra演算法。

加分題:寫出手機輸入法程式的簡單思路。

4月25日 週日 一面

能夠有後面的二面和HR面的機會,主要還是因為前面的筆試和一面自己感覺還可以。

今天凌晨DJ收到了一面的通知,我們宿舍幾個就去網上查一面的名單,還好,我們宿舍有三個進了面試,DJ,XM和我。由於是人生中第一次比較正規的面試,心裡還是比較期待,晚上還有點小興奮。本來打算今天下去和GF一起出去逛街的,既然得到了這麼一次面試,還是想去見識一下面試到底是什麼感覺,特別是騰訊這種公司的面試機會。就和GF商量,要她和我一起去面試的地點,等我面試完再一起去逛街,可惜後來時間沒來得及,等我面試完已經下午六點了,在那邊吃完飯就和GF一起會學校了,在此向GF表示道歉(真的變成了大姐帶著小弟去面試了,呵呵...)。我的面試時間是筆試的第二天下午4:30,兩點半從學校出發,三點就到了。在那等了一個多小時,鬱悶的是,在簽到的時候,騰訊的HR開始通過我的手機號碼還沒有在他們的系統中找到我的面試名單。我說我是霸王筆,才通過姓名找到我的資訊,面試地點被安排在722房間。

在722房間外面等面試時,聽旁邊728房間的哥們說他們是面客服端方向的,我明明報的是客服端方向的,不知道怎麼被調到了722,而且當時也不知道722是什麼方向的(現在才知道,722是搜尋方向的)。本來想當天去調的,如果當時調到客戶端方向,現在心中應該更有底一些。

4:30,我前面一個面試的哥們還在面,面試官(Jerry Zhang,後來通過另一個面試官知道的)就讓我進去寫兩個程式。

第一題:找出三位數中滿足x = abc + ab +c這種形式的所有數。

當時寫了兩種方法:

第一種:三層迴圈,遍歷a,b,c的所有可能取值,得到的x在三位數種則輸出。時間複查度10^3。

第二種:把ab看成一個整體:

x - c = 10 * ab + c + ab

x - 2 * c = 11 * ab

給定一個數只要能減掉0, 2, 4, 6, 8, 10, 12, 14, 16, 18以後能被11整除,那麼這個數滿足上面的條件。

回來和實驗室的師兄們討論時,這個題可以轉換成求11的倍數再加上0, 2, 4, 6, 8, 10後,在100-999範圍中的所有數。

第二題:字串處理,單詞換行輸出,單詞如果超出每一行的字元數,則可以分多行輸出。

關鍵是要思路清晰,還有一些特殊處理的情況,當時沒有考慮如果一個單詞長度佔多行時,沒有換行輸出,漢,當時就被Jerry Zhang看出來了。

做完這兩個題,Jerry Zhang稍微看了一下,基本很快就能看懂我的程式,並且很快指出哪些地方有些問題,佩服...接著給我做了兩題,不寫程式碼,只講思路。

第三題:16匹馬,四個跑道,沒賽一輪只能得到相對名詞,問最好要多少行才能得到前三。

面試之前,一個師兄回來說了這個題,思路還是比較清楚,但是給面試官德答案比最佳次數(7次)多了一次。

step 1:分成四組,每組賽一輪。 共4輪

a11 a12 a13 a14

a21 a22 a23 a24

a31 a32 a33 a34

a41 a42 a43 a44

淘汰 a41 a42 a43 a44

step 2:每組第一名賽一輪。共5輪

假設這一輪先後次序是a11 a12 a13 a14,得到:

a11 a12 a13

a21 a22

a31

其中a11一定是16匹馬中的第一名。

剩下的經過兩輪可以得到跑的最快的兩匹。

 第四題:求四位數中因數最多的數。

開始這個題沒有理會Jerry的意思,有的慌神,後來在他的提示下,也沒有把思路給搞懂。

回來想了想,還是比較簡單的。

首先分解因式: x = 2^p1 * 3^p2 * 5^p3 * ... *13^p6

為什麼到13就可以了?2*3*5*7*11*13 > 10000

如要四位數因數個數最多,因儘量包含前面的質因子。

因數個數 = (p1+1) * (p2+1) * ... * (p6+1),排列組合的問題。

後面問了一些c++,linux,stl方面的問題,很受打擊。

4月26日 週一

在同學LRF的推薦下,中午再次受到了一面的面試通知,是客戶端方向,正合我意。當我跑去面試時,我很傻很天真的跟面試官說我昨天已經參加過面試,並且還跟他說了在外面等待面試的時候,問了一面的面試官Jerry Zhang(這名字也是從這位面試官這知道的),說我已經通過了一面。結果剛進入728房間就被放出來了,鬱悶,幸好這次去指導了自己過來一面的訊息,也沒算白跑。

4月27日 週二 二面

二面過來,我才知道,之前一面面的是搜尋方向,如果上了去騰訊soso實習。通過二面完完全全感覺到自己就像只井底之蛙,一頭只知道做自己的事情,也不瞭解現在外的競爭壓力有多大,而更加堅定了我暑假出去實習的想法。

二面在831房間(開始還傻傻的跑到813房間外面等,不知道是HR的發音有問題,還是我的聽力有問題),前面華科一哥們出來後直接說錄了,他興奮的同時也給我潑了一盆冷水。他研一研二都是做搜尋的,這方面知識確實比我多很多。

在和他們聊天時,才知道那麼一群人中間就我一個DD的,其他都是whu,hust的,頓時感覺的學校的差別有如此之大。

的在那也見識到了一群NB人,hust一個ACM對,才大三,已經在MicroSoft實習了暑假,whu一大四的哥們,今年保送到中科院計算機所,去年在soso實習,今年想調到北京去實習。想想和別人的差距,就感覺到自卑...

二面總體來說不算很順利就,出來就以為自己掛了。

先說了一下專案經歷,說的時候也不是很流利,沒有什麼條理,最後把面試官引導網路方面去了,問了我一大堆網路方面的問題,沒有幾個回答比較滿意的。

這次面試專案經驗都說的不是很好,有待加強。

4月28日 週三

下午和GF在書店買書的時候,接到了HR面的通知,當時那個高興勁就不說了。

4月29日 週四 HR面

進去十分鐘就出來了,問了一下無關緊要的問題,說要我等通知。

這次參加騰訊的實習生招聘,從開始一點想法都沒有,通過參加霸王筆到最後的HR面,感覺自己已經很幸運了,也發現了自己專業知識並不紮實,很多基礎性的知識還是不懂,比如C++,STL,網路程式設計,Linux程式設計,資料結構,演算法等等。這幾天都在網上搜索有關暑假實習的資訊,不管導師最後的意見是什麼,儘自己最大的努力爭取暑假能夠到滿意的公司去實習。

更多面試筆試經歷分享,請關注本站:

網易筆經

安徽移動筆試面試經歷

2012小米實習生筆試題

立白2012暑期實習生筆試歸來

群碩軟體2012屆實習生筆試題經驗

微軟2012暑期實習生校園招聘筆試題