人人校園招聘筆試題目

才智咖 人氣:1.64W

   一、選擇題(每題5分,共計50分)

人人校園招聘筆試題目

1、對於全域性函式 int f(void) ,與其完全等價的函式原型為(c)

a、int &f(); b、int f(void) const; c、const int f(); d、a、b、c都不是

2、下列關於建構函式的描述中,錯誤的是(d)

a、建構函式可以設定預設的引數

b、建構函式在定義類物件時自動執行

c、建構函式可以是行內函數

d、建構函式不可以過載

函式過載是通過靠引數來實現的,建構函式是可以過載的,但解構函式沒有引數,不能過載,所以解構函式只有一個版本。

3、考慮函式原型 void test(int a , int b = 7, char ch=*),下面的函式呼叫中,屬於不合法呼叫的是(c)

a、test(5) b、test(5,8) c、test(6,#) d、test(0,0,#)

4、所謂lru頁面淘汰演算法是指將駐留在記憶體中(b)頁面淘汰

a、時間最長的

b、最久未使用的

c、使用頻度最少的

d、出現髒資料的

5、下列說法錯誤的是(c)

a、建構函式可以有一個引數 b、建構函式可以有多個引數

c、一個類只能有一個建構函式 d、一個類只能有一個解構函式

6、系統在呼叫過載函式時,能作為確定哪個過載函式被呼叫的依據是(b)

a、函式返回型別 b、引數個數 c、函式名稱 d、引數名稱

7、一個棧的入棧序列是a、b、c、d、e,則棧的不可能的'輸出序列是(c)

a、edcba b、decba c、dceab d、abcde

8、有12個球,外形相同,其中一個小球的質量與其他11個不同,給一個天平,需要幾次把這個小球找出來並且求出這個小球是比其他的輕還是重()

a、3 b、5 c、7 d、9

 二、問答題

1、編碼實現環狀單向連結串列(尾指標直接指向頭指標,中間沒有空節點),去除連續的重複元素的操作。

比如:1(頭)->2->2->3->3->1->1(頭) 去除以後的結果是1->2->3,注意頭尾的1也要去掉一個。

struct tnode

{

tnode *next;

int value;

};

tnode *unique(tnode *head)

{

}

2、靜安市區建有一條從南到北的公路,沿著這條公路有10個加油站,加油站總部每天都要給每個加油站補給一車汽油,加油站總公司計劃在這10個加油站中選出一個加油站作為總補給點,每天負責給其他加油站送一車汽油,請問挑選哪個加油站使得每天負責運送汽油的總里程數最小,請用程式碼實現,如果時間不夠,請寫出主要思路。

3、閱讀下面一段程式:

(1)當輸入的x和y分別為8和8時,寫出該程式的結果,並寫出你的演算過程。

(2)該程式的執行效率很低,請寫出你能想到的更高效f函式的實現方法。

4、題目:由於諾基亞手機不止可以當作手機使用,還可以作為磚頭防身,人人的員工小丁相測一測它從多高才能摔破。藉助人人公司所在的靜安中心大樓(共27層),小丁準備從1層開始一層一層的將諾基亞手機扔下去,直到摔破為止,顯而易見,在最壞的情況下需要扔27次才能測出這個臨界值(假定頂層的高度一定可以摔破這部諾基亞手機),小丁跟同事小李說了這個想法,小李說他這也有一部同型號的諾基亞手機,正好不用了給了小丁,現在小丁手中有兩部諾基亞手機。

(1)請你幫忙計算一下在最壞情況下,小丁最少需要扔幾次才能測出這個臨界值,並且給出具體策略?(ps,兩部手機,第一步手機選擇第k層扔下去,若是沒有摔壞我們可以繼續拿來往樓下摔,若是摔壞了,只有一部手機了,還得按照之前一部手機的策略)

(2)現在我們發散一下,假設給你m部諾基亞手機,n層的高樓(假定頂層的高度一定可以摔碎),在最壞情況下至少需要扔多少次才能測出臨界高度?程式實現,最好給出演算法思想,假定輸入若干組m和n,你的程式需要對每組m、n給出響應結果。(其中m屬於[1,50],n屬於[1,1000])