2011年5月小企鵝實習生筆試經歷

“小企鵝”IT公司,就是做IM的那個。“小企鵝”的筆試考得覆蓋面比較全,但都比較基礎,評記憶存檔一份吧。由於記憶不全,有些題只給出描述,後面的括號是我當時的答案。

 

選擇題:20*3=60分

1、R1、R2、R3三個組件,其中R1、R3串聯,兩個R2並聯再和R1、R3串聯,已經R1、R3的可靠性是c1,c3,如果想要整個系統的可靠性達到c,問R2的可靠性最少要達到多少?(c=c1*x*c3, x = 1-(1-c2)

2、Fibonacci數列, f(0)=0, f(1)=1, f(n)=f(n-1)+f(n-2), n>=2, 問用簡單遞歸方法f(5)總共做了幾次加操作?(7次)

3、HTTP協議相關(是服務器與客戶端協議,應用層協議)

4、有三個進程P1、P2、P3優先級爲P1>P2>P3,分時搶佔式佔用單處理器,三個進程可以並行使用IO。如果每個進程都要CPU執行10S,IO操作13s,然後再CPU執行5s。問三個進程同時執行,問CPU空閒多少時間?(13s)

5、操作系統中所說的“顛簸”是指什麼?(頻繁的剛替換出去的內存頁不久又被替換回來)

6、如果一個進程申請到了排它鎖,可以進行讀寫?(可讀可寫)

7、if(x<500){

        ...

     }else if(x<=2000){

 

     }else{

 

     }

      給出滿足覆蓋率100%的測試用例?

8、SQL語句,s表,c表,sc表,求每門課的平均成績,要求按兩點排序。(AVG函數,然後需要group by子語)

9、一個算術表達式,求後綴表達式

10、一段程序:

      for(int i=0;i<150;i++)

          for(int j=0;j<100;j++)

               A[i][j]=0;

      爲此段程序分配兩個數據頁,每個頁面可存放150個int, 其中i、j已經存放到代碼頁中,初始時兩個數據頁爲空,問執行此段程序共會

      產生多少次頁中斷?(50次)

11、MST最小生成樹,給一個圖,圖上邊有權值,求MST的邊權和。

12、MD5(消息摘要算法),問輸出爲多少比特位?(4個32位並聯,共128位)

13、已經一棵二叉樹,問通過左兒子右兄弟轉化結果?

14、數據流圖(DFD)、UML圖、ER圖中哪個用來表示數據流傳送,數據加工過程?(DFD)

15、給一組數據,問經過qsort一次時結果?

16、給一個虛擬地址,給出頁表,問轉換後的物理地址?

17、5個點的權值分別是a、b、c、d、e,問構造5個葉子節點的哈夫曼樹權值和?(原理一樣,只不過比哈夫曼前綴編碼表述不一樣)

18、tcp協議中,關於send()與recv()的一些問題。send()成功是否表示數據已經接受成功。兩次send()是否一次recv()就可以等等。

19、cache的原理哪些不正確?(增加了內存容量)

20、給一組數據進行排序,給出迭代三次結果,問是哪種排序?

 

程序填空題 4*10=40分

 

1、文字描述:創建單鏈表、單鏈表逆序

 

2、設計一個計算器,支持簡單數字形式,即+-*/操作(支持括號)。

細節:操作是用函數跳轉表、支持括號使用遞歸做的。相比前一題有難度。

 

 

 

 

附加題:不算成績,只是給面試者參考

(C/C++方向)

文字描述:一個嵌入式設備,有一個連續8M的內存。程序運行會申請內存,有16B、16B~32B、32B~64B...128B~1K,並且每種塊大小範圍的請求有一定比例。讓設計一個內存分配器,達到最佳性能。問如何使更多請求得到滿足,估算內存利用率有多少?

 

 

發佈了42 篇原創文章 · 獲贊 6 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章