国产精品一久久香蕉产线看-国产精品一区在线播放-国产精品自线在线播放-国产毛片久久国产-一级视频在线-一级视频在线观看免费

騰訊社招面試經歷

時間:2022-06-28 05:15:57 面試 我要投稿

騰訊社招面試經歷

前提:本人2011年畢業于一個普通本科,工作不到2年。

騰訊社招面試經歷

15號晚上7點多,正在炒菜做飯,騰訊忽然打電話來問我對他們的Linux C++的職位是否感興趣,我表達了我感興趣之后,就開始了一段簡短的電話面試,電話面試主要內容:C++和TCP socket通信的一些基礎知識。之后就問我一道算法題:10億個整數,隨機生成,可重復,求最大的前1萬個。當時我一下子就蒙了,沒反應過來,何況我還正在燒著菜呢,所以我就沒細想,說了一個連我都鄙視我的思路:我說導入數據庫,然后用select語句選出最大的前1萬個?赡芪业拇鸢高B面試官都無語了,所以他就沒再往下問了,不過他還是通知我明天16號早上去騰訊大廈筆試,由于我明天沒空,就推遲到了17號早上10點。至此,整個電話面試就結束了。過后,我想了想,10億個整數選前1萬個大數,其實可以用:分治法+hash+多路歸并排序來做,比如說,先把10億個整數對1000取模,存儲到1000個文件中,然后對每一個文件進行內部排序(比如快速排序,從大到小排序),然后再對這1000個文件進行多路歸并,取出前1萬個最大的數即可。

17號早上,懷著忐忑不安的心情,終于來到了騰訊大廈,在前臺說明情況后,領了一個臨時訪問牌,一個看起來30多歲的中年人(暫且稱為面試官A)接待了我,給我一份筆試題,時間為1小時。5道程序輸出寫結果或者程序找錯,5道編程題。這5道編程題大概為:

1、將一個4字節的整數的二進制表示中的001替換為011,輸出替換后的整數。

2、將一個數組右移幾位,比如數組為1 2 3 4,右移一位即為4 1 2 3。

3、輸入一個表示十六進制的字符串,轉換為十進制的整數輸出。

4、單鏈表反轉。

5、一個8*8的方格子,A點在左下角,B點在右上角,求A點到B點的最短路徑有多少條。

第1題,我理解錯題意了,順便鄙視一下自己,我當時的想法是這樣的:整數有正有負,不能拿該整數直接右移,所以我用了一個unsigned int mode = 7進行左移,是直接拿整數與mode相與,得到的結果與001比較,相同就替換,不同就把mode左移3位再與整數相與。面試官A直接指出我的思路有問題,相等替換后mode左移3位,不相等應該將mode左移1位,而不是左移3位,只有相等才把mode左移3位。這里順便說一下,筆試完之后,面試官A是拿著你的筆試題一題一題的問你,根據你的題目結果要你說出你的計算過程的。答案:將一個4字節整數的二進制表示中的001替換為011

第2題,由于這道題我之前做過,思路就是:先把左邊反轉,再把右邊反轉,最后把整個數組反轉就可以得到結果。但是悲劇的是,面試官A要我用數學證明我這種方法的正確性,o(□)o,最后我只能說:我之前做過這道題。如果當時,我能套用線性代數中矩陣的轉置的思想來說明這道題,那么這道題的證明可能說得過去。所以說,要對你寫的代碼負責,要知其然,更要知其所以然。類似題目:左旋轉字符串

第3題,進制轉換,簡單,不過要分別考慮大小寫字母。

第4題,簡單,就不說了。答案在我的另一篇博文:單鏈表逆置

第5題,我也是想錯了方向,由于沒有時間了,代碼我沒寫,我只寫了個思路:即從A點開始用廣度優先搜索,第一個到達B點的肯定是最短路徑,記下此時A點到B點的步數,然后統計從A到B點等于這個步數的個數。其實,廣度優先搜索只能求出最短路徑,但不能求出所有的最短路徑個數,要想求出所有最短路徑的個數,要用回溯法(后面我會給出代碼)。想想當時面試的時候還振振有詞的向面試官A講解我的思路,也不知道面試官A是怎么想的,也不指出我的錯誤,怕是怕我難堪吧。

面試官A面完之后已經是12點多了,這是又來了一個27、8歲的大哥(暫且稱為面試官B)來面試我,一上來就給我一道編程題,實現大數相加,給出代碼。我又刷刷的寫了20多分鐘,認為沒問題了,就拿給面試官B看,看了一小會,就指出我的代碼錯在什么地方了,(哎,畢竟是手寫代碼,錯誤肯定很多),要我改正,一步一步的引導我將我的代碼改正,非常和藹的一位大哥哥,也是和我聊的最久的,聊到了下午2點多,差不多兩個鐘頭,期間主要問的問題各種各樣都有:

1、技術相關:map的實現機制是怎么樣的啊;模板類的偏特化;動態加載dll和靜態加載dll的區別;線程和進程的區別;TCP的四次揮手協議;給定兩個數組a和b,求所有在a數組中不在b數組的元素;快速排序的平均時間復雜度是多少,證明它的平均時間復雜度等。這些問題我都一一說出了我的答案,主要是我看過一點、<算法導論>,所以沒覺的有什么難度,好像他也覺得我回答的還不錯。

2、其他:3點一刻,求此時時針和分針夾角的度數;對騰訊這個公司怎么看;為什么離職;個人規劃等。

面試官B面完之后,叫我先出去吃午飯,下午回來還有一次面試。吃飯歸來之后,又來了一位也是27、8歲的大哥(暫且稱為面試官C),給我幾道邏輯題,要我20分鐘寫出答案,在我和他講解我的邏輯題之后,他問了幾個我不熟悉的或者已經記不清答案的問題:一個進程由哪些方面構成,我記得一書上有講,但我記不清了,吱吱嗚嗚也沒說出一個所以然來,之后又問了一個我不懂怎樣回答的問題:你認為你的優勢是什么?作為一個二流學校畢業的絲,工作還不到2年,沒學歷,項目經驗又沒什么亮點。實在不懂怎么說,憋了半天只說出一句:我基礎還行。之后就沒在問問題了,最后面試官B通知我可以回去了。哎,這可能就是導致我最后悲劇的原因吧。

總結:

1、沒有大公司面試經驗,并且由于事先也完全沒有做準備,好像趕鴨子上架

2、基礎一定要扎實,C++,數據結構和算法,操作系統,網絡編程要熟悉。

3、對自己寫的代碼負責

4、騰訊的員工非常友好

近期目標:

1、看數據結構和算法

2、熟悉C++編程規范。

3、多看別人寫的優秀源碼,爭取自己寫的代碼簡潔易懂

最后:

給出筆試的最后一道編程題的題目和我寫的答案,如果有任何問題,請指正。

題目:給定一個8*8的方格子,如下圖所示,求A點到B點的最短路徑有多少條?用算法實現。

答:從圖中可以看出,A點到B點的最短路徑為16,即A點橫走8小格,縱走8小格才能最快到達B點,這是排列組合的問題,即從最短路徑16中選取8個橫走的小格子(或者從最短路徑16中選取8個縱走的小格子)。所以從A點到B點的最短路徑條數,直接可以算出來,即為:

代碼如下:


size_t g_num = 0; //統計A點到B點的最短路徑條數

void shortestPathNumber(char grid[9][9], int row, int col, int &step)

{

if (row < 0 || row > 8 || col < 0 || col > 8 || grid[row][col] == '*' || step > 16)

{

return;

}

if (row == 0 && col == 8)

{

if (step == 16) //已到達B點,且等于最短路徑16,就累加

{

g_num++;

}

}

else

{

grid[row][col] = '*'; //標記該點已訪問

step++;

shortestPathNumber(grid, row, col + 1, step);

shortestPathNumber(grid, row + 1, col, step);

shortestPathNumber(grid, row, col - 1, step);

shortestPathNumber(grid, row - 1, col, step);

grid[row][col] = '.'; //回溯

step--;

}

}

int _tmain(int argc, _TCHAR* argv[])

{

char grid[9][9] = {0};

int step = 0;

shortestPathNumber(grid, 8, 0, step); //從A點開始搜索

cout<<"A點到B點的最短路徑條數為: "<<g_num<<endl;< p="">

return 0;

}

size_t g_num = 0; //統計A點到B點的最短路徑條數

void shortestPathNumber(char grid[9][9], int row, int col, int &step)

{

if (row < 0 || row > 8 || col < 0 || col > 8 || grid[row][col] == '*' || step > 16)

{

return;

}

if (row == 0 && col == 8)

{

if (step == 16) //已到達B點,且等于最短路徑16,就累加

{

g_num++;

}

}

else

{

grid[row][col] = '*'; //標記該點已訪問

step++;

shortestPathNumber(grid, row, col + 1, step);

shortestPathNumber(grid, row + 1, col, step);

shortestPathNumber(grid, row, col - 1, step);

shortestPathNumber(grid, row - 1, col, step);

grid[row][col] = '.'; //回溯

step--;

}

}

int _tmain(int argc, _TCHAR* argv[])

{

char grid[9][9] = {0};

int step = 0;

shortestPathNumber(grid, 8, 0, step); //從A點開始搜索

cout<<"A點到B點的最短路徑條數為: "<

return 0;

}

運行界面如下:


【騰訊社招面試經歷】相關文章:

社招面試騰訊 PM 的面試經歷07-13

我的騰訊面試經歷07-11

華為社招面試07-11

阿里 社招 面試06-29

騰訊社招面試一般幾輪啊?都五面了07-13

騰訊校招技術類崗位面試流程是怎樣的?07-13

華為社招面試流程(版本2)07-11

騰訊筆試題以及騰訊面試07-13

華為社招面試注意事項06-29

騰訊筆試與面試06-29

主站蜘蛛池模板: 成年人免费在线视频 | 最近2019中文字幕免费看最新 | 免费一区二区三区在线视频 | 久久久久久久性高清毛片 | 伊人日日操 | 中文字幕免费在线看 | 日本一本久 | 亚洲成在人天堂在线 | 国产一区高清视频 | 国内精品视频一区二区三区 | 国产亚洲精品国产福利在线观看 | 九色福利视频 | 午夜激情一区 | 欧美一区在线观看视频 | 中国女人hd | 无遮挡黄动漫在线观看播放 | 久久久国产视频 | 欧美精品国产综合久久 | 免费国产成人高清无线看软件 | 偷偷操视频 | 国产啊v在线观看 | 精品一区二区三区在线视频观看 | 国产精品一区二区不卡 | 夜晚福利网站 | 亚洲经典在线中文字幕 | 香蕉视频ww| 日日射天天干 | 欧美一区二区三区在线播放 | 性欧美video超清 | 写真片 理论 在线播放 | 亚洲福利网址 | 久久综合九色综合97小说 | 欧美日韩国产一区 | 日本最新免费二区 | 日本a中文字幕 | 波多结衣一区二区三区 | 月婷婷色狠狠 | aⅴ一区二区三区无卡无码 aⅴ在线免费观看 | 欧美视频一区二区三区在线观看 | 日本三级视频 | 一级做a爱片久久蜜桃 |