例行交代一下,今天早上鬧鐘不知道的何故沒有響(每次有事的時候總出問題)。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. 考字首表示式,我不懂。