網易筆試題

一、問答題

1、對於一個內存地址是32位、內存頁是8KB的系統。0X0005F123這個地址的頁號與頁內偏移分別是多少。

答案註釋:頁號是47頁,頁內偏移量應該是0X00001123

2、如果X大於0並小於65536,用移位法計算X乘以255的值爲:   

答案註釋: (X<<8)-X

X<<8-X是不對的,因爲移位運算符的優先級沒有減號的優先級高,首先計算8-X0X左移0位還是8

3、一個包含n個節點的四叉樹,每個節點都有四個指向孩子節點的指針,這4n個指針中有( )個空指針。

答案註釋:   3n+1   

4、以下兩個語句的區別是:

int *p1 = new int[10];  

int *p2 = new int[10]();  

答案註釋:第一個動態申請的空間裏面的值是隨機值,第二個進行了初始化,裏面的值爲0

5、計算機在內存中存儲數據時使用了大、小端模式,請分別寫出A=0X123456在不同情況下的首字節是,大端模式:( )小端模式:( )X86結構的計算機使用 ( )模式。

答案註釋:0X120X56、小端  

一般來說,大部分用戶的操作系統(如windows, FreeBsd,Linux)是小端模式的。少部分,如MAC OS,是大端模式 的。

6、在遊戲設計中,經常會根據不同的遊戲狀態調用不同的函數,我們可以通過函數指針來實現這一功能,請聲明一個參數爲int *,返回值爲int的函數指針:

答案註釋:int (*fun)(int *)

7、下面程序運行後的結果爲:

char str[] = "glad to test something";  

    char *p = str;  

    p++;  

    int *p1 = static_cast<int *>(p);  

    p1++;  

    p = static_cast<char *>(p1);  

    printf("result is %s\n",p);  

答案註釋:to test something

8、在一冒險遊戲裏,你見到一個寶箱,身上有N把鑰匙,其中一把可以打開寶箱,假如沒有任何提示,隨機嘗試,問:

1)恰好第K次(1=<K<=N)打開寶箱的概率是多少。

2)平均需要嘗試多少次。

答案註釋:(1) (1-1/n)*(1-1/(n-1))*(1-1/(n-2))***(1/(n-k+1)) = 1/n

2) 這個就是求期望值   由於每次打開寶箱的概率都是1/n,則期望值爲:   1*(1/n)+2*(1/n)+3*(1/n)+......+n*(1/n) = n+1/2

 

由“名企筆試題庫”收集整理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章