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