騰訊的流程是一筆和四面。前三次面試都是技術(shù)面,hr面基本不刷人。筆試成績決定面試順序。技術(shù)面可能要寫代碼,做智力題目。
m.georgedearborne.com主要是c/c++、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等方面的基礎(chǔ)知識。好像有sizeof、樹等選擇題。填空題是補(bǔ)充完整程序。附加題有寫算法的、編程的、數(shù)據(jù)庫sql語句查詢的。還有一張開放性問題。
m.georgedearborne.com1.請定義一個宏,比較兩個數(shù)a、b的大小,不能使用大于、小于、if語句。
m.georgedearborne.comint const shift = sizeof(int)*8-1;
m.georgedearborne.comunsigned mask = (0x1<
m.georgedearborne.comif ( (a-b)&mask )
m.georgedearborne.commax_num = b;
m.georgedearborne.comelse
m.georgedearborne.commax_num = a;
m.georgedearborne.com#define Max(a,b) ( a/b)?a:b
m.georgedearborne.com2.如何輸出源文件的標(biāo)題和目前執(zhí)行行的行數(shù)
m.georgedearborne.comint line= __LINE__;
m.georgedearborne.comchar *file = __FILE__;
m.georgedearborne.comcout<<"file name is "<<(file)<<",line is "<
m.georgedearborne.com3.兩個數(shù)相乘,小數(shù)點(diǎn)后位數(shù)沒有限制,請寫一個高精度算法與大數(shù)相乘原理一樣,只是調(diào)整小數(shù)點(diǎn)位置,即有效小數(shù)個數(shù)
m.georgedearborne.com算法提示:
m.georgedearborne.com輸入 string a, string b;計算string c=a*b; 返回 c;
m.georgedearborne.com1, 紀(jì)錄小數(shù)點(diǎn)在a,b中的位置l1,l2,則需要小數(shù)點(diǎn)后移動位置數(shù)為l=length(a)+length(b)-l1-l2-2;
m.georgedearborne.com2, 去掉a,b中的小數(shù)點(diǎn),
m.georgedearborne.com(a,b小數(shù)點(diǎn)后移,使a,b變?yōu)檎麛?shù))
m.georgedearborne.com3, 計算c=a*b;
m.georgedearborne.com(要么用java的BigInterger搞, 要么自己用C++寫高精度數(shù)乘法,超過百萬位,用FFT,我就不細(xì)說,這都預(yù)先寫過就別做了
m.georgedearborne.com)
m.georgedearborne.com4, 輸出c
m.georgedearborne.com(注意在輸出倒數(shù)第l個數(shù)時,輸出一個小數(shù)點(diǎn)。若是輸出的數(shù)少于l個,就補(bǔ)0)
m.georgedearborne.com4.寫一個病毒
m.georgedearborne.comwhile (1)
m.georgedearborne.com{
m.georgedearborne.comint *p = new int[10000000];
m.georgedearborne.com}
m.georgedearborne.com上面這個不對,沒有傳染性,寄生性……
m.georgedearborne.com5.不使用額外空間,將 A,B兩鏈表的元素交叉歸并將樹序列化轉(zhuǎn)存在數(shù)組或 鏈表中
m.georgedearborne.comstruct st{
m.georgedearborne.comint i;
m.georgedearborne.comshort s;
m.georgedearborne.comchar c;
m.georgedearborne.com};
m.georgedearborne.comsizeof(struct st);
m.georgedearborne.com8
m.georgedearborne.comchar * p1;
m.georgedearborne.comvoid * p2;
m.georgedearborne.comint p3;
m.georgedearborne.comchar p4[10];
m.georgedearborne.comsizeof(p1m.georgedearborne.com.p4) =?
m.georgedearborne.com4,4,4,10
m.georgedearborne.com5.讓你在100000000個浮點(diǎn)數(shù)中找出最大的10000個,要求時間復(fù)雜度優(yōu)。
m.georgedearborne.com最小堆
m.georgedearborne.com二分查找
m.georgedearborne.com快速排序
m.georgedearborne.com雙向鏈表的刪除結(jié)點(diǎn)
m.georgedearborne.com6、有A、B、C、D四個人,要在夜里過一座橋。他們通過這座橋分別需要耗時1、2、5、10分鐘,只有一支手電,并且同時最多只能兩個人一起過橋。請問,如何安排,能夠在17分鐘內(nèi)這四個人都過橋?
m.georgedearborne.com基礎(chǔ)題有15道選擇和2道讀程序填空。選擇題的確是很基礎(chǔ),主要考數(shù)據(jù)結(jié)構(gòu),還有一些體系結(jié)構(gòu)、數(shù)據(jù)庫的題目;讀程序題跟我們平時考試的差不多,一道是兩個升序鏈合并成一個升序鏈+遞歸,一道是四色著色方案附加題有幾道沒有看清楚。有一道是unix防僵死算法,最后一道是sql查詢,還有幾道忘了,其中一個是很長的程序題。
m.georgedearborne.comm.georgedearborne.com