十月下旬腾讯,网易游戏,百度盛大迅雷校园招聘笔试题集锦(10.25)
十月下旬騰訊,網(wǎng)易游戲,百度最新校園招聘筆試題集錦
引言
? ? 筆試啊,筆試,面試啊,面試,找工作啊,找工作。此文十月百度,阿里巴巴,迅雷搜狗最新面試十一題已經(jīng)整理了最新的面試題70道,本文依次整理騰訊,網(wǎng)易游戲,百度等各大公司最新校園招聘的筆試題,后續(xù)將繼續(xù)整理十月下旬的筆/面試題。
騰訊2011.10.15校園招聘會筆試題
1、下面的排序算法中,初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o影響的是(B)
A、插入排序??????????????????????B、堆排序??????????????????? C、冒泡排序???????????????????? D、快速排序
2、以下關(guān)于Cache的敘述中,正確的是(B)
A、CPU中的Cache容量應(yīng)大于CPU之外的Cache容量
B、Cache的設(shè)計思想是在合理成本下提高命中率
C、Cache的設(shè)計目標(biāo)是容量盡可能與主存容量相等
D、在容量確定的情況下,替換算法的時間復(fù)雜度是影響Cache命中率的關(guān)鍵因素
3、數(shù)據(jù)存儲在磁盤上的排列方式會影響I/O服務(wù)的性能,一個圓環(huán)的磁道上有10個物理塊,10個數(shù)據(jù)記錄R1------R10存放在這個磁道上,記錄的安排順序如下表所示:
物理塊 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
邏輯記錄 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 | R10 |
假設(shè)磁盤的旋轉(zhuǎn)速度為20ms/周,磁盤當(dāng)前處在R1的開頭處,若系統(tǒng)順序掃描后將數(shù)據(jù)放入單緩沖區(qū)內(nèi),處理數(shù)據(jù)的時間為4ms(然后再讀取下個記錄),則處理這10個記錄的最長時間為(C)
A、180ms?????????????????????????? B、200ms??????????????????????????C、204ms???????????????????????????? D、220ms
4、隨著IP網(wǎng)絡(luò)的發(fā)展,為了節(jié)省可分配的注冊IP地址,有一些地址被拿出來用于私有IP地址,以下不屬于私有IP地址范圍的是(C)(私網(wǎng)IP地址:10.0.0.0- 10.255.255.255 ;172.16.0.0 - ? 172.31.255.255;192.168.0.0-192.168.255.255。故選C)
A、10.6.207.84????????????????????????????? B、172.23.30.28????????????????????? C、172.32.50.80?????????????? D、192.168.1.100
5、下列關(guān)于一個類的靜態(tài)成員的描述中,不正確的是(D)
A、該類的對象共享其靜態(tài)成員變量的值????????????????????????????? B、靜態(tài)成員變量可被該類的所有方法訪問?????????????????
C、該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量?????????????????D、該類的靜態(tài)數(shù)據(jù)成員變量的值不可修改
6、已知一個線性表(38,25,74,63,52,48),假定采用散列函數(shù)h(key) = key%7計算散列地址,并散列存儲在散列表A【0....6】中,若采用線性探測方法解決沖突,則在該散列表上進行等概率成功查找的平均查找長度為(C)
A、1.5????????????????? B、1.7???????????????????????????C、2.0?????????????????????? D、2.3
依次進行取模運算求出哈希地址:
A | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
記錄 | 63 | 48 | ? | 38 | 25 | 74 | 52 |
查找次數(shù) | 1 | 3 | ? | 1 | 1 | 2 | 4 |
74應(yīng)該放在下標(biāo)為4的位置,由于25已經(jīng)放在這個地方,所以74往后移動,放在了下標(biāo)為5的位置上了。
由于是等概率查找,所以結(jié)果為:1/6*(1+3+1+1+2+4)= 2.0
7、表達(dá)式“X=A+B*(C--D)/E”的后綴表示形式可以為(C)
A、XAB+CDE/-*=???????????????????? B、XA+BC-DE/*=??????????????????????C、XABCD-*E/+=???????????????????????? D、XABCDE+*/=
8、(B)設(shè)計模式將抽象部分與它的實現(xiàn)部分相分離。
A、Singleton(單例)???????????????????B、?Bridge(橋接)?????????????????????
C、?Composite(組合)???????????????????????????????????D、 Facade(外觀)
9、下面程序的輸出結(jié)果為多少?
view plain輸出結(jié)果為:6?? 5???? 4????? 4
對字符串進行sizeof操作的時候,會把字符串的結(jié)束符“\0”計算進去的,進行strlen操作求字符串的長度的時候,不計算\0的。
數(shù)組作為函數(shù)參數(shù)傳遞的時候,已經(jīng)退化為指針了,Func函數(shù)的參數(shù)str_arg只是表示一個指針,那個100不起任何作用的。
10、下面程序的輸出結(jié)果為多少?
view plain輸出結(jié)果為:????? 4???????? 5
strlen只是對傳遞給Func函數(shù)的那個字符串求長度,跟str_arg中的那個2是沒有任何關(guān)系的,即使把2改為200也是不影響輸出結(jié)果的。。
11、到商店里買200的商品返還100優(yōu)惠券(可以在本商店代替現(xiàn)金)。請問實際上折扣是多少?
算法編程題:
1、給定一個字符串,求出其最長的重復(fù)子串。
思路:使用后綴數(shù)組,對一個字符串生成相應(yīng)的后綴數(shù)組后,然后再排序,排完序依次檢測相鄰的兩個字符串的開頭公共部分。
這樣的時間復(fù)雜度為:
生成后綴數(shù)組 O(N)
排序 O(NlogN*N) 最后面的 N 是因為字符串比較也是 O(N)
依次檢測相鄰的兩個字符串 O(N * N)
總的時間復(fù)雜度是 O(N^2*logN),?
1、對于一個內(nèi)存地址是32位、內(nèi)存頁是8KB的系統(tǒng)。0X0005F123這個地址的頁號與頁內(nèi)偏移分別是多少。
2、如果X大于0并小于65536,用移位法計算X乘以255的值為:-X+X<<8
X<<8-X是不對的,X<<8,已經(jīng)把X的值改變了(訂正:X<<8是個臨時變量,不會改變X的值,就像a+1不會改變a一樣)。
3、一個包含n個節(jié)點的四叉樹,每個節(jié)點都有四個指向孩子節(jié)點的指針,這4n個指針中有???3n+1?? 個空指針。
4、以下兩個語句的區(qū)別是:
view plain5、計算機在內(nèi)存中存儲數(shù)據(jù)時使用了大、小端模式,請分別寫出A=0X123456在不同情況下的首字節(jié)是,大端模式:0X12????????? ?小端模式:0X56?????????? X86結(jié)構(gòu)的計算機使用??小端??? 模式。
一般來說,大部分用戶的操作系統(tǒng)(如windows, FreeBsd,Linux)是小端模式的。少部分,如MAC OS,是大端模式 的。
6、在游戲設(shè)計中,經(jīng)常會根據(jù)不同的游戲狀態(tài)調(diào)用不同的函數(shù),我們可以通過函數(shù)指針來實現(xiàn)這一功能,請聲明一個參數(shù)為int *,返回值為int的函數(shù)指針:
int (*fun)(int *)
7、在一冒險游戲里,你見到一個寶箱,身上有N把鑰匙,其中一把可以打開寶箱,假如沒有任何提示,隨機嘗試,問:
(1)恰好第K次(1=<K<=N)打開寶箱的概率是多少。
(2)平均需要嘗試多少次。
?一、算法設(shè)計
1、設(shè)rand(s,t)返回[s,t]之間的隨機小數(shù),利用該函數(shù)在一個半徑為R的圓內(nèi)找隨機n個點,并給出時間復(fù)雜度分析。
2、為分析用戶行為,系統(tǒng)常需存儲用戶的一些query,但因query非常多,故系統(tǒng)不能全存,設(shè)系統(tǒng)每天只存m個query,現(xiàn)設(shè)計一個算法,對用戶請求的query進行隨機選擇m個,請給一個方案,使得每個query被抽中的概率相等,并分析之,注意:不到最后一刻,并不知用戶的總請求量。
3、C++ STL中vector的相關(guān)問題:
????(1)、調(diào)用push_back時,其內(nèi)部的內(nèi)存分配是如何進行的?
??? (2)、調(diào)用clear時,內(nèi)部是如何具體實現(xiàn)的?若想將其內(nèi)存釋放,該如何操作?
二、系統(tǒng)設(shè)計
正常用戶端每分鐘最多發(fā)一個請求至服務(wù)端,服務(wù)端需做一個異常客戶端行為的過濾系統(tǒng),設(shè)服務(wù)器在某一刻收到客戶端A的一個請求,則1分鐘內(nèi)的客戶端任何其它請求都需要被過濾,現(xiàn)知每一客戶端都有一個IPv6地址可作為其ID,客戶端個數(shù)太多,以至于無法全部放到單臺服務(wù)器的內(nèi)存hash表中,現(xiàn)需簡單設(shè)計一個系統(tǒng),使用支持高效的過濾,可使用多臺機器,但要求使用的機器越少越好,請將關(guān)鍵的設(shè)計和思想用圖表和代碼表現(xiàn)出來。
如p([1,2,3])輸出:
[123]、[132]、[213]、[231]、[321]、[323]
?求一個組合函數(shù)
如p([1,2,3])輸出:
[1]、[2]、[3]、[1,2]、[2,3]、[1,3]、[1,2,3]
這兩問可以用偽代碼。?
迅雷2011.10.21筆試題
1、下面的程序可以從1....n中隨機輸出m個不重復(fù)的數(shù)。請?zhí)羁?/span>knuth(int n, int m)
{
???????? srand((unsigned int)time(0));
????? ?for (int i=0; i<n; i++)
????????? {
??????????????? ?if (??????????? )
????????????????? {
??????????????????????????????? cout<<i<<endl;
???????????????????????????????????????????????????????? ;
?????????????????? }
????????? }
}
分別為:rand()%(n-i)<m? 和 m--;
2、以下prim函數(shù)的功能是分解質(zhì)因數(shù)。請?zhí)羁?/span>
void prim(int m, int n)
{
??? if (m>n)
??? {
??????? while (??????????? ) n++;
?????????????????????????????????????? ;
?????? prim(m,n);
?????? cout<<n<<endl;
??? }
}
分別為:m%n? 和 m/=n
3、下面程序的功能是輸出數(shù)組的全排列。請?zhí)羁?/span>
void perm(int list[], int k, int m)
{
??? if (??????????? )
??? {
?????? ?copy(list,list+m,ostream_iterator<int>(cout," "));
??????? cout<<endl;
??????? return;
??? }
??? for (int i=k; i<=m; i++)
??? {
??????? swap(&list[k],&list[i]);
???????????????????????????????????????? ;
??????? swap(&list[k],&list[i]);
??? }
}
分別為:k==m 和 perm(list,k+1,m)
二、主觀題:
1、(40分)用戶啟動迅雷時,服務(wù)器會以uid,login_time,logout_time的形式記錄用戶的在線時間;用戶在使用迅雷下載時,服務(wù)器會以taskid,start_time,finish_time的形式記錄任務(wù)的開始時間和結(jié)束時間。有效下載時間是指用戶在開始時間和結(jié)束時間之間的在線時間,由于用戶可能在下載的時候退出迅雷,因此有效下載時間并非finish_time 和 start_time之差。假設(shè)登錄記錄保存在login.txt中,每一行代表用戶的上下線記錄;下載記錄保存在task.txt中,每一行代表一個任務(wù)記錄,記錄的字段之間以空格分開。計算每個用戶的有效下載時間和總在線時間的比例。注意:請盡量使用STL的數(shù)據(jù)結(jié)構(gòu)和算法
2、(60分)在8X8的棋盤上分布著n個騎士,他們想約在某一個格中聚會。騎士每天可以像國際象棋中的馬那樣移動一次,可以從中間像8個方向移動(當(dāng)然不能走出棋盤),請計算n個騎士的最早聚會地點和要走多少天。要求盡早聚會,且n個人走的總步數(shù)最少,先到聚會地點的騎士可以不再移動等待其他的騎士。
?從鍵盤輸入n(0<n<=64),然后一次輸入n個騎士的初始位置xi,yi(0<=xi,yi<=7)。屏幕輸出以空格分隔的三個數(shù),分別為聚會點(x,y)以及走的天數(shù)。
盛大游戲2011.10.22校園招聘會筆試題
1、下列代碼的輸出為:
A、100?? 300?? 300?? 500??????B、100??? 300???? 500?????? C、100??? 500????? D、程序錯誤
vector在erase之后,指向下一個元素的位置,其實進行erase操作時將后面所有元素都向前移動,迭代器位置沒有移動。itor=array.erase(itor)? erase返回下一個元素的地址,相當(dāng)于給itor一個新值。
2、下列代碼的輸出為:
A、I'm a Child,I like football!????????????????????????????B、I'm a Child,I like basketball!??
C、I'm a Parent,I like football!???????????????????????? D、I'm a Parent,I like basketball!?
3、在win32平臺下,以下哪種方式無法實現(xiàn)進程同步?
A、Critical Section??????B、Event????? C、Mutex???????? D、Semaphore
4、以下哪句的說法是正確的
A、在頁式存儲管理中,用戶應(yīng)將自己的程序劃分為若干個相等的頁
B、所有的進程都掛起時,系統(tǒng)將陷入死鎖
C、執(zhí)行系統(tǒng)調(diào)用可以被中斷
D、進程優(yōu)先數(shù)是進程調(diào)度的重要依據(jù),必須根據(jù)進程運行情況動態(tài)改變
5、以下描述正確的是
A、虛函數(shù)是可以內(nèi)聯(lián)的,可以減少函數(shù)調(diào)用的開銷提高效率
B、類里面可以同時存在函數(shù)名和參數(shù)都一樣的虛函數(shù)和靜態(tài)函數(shù)
C、父類的析構(gòu)函數(shù)是非虛的,但是子類的析構(gòu)函數(shù)是虛的,delete子類對象指針會調(diào)用父類的析構(gòu)函數(shù)
D、以上都不對
簡答題:快速排序的思想是遞歸的,但是它的平均效率卻是眾多排序算法中最快的,為什么?請結(jié)合本例說明你對遞歸程序的理解。
算法題:用你熟悉的編程語言,設(shè)計如下功能的函數(shù):輸入一個字符串,輸出該字符串中所有字母的全排列。程序請適當(dāng)添加注釋。
C++函數(shù)原型: void Print(const char *str)
輸入樣例: abc
輸出結(jié)果: abc、acb、bca、bac、cab、cba
后續(xù)整理
hash沖突時候的解決方法?
?1)、開放地址法
?2)、再哈希法
?3)、鏈地址法
?4)、建立一個公共溢出區(qū)
{
? if()
? { ??
??? printf("Hello ");
? }
? else
? {
??? printf("World !!!");
? }
? return 0;
}
在if里面請寫入語句 使得打印出 ?hello ?world。
分別寫一個宏和函數(shù)來獲取元素個數(shù) 如count(a) 會得到a數(shù)組元素個數(shù) 。
TCP連接建立后,調(diào)用send 5次,每次發(fā)100字節(jié),問recv最少要幾次,最多要幾次?
下面的程序可以從1....n中隨機輸出m個不重復(fù)的數(shù)。請?zhí)羁?br />knuth(int n, int m)?
{
? ? srand((unsigned int)time(0));
? ? for (int i=0; i<n; i++)
? ? ? ? if ( ? ? ? ? ? ?)
? ? ? ? {
? ? ? ? ? ?cout<<i<<endl;
? ? ? ? ? ? ( ? ? ? ? ? ? ? ? );
? ? ? ? }
}
A:123412341234.....
B:234123412341....
C:341234123412....
D:412341234123....
怎么實現(xiàn)同步可以讓線程并行工作?
前半部分是是一個遞增數(shù)組,后面一個還是遞增數(shù)組,但整個數(shù)組不是遞增數(shù)組,那么怎么最快的找出其中一個數(shù)?
打印節(jié)點形式:
[當(dāng)前節(jié)點][父親節(jié)點1][父親節(jié)點的父親節(jié)點][。。。]
[當(dāng)前節(jié)點][父親節(jié)點2][父親節(jié)點的父親節(jié)點][。。。]
? 2、有一億個整數(shù),請找出最大的1000個,要求時間越短越好,空間占用越少越好
輸入一個字符串,如何求最大重復(fù)出現(xiàn)的字符串呢?比如輸入ttabcftrgabcd,輸出結(jié)果為abc,canffcancd,輸出結(jié)果為can。
數(shù)組中的數(shù)的取值范圍是0<x<100,元素個數(shù)也是大于0, 小于100?
比如a[]={2,4,5,6,7},得出的兩組數(shù){2,4,6}和{5,7},abs(sum(a1)-sum(a2))=0;
比如{2,5,6,10},abs(sum(2,10)-sum(5,6))=1,所以得出的兩組數(shù)分別為{2,10}和{5,6}。
using namespace std;
class A
{
public:
A(){cout<<"A"<<endl;}
~A(){cout<<"~A"<<endl;}
};
class B
{
public:
B(A &a):_a(a)
{
cout<<"B"<<endl;
}
~B(){cout<<"~B"<<endl;}
private:
A _a;
};
int main()
{
A a;?
B b(a);?
return 0;
// 構(gòu)造次序和析構(gòu)次序是對稱的,這種題解答都是有技巧的.
// 拷貝構(gòu)造就不說了,構(gòu)造過程是:
// A A B ,那么析構(gòu)必然是對稱的:B A A。
}
轉(zhuǎn)載于:https://www.cnblogs.com/v-July-v/archive/2011/10/17/2316414.html
總結(jié)
以上是生活随笔為你收集整理的十月下旬腾讯,网易游戏,百度盛大迅雷校园招聘笔试题集锦(10.25)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react回调函数_React中的回调中
- 下一篇: python operator __gt