2013年人人校园招聘笔试题
生活随笔
收集整理的這篇文章主要介紹了
2013年人人校园招聘笔试题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、選擇題(每題5分,共計50分)
1、對于全局函數(shù) int f(void) ,與其完全等價的函數(shù)原型為()
A、int &f(); ? ? ?B、int f(void) const; ? ? ? C、const int f(); ? ? ?D、A、B、C都不是
2、下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是()
A、構(gòu)造函數(shù)可以設(shè)置默認(rèn)的參數(shù)
B、構(gòu)造函數(shù)在定義類對象時自動執(zhí)行
C、構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù)
D、構(gòu)造函數(shù)不可以重載
函數(shù)重載是通過靠參數(shù)來實現(xiàn)的,構(gòu)造函數(shù)是可以重載的,但析構(gòu)函數(shù)沒有參數(shù),不能重載,所以析構(gòu)函數(shù)只有一個版本。
3、考慮函數(shù)原型 void test(int a , int b = 7, char ch='*'),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是()
A、test(5) ? ? ?B、test(5,8) ? ? C、test(6,'#') ? ? ?D、test(0,0,'#')
4、所謂LRU頁面淘汰算法是指將駐留在內(nèi)存中()頁面淘汰
A、時間最長的
B、最久未使用的
C、使用頻度最少的
D、出現(xiàn)臟數(shù)據(jù)的
5、下列說法錯誤的是()
A、構(gòu)造函數(shù)可以有一個參數(shù) ? ? ? ? B、構(gòu)造函數(shù)可以有多個參數(shù)
C、一個類只能有一個構(gòu)造函數(shù) ? ? ? D、一個類只能有一個析構(gòu)函數(shù)
6、系統(tǒng)在調(diào)用重載函數(shù)時,能作為確定哪個重載函數(shù)被調(diào)用的依據(jù)是()
A、函數(shù)返回類型 ? ? B、參數(shù)個數(shù) ? ?C、函數(shù)名稱 ? ?D、參數(shù)名稱
7、一個棧的入棧序列是A、B、C、D、E,則棧的不可能的輸出序列是()
A、EDCBA ? ? ? B、DECBA ? ? C、DCEAB ? ? D、ABCDE
8、有12個球,外形相同,其中一個小球的質(zhì)量與其他11個不同,給一個天平,需要幾次把這個小球找出來并且求出這個小球是比其他的輕還是重()
A、3 ? ? B、5 ? ? ?C、7 ? ? ?D、9
9、
二、問答題
1、編碼實現(xiàn)環(huán)狀單向鏈表(尾指針直接指向頭指針,中間沒有空節(jié)點),去除連續(xù)的重復(fù)元素的操作。
比如:1(頭)->2->2->3->3->1->1(頭) 去除以后的結(jié)果是1->2->3,注意頭尾的1也要去掉一個。
struct Tnode
{
Tnode *next;
int value;
};
Tnode *unique(Tnode *head)
{
}
2、靜安市區(qū)建有一條從南到北的公路,沿著這條公路有10個加油站,加油站總部每天都要給每個加油站補給一車汽油,加油站總公司計劃在這10個加油站中選出一個加油站作為總補給點,每天負(fù)責(zé)給其他加油站送一車汽油,請問挑選哪個加油站使得每天負(fù)責(zé)運送汽油的總里程數(shù)最小,請用代碼實現(xiàn),如果時間不夠,請寫出主要思路。
3、閱讀下面一段程序:
int foo(int x , int y) {if(x == 0 || y == 0)return 2;return foo(x - 1 , y ) + foo(x , y - 1); }(1)當(dāng)輸入的x和y分別為8和8時,寫出該程序的結(jié)果,并寫出你的演算過程。?? 簡單的遞歸應(yīng)用
(2)該程序的執(zhí)行效率很低,請寫出你能想到的更高效f函數(shù)的實現(xiàn)方法。
由于遞歸的效率很低,所以我們可以使用遞推函數(shù)來實現(xiàn)。
int foo(int x , int y) {int i , j , res;int **c = new int*[x+1]; //共有x+1行 for(i = 0; i < x + 1 ; ++i) c[i] = new int[y+1]; //共有y+1列//初始化for(i = 0; i < x + 1 ; ++i)c[i][0] = 2;for(i = 0; i < y + 1 ; ++i)c[0][i] = 2;for(i = 1; i < x + 1 ; ++i){for(j = 1; j < y + 1 ; ++j)c[i][j] = c[i-1][j] + c[i][j-1];}res = c[x][y]; for(i = 0; i < x + 1 ; ++i) //釋放動態(tài)申請的二維數(shù)組 delete[] c[i];delete[] c;return res; }
4、題目:由于諾基亞手機不止可以當(dāng)作手機使用,還可以作為磚頭防身,人人的員工小丁相測一測它從多高才能摔破。借助人人公司所在的靜安中心大樓(共27層),小丁準(zhǔn)備從1層開始一層一層的將諾基亞手機扔下去,直到摔破為止,顯而易見,在最壞的情況下需要扔27次才能測出這個臨界值(假定頂層的高度一定可以摔破這部諾基亞手機),小丁跟同事小李說了這個想法,小李說他這也有一部同型號的諾基亞手機,正好不用了給了小丁,現(xiàn)在小丁手中有兩部諾基亞手機。
(1)請你幫忙計算一下在最壞情況下,小丁最少需要扔幾次才能測出這個臨界值,并且給出具體策略?(PS,兩部手機,第一步手機選擇第k層扔下去,若是沒有摔壞我們可以繼續(xù)拿來往樓下摔,若是摔壞了,只有一部手機了,還得按照之前一部手機的策略)
1+2+3+...+x>=27 ?可以求得x=7,則小丁最少需要扔7次才能測出這個臨界值。
小丁依次分別站在7、13、18、22、25、27層進行測試,比如當(dāng)在25層樓將諾基亞手機扔下去時,摔破了,則小丁從23層開始依次往樓上一層一層的測試,肯定在不超過7次的時候測出這個臨界值。
(2)現(xiàn)在我們發(fā)散一下,假設(shè)給你m部諾基亞手機,n層的高樓(假定頂層的高度一定可以摔碎),在最壞情況下至少需要扔多少次才能測出臨界高度?程序?qū)崿F(xiàn),最好給出算法思想,假定輸入若干組m和n,你的程序需要對每組m、n給出響應(yīng)結(jié)果。(其中m屬于[1,50],n屬于[1,1000])
轉(zhuǎn)載請標(biāo)明出處,原文地址:http://blog.csdn.net/hackbuteer1/article/details/8453834
1、對于全局函數(shù) int f(void) ,與其完全等價的函數(shù)原型為()
A、int &f(); ? ? ?B、int f(void) const; ? ? ? C、const int f(); ? ? ?D、A、B、C都不是
2、下列關(guān)于構(gòu)造函數(shù)的描述中,錯誤的是()
A、構(gòu)造函數(shù)可以設(shè)置默認(rèn)的參數(shù)
B、構(gòu)造函數(shù)在定義類對象時自動執(zhí)行
C、構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù)
D、構(gòu)造函數(shù)不可以重載
函數(shù)重載是通過靠參數(shù)來實現(xiàn)的,構(gòu)造函數(shù)是可以重載的,但析構(gòu)函數(shù)沒有參數(shù),不能重載,所以析構(gòu)函數(shù)只有一個版本。
3、考慮函數(shù)原型 void test(int a , int b = 7, char ch='*'),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是()
A、test(5) ? ? ?B、test(5,8) ? ? C、test(6,'#') ? ? ?D、test(0,0,'#')
4、所謂LRU頁面淘汰算法是指將駐留在內(nèi)存中()頁面淘汰
A、時間最長的
B、最久未使用的
C、使用頻度最少的
D、出現(xiàn)臟數(shù)據(jù)的
5、下列說法錯誤的是()
A、構(gòu)造函數(shù)可以有一個參數(shù) ? ? ? ? B、構(gòu)造函數(shù)可以有多個參數(shù)
C、一個類只能有一個構(gòu)造函數(shù) ? ? ? D、一個類只能有一個析構(gòu)函數(shù)
6、系統(tǒng)在調(diào)用重載函數(shù)時,能作為確定哪個重載函數(shù)被調(diào)用的依據(jù)是()
A、函數(shù)返回類型 ? ? B、參數(shù)個數(shù) ? ?C、函數(shù)名稱 ? ?D、參數(shù)名稱
7、一個棧的入棧序列是A、B、C、D、E,則棧的不可能的輸出序列是()
A、EDCBA ? ? ? B、DECBA ? ? C、DCEAB ? ? D、ABCDE
8、有12個球,外形相同,其中一個小球的質(zhì)量與其他11個不同,給一個天平,需要幾次把這個小球找出來并且求出這個小球是比其他的輕還是重()
A、3 ? ? B、5 ? ? ?C、7 ? ? ?D、9
9、
二、問答題
1、編碼實現(xiàn)環(huán)狀單向鏈表(尾指針直接指向頭指針,中間沒有空節(jié)點),去除連續(xù)的重復(fù)元素的操作。
比如:1(頭)->2->2->3->3->1->1(頭) 去除以后的結(jié)果是1->2->3,注意頭尾的1也要去掉一個。
struct Tnode
{
Tnode *next;
int value;
};
Tnode *unique(Tnode *head)
{
}
2、靜安市區(qū)建有一條從南到北的公路,沿著這條公路有10個加油站,加油站總部每天都要給每個加油站補給一車汽油,加油站總公司計劃在這10個加油站中選出一個加油站作為總補給點,每天負(fù)責(zé)給其他加油站送一車汽油,請問挑選哪個加油站使得每天負(fù)責(zé)運送汽油的總里程數(shù)最小,請用代碼實現(xiàn),如果時間不夠,請寫出主要思路。
3、閱讀下面一段程序:
int foo(int x , int y) {if(x == 0 || y == 0)return 2;return foo(x - 1 , y ) + foo(x , y - 1); }(1)當(dāng)輸入的x和y分別為8和8時,寫出該程序的結(jié)果,并寫出你的演算過程。?? 簡單的遞歸應(yīng)用
(2)該程序的執(zhí)行效率很低,請寫出你能想到的更高效f函數(shù)的實現(xiàn)方法。
由于遞歸的效率很低,所以我們可以使用遞推函數(shù)來實現(xiàn)。
int foo(int x , int y) {int i , j , res;int **c = new int*[x+1]; //共有x+1行 for(i = 0; i < x + 1 ; ++i) c[i] = new int[y+1]; //共有y+1列//初始化for(i = 0; i < x + 1 ; ++i)c[i][0] = 2;for(i = 0; i < y + 1 ; ++i)c[0][i] = 2;for(i = 1; i < x + 1 ; ++i){for(j = 1; j < y + 1 ; ++j)c[i][j] = c[i-1][j] + c[i][j-1];}res = c[x][y]; for(i = 0; i < x + 1 ; ++i) //釋放動態(tài)申請的二維數(shù)組 delete[] c[i];delete[] c;return res; }
4、題目:由于諾基亞手機不止可以當(dāng)作手機使用,還可以作為磚頭防身,人人的員工小丁相測一測它從多高才能摔破。借助人人公司所在的靜安中心大樓(共27層),小丁準(zhǔn)備從1層開始一層一層的將諾基亞手機扔下去,直到摔破為止,顯而易見,在最壞的情況下需要扔27次才能測出這個臨界值(假定頂層的高度一定可以摔破這部諾基亞手機),小丁跟同事小李說了這個想法,小李說他這也有一部同型號的諾基亞手機,正好不用了給了小丁,現(xiàn)在小丁手中有兩部諾基亞手機。
(1)請你幫忙計算一下在最壞情況下,小丁最少需要扔幾次才能測出這個臨界值,并且給出具體策略?(PS,兩部手機,第一步手機選擇第k層扔下去,若是沒有摔壞我們可以繼續(xù)拿來往樓下摔,若是摔壞了,只有一部手機了,還得按照之前一部手機的策略)
1+2+3+...+x>=27 ?可以求得x=7,則小丁最少需要扔7次才能測出這個臨界值。
小丁依次分別站在7、13、18、22、25、27層進行測試,比如當(dāng)在25層樓將諾基亞手機扔下去時,摔破了,則小丁從23層開始依次往樓上一層一層的測試,肯定在不超過7次的時候測出這個臨界值。
(2)現(xiàn)在我們發(fā)散一下,假設(shè)給你m部諾基亞手機,n層的高樓(假定頂層的高度一定可以摔碎),在最壞情況下至少需要扔多少次才能測出臨界高度?程序?qū)崿F(xiàn),最好給出算法思想,假定輸入若干組m和n,你的程序需要對每組m、n給出響應(yīng)結(jié)果。(其中m屬于[1,50],n屬于[1,1000])
轉(zhuǎn)載請標(biāo)明出處,原文地址:http://blog.csdn.net/hackbuteer1/article/details/8453834
總結(jié)
以上是生活随笔為你收集整理的2013年人人校园招聘笔试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易2013校园招聘笔试题集锦
- 下一篇: Hulu 2013北京地区校招笔试题