群碩筆試題(java,c++)

來源:互聯網
上載者:User
群碩的筆試在語言方面主要是Java和C++,夾了一道C#題,趁記憶猶新的時候記下來
 
一、給了一棵二叉樹的前序走訪和中序遍曆,要求寫出後序遍曆。
看一下資料結構就行了,很easy。提示:前序走訪的第一個節點為根結點,在中序遍曆中根結點的左邊節點是左子樹,右邊節點是右子樹,如此遞迴。
 
二、什麼是實體記憶體和虛擬記憶體,OS中為什麼要使用虛擬記憶體?
看OS的書。
 
三、解釋一下C#中的“delegate”。
原先不清楚的,然後在技術面試的時候問了一下面試官,原來類似於一個隊列,隊列中存的是函數指標(託管函數),運行時隊列中的函數會在一個線程中被依次執行。
 
四、與子程式傳遞參數有哪些方法?
彙編題,我想起來三個:參數壓棧、參數存寄存器、參數存資料區段。
 
五、解釋一下Java中的String和StringBuffer,什麼時候需要使用StringBuffer?
核心是String對象是不變對象,串連、取子串等操作會產生新的對象,舊對象可能會被回收。StringBuufer則是可變對象,上述操作將在原對象上進行。
 
六、Java中哪些容器的預設布局器(layout)是BorderLayout?
這個不是那得很准,就寫了JFrame及其子類,Frame及其子類。
 
七、一個C++的函數:
int operation(int numberA,int numberB){
  return numberA + numberB;
}
然後聲明了三個變數:
int a = 2;
int result1 = operation(5, a++);
int result2 = operation(5+a, ++a);
問result1和result2的值。
原先以為考得是傳值、傳引用的問題,結果仔細一看考得是a++和++a的問題,這就簡單了。
result1 = 7, result2 = 12
 
八、如果父類的解構函式沒有聲明為虛函數的話在父類的指標上調用解構函式會有什麼後果?
屏蔽多態,子類申請的資源將不被釋放。
 
九、定義了一個類:
class Something{
pulic:
  Something();
  void setValue(int val){
    value = val;
  }
 
private:
  int value;
}
以及一個函數:
void doSomething(int val){
  Something* sth = new Something(); // Line 1
  sth->setValue(val); // Line 2
}
問Line 2如果是doSomething()的最後一行的話會有什問題?
doSomething執行完後sth沒有被銷毀,記憶體流失。
 
十、寫一個程式將輸入的16進位轉為10進位。
基礎
 
十一、設計一個微波爐的控製程序(OO)。
這道題有點意思,我主要用Observer模式設計了一個定時器,然後把微波爐烹飪的對象抽象為Cookable。
 
十二、邏輯題,一列火車以15 mph的速度從北京開往上海,另一列火車以20 mph的速度從上海開往北京,一隻鳥(比較笨)速度25 mph,在兩列火車之間來回飛,相遇即折回。問到兩列火車相遇這隻笨鳥一共飛了多遠?
很簡單,因為鳥一直在飛,所以一共飛了s/(15 + 20),s為上海到北京之間的距離,那麼它一共飛了s/(15 + 20) * 25 mile。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.