當前位置:學識都>好好學習>考研>

2011年微軟筆試真題

學識都 人氣:1.41W

例行交代一下,今天早上鬧鐘不知道的何故沒有響(每次有事的時候總出問題)。8點鐘起牀,8點20出發。三環外堵車,92路還堵。下車9:35,因爲提前二十分鐘進場,我就跑過去了。我原以爲遲到會直接取消資格,結果10點纔開始,而且有個姐姐過了開考半個多小時纔過來,太飆汗了。全英文的,20道選擇題,不定項選擇,分值不一樣。全選中滿分,以下全部爲回憶寫的。我只寫出我自己的答案,有錯請指出。

2011年微軟筆試真題

1. 給定一個整形數組,數組的大小爲N,數組內的數的範圍爲-N到N,問最好的排序時間複雜度是多少?

A O(logN)

B O(N)

C O(NlogN)

D O(N2) /*(代表平方)*/

E 以上都不對

應該是B,採用位圖排序,google位圖排序

2. MVC模式是現在開發的一種常用設計模式,請問如下可以充當MVC模式中控制器的`是?

A CSS

B HTML 模板

C Javascript

D Web Service

E 以上都不是

我真的不懂,我勉強覺得Web Service可以當作是控制器吧

3. 在編譯進程中,會產生Parse Tree的是?

A 語法分析過程

B 語意分析過程

C 彙編代碼過程

D 目標代碼過程

百度了一下,貌似是在語法分析上,沒學過編譯原理不懂,後面百度鏈接

4. 尋找最短路徑,給定一個還算不是很複雜的圖。圖不記得了,選項也不記得了。

google 普魯姆算法 克魯斯卡爾算法

5. 一個節點可以生成生成一種二叉樹,兩個相同的節點可以生成兩種二叉樹,三個相同的節點可以生成5種二叉樹?那5種呢?

備選答案忘記了。剛查了一下,42。公式是C(2n, n)/(n+1)

6. 對於一個32位的操作系統來說,那些是正確的?

A. 操作系統可以訪問到的物理內存爲4G

B. 用戶空間可訪問的內存爲4G

C. 碎片會極大的減緩程序的運行速度

D. 虛擬內存對應的實際內存不一定要連續

我覺得是ACD

7. 給定一個二進制串,001110101如何編程001110010。

選項忘記了,反正就是一個符號運算符,應該是考補碼的表示的。還有就是或與運算符。

8. 代碼,運行結果是什麼。比較簡單,就不寫了,應該就是找第幾大的數。

9. 這個也是一個代碼,F(1024)運行結果。沒i有做出來,不懂他要考什麼,大概代碼:

int F(int i)

{

if (i == 0)

{

return 4;

}

if (i == 1)

{

return 0;

}

int p1 = 0;

int p2 = 4;

int count = 2;

for (count < i)

{

int p3 = (p1+p2)%5;

p1 = p2;

p2 = p3;

count++;

}

return (p1 + p2)%5;

}

10. 找出一個數組中,第M大的數,時間複雜度是?

A O(logN)

B O(N)

C O(NlogN)

D O(N2) /*(代表平方)*/

E 以上都不對

編程珠璣上看到了的,就是O(N)

11. 強制轉換問題,int i, float f, double d, 下面哪個正確?

A i = (int)(double)i;

B i = (int)(float)i;

C f = -(-f);

D f = (float)(double)f;

E d = (double)(float)d;

12. 下面哪一個數可以判讀是否一個數是2的n次方(n可以是等於或大於0的數)。位運算,還是於運算、或運算。

13. 一個排序二叉樹,有5個元素,裏面是1,2,3,4,5。問以下哪個序列不能遍歷出來?

比如中序遍歷出來是1,2,3,4,5,給定了四個序列,每個按照序列採用後序或者前序或者遍歷構造一個排序二叉樹,看能不能構造出來。

14. 99!裏面有多少個0?

A 9

B 21

C 22

D 31

E 32

15. 一個virtual class 能不能生成一個abstract table?

16. 考前綴表達式,我不懂。