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