- 相關(guān)推薦
tencent騰訊筆試題
騰訊的流程是一筆和四面。前三次面試都是技術(shù)面,hr面基本不刷人。筆試成績(jì)決定面試順序。技術(shù)面可能要寫(xiě)代碼,做智力題目。
主要是c/c++、數據結構、操作系統等方面的基礎知識。好像有sizeof、樹(shù)等選擇題。填空題是補充完整程序。附加題有寫(xiě)算法的、編程的、數據庫sql語(yǔ)句查詢(xún)的。還有一張開(kāi)放性問(wèn)題。
1.請定義一個(gè)宏,比較兩個(gè)數a、b的大小,不能使用大于、小于、if語(yǔ)句。
int const shift = sizeof(int)*8-1;
unsigned mask = (0x1
max_num = b;
else
max_num = a;
#define Max(a,b) ( a/b)?a:b
2.如何輸出源文件的標題和目前執行行的行數
int line= __LINE__;
char *file = __FILE__;
cout<<"file name is "<<(file)<<",line is "< 3.兩個(gè)數相乘,小數點(diǎn)后位數沒(méi)有限制,請寫(xiě)一個(gè)高精度算法
與大數相乘原理一樣,只是調整小數點(diǎn)位置,即有效小數個(gè)數
算法提示:
輸入 string a, string b;計算string c=a*b; 返回 c;
1, 紀錄小數點(diǎn)在a,b中的位置l1,l2,則需要小數點(diǎn)后移動(dòng)位置數為l=length(a)+length(b)-l1-l2-2;
2, 去掉a,b中的小數點(diǎn),(a,b小數點(diǎn)后移,使a,b變?yōu)檎麛?
3, 計算c=a*b; (要么用java的BigInterger搞, 要么自己用C++寫(xiě)高精度數乘法,超過(guò)百萬(wàn)位,用FFT,我就不細說(shuō),這都預先寫(xiě)過(guò)就別做了)
4, 輸出c,(注意在輸出倒數第l個(gè)數時(shí),輸出一個(gè)小數點(diǎn)。若是輸出的數少于l個(gè),就補0)
4.寫(xiě)一個(gè)病毒
while (1)
{
int *p = new int[10000000];
}
上面這個(gè)不對,沒(méi)有傳染性,寄生性……
5.不使用額外空間,將 A,B兩鏈表的元素交叉歸并將樹(shù)序列化 轉存在數組或 鏈表中
struct st{
int i;
short s;
char c;
};
sizeof(struct st);
8
char * p1;
void * p2;
int p3;
char p4[10];
sizeof(p1...p4) =?
4,4,4,10
5.讓你在100000000個(gè)浮點(diǎn)數中找出最大的10000個(gè),要求時(shí)間復雜度優(yōu)。
最小堆
二分查找
快速排序
雙向鏈表的刪除結點(diǎn)
有A、B、C、D四個(gè)人,要在夜里過(guò)一座橋。他們通過(guò)這座橋分別需要耗時(shí)1、2、5、10分鐘,只有一支手電,并且同時(shí)最多只能兩個(gè)人一起過(guò)橋。請問(wèn),如何安排,能夠在17分鐘內這四個(gè)人都過(guò)橋?
基礎題有15道選擇和2道讀程序填空。選擇題的確是很基礎,主要考數據結構,還有一些體系結構、數據庫的題目;讀程序題跟我們平時(shí)考試的差不多,一道是兩個(gè)升序鏈合并成一個(gè)升序鏈+遞歸,一道是四色著(zhù)色方案
附加題有幾道沒(méi)有看清楚。有一道是unix防僵死算法,最后一道是sql查詢(xún),還有幾道忘了,其中一個(gè)是很長(cháng)的程序題。。
發(fā)信人: charly (查理一世), 板面: Work
標 題: 騰訊筆試題
發(fā)信站: 飄渺水云間 (Sat Nov 11 10:55:33 2006), 轉信
15個(gè)選擇題,60分
一個(gè)程序填空,40分
三道附加題60分
附加題考的是
不用第三個(gè)變量實(shí)現兩個(gè)整形變量的交換linux的子進(jìn)程操作系統資源搶占管理,兩個(gè)進(jìn)程要對文件進(jìn)行獨占訪(fǎng)問(wèn),采用共享變量,判斷可行否書(shū)寫(xiě)strcpy()
時(shí)間兩個(gè)小時(shí),選擇題 15*4
然后是程序填空題 10 (2*5), 30 (10*3)
附加題用c++ 實(shí)現一個(gè)鏈地址hash。
程序填空題我就不說(shuō)了,比較easy的說(shuō),值得一提的是選擇題。
絕大部分考的是C++,我大致說(shuō)下主要部分吧:
涉及程序執行壓棧的:1道
涉及容器和迭代器的:4道
涉及虛擬函數以及dynamic_cast的 3道
涉及參數傳遞的 1道
簡(jiǎn)單的程序段落判斷 2道
涉及類(lèi)的靜態(tài)成員賦值的 1道
剩下的是雜七雜八的。
不管怎么說(shuō),假如你把c++ primer 仔細閱讀了一遍,基本上沒(méi)問(wèn)題?嫉挠行┘,沒(méi)有涉及算法和編譯等知識,所以我同屋一個(gè)兄弟很郁悶,因為他linux底層比較好,本來(lái)報的是后臺開(kāi)發(fā),哪知道結果考這種類(lèi)型的題目。
程序填空的考了文件操作,以及數組移動(dòng)等。附加題比較簡(jiǎn)單的說(shuō),只要把數據結構的hash部分好好看,然后用class組裝一下就ok了。最后祝大家好運,今年騰訊計劃50%的是校園招聘,感覺(jué)很不多
【tencent騰訊筆試題】相關(guān)文章:
tencent騰訊 筆試題07-10
Tencent Club(騰訊匯)是干什么用的呢?07-09
關(guān)于騰訊筆試題07-10
關(guān)于騰訊技術(shù)類(lèi)筆試題07-10
一道騰訊的面試題07-09
跪求騰訊前端面試題07-10
騰訊實(shí)習生筆試題 網(wǎng)頁(yè)重構07-10
華為筆試題硬件筆經(jīng)07-11
騰訊技術(shù)類(lèi)校園招聘筆試試題(A8卷)07-12
軟件工程師筆試題目11-騰訊07-10