群碩軟件筆試題和面試題答案目

思而思學網

一、給了一棵二叉樹的前序遍歷和中序遍歷,要求寫出后序遍歷。

看一下數(shù)據(jù)結構就行了,很easy。提示:前序遍歷的第一個節(jié)點為根結點,在中序遍歷中根結點的左邊節(jié)點是左子樹,右邊節(jié)點是右子樹,如此遞歸。

二、什么是物理內存和虛擬內存,OS中為什么要使用虛擬內存?

看OS的書。

三、解釋一下C#中的“delegate”。

原先不清楚的,然后在技術面試的時候問了一下面試官,原來類似于一個隊列,隊列中存的是函數(shù)指針(托管函數(shù)),運行時隊列中的函數(shù)會在一個線程中被依次執(zhí)行。

四、與子程序傳遞參數(shù)有哪些方法?

匯編題,我想起來三個:參數(shù)壓棧、參數(shù)存寄存器、參數(shù)存數(shù)據(jù)段。

五、解釋一下Java中的String和StringBuffer,什么時候需要使用StringBuffer?

核心是String對象是不變對象,連接、取子串等操作會生成新的對象,舊對象可能會被回收。StringBuufer則是可變對象,上述操作將在原對象上進行。

六、Java中哪些容器的默認布局器(layout)是BorderLayout?

這個不是那得很準,就寫了JFrame及其子類,F(xiàn)rame及其子類。

七、一個C 的函數(shù):

int operation(int numberA,int numberB){

return numberA numberB;

}

然后聲明了三個變量:

int a = 2;

int result1 = operation(5, a );

int result2 = operation(5 a, a); 字串1

問result1和result2的值。

原先以為考得是傳值、傳引用的問題,結果仔細一看考得是a 和 a的問題,這就簡單了。result1 = 7, result2 = 12

八、假如父類的析構函數(shù)沒有聲明為虛函數(shù)的話在父類的指針上調用析構函數(shù)會有什么后果?

屏蔽多態(tài),子類申請的資源將不被釋放。

九、定義了一個類:

class Something{ 字串5

pulic: 字串2

Something();

void setValue(int val){

value = val;

}

private:

int value;

}

以及一個函數(shù):

void doSomething(int val){

Something sth = new Something(); // Line 1 字串1

sth->setValue(val); // Line 2

}

問Line 2假如是doSomething()的最后一行的話會有什問題?

doSomething執(zhí)行完后sth沒有被銷毀,內存泄漏。

十、寫一個程序將輸入的16進制轉為10進制。(基礎)

十一、設計一個微波爐的控制程序(OO)。

這道題有點意思,我主要用Observer模式設計了一個定時器,然后把微波爐烹飪的對象抽象為Cookable。

十二、邏輯題,一列火車以15 mph的速度從北京開往上海,另一列火車以20 mph的速度從上海開往北京,一只鳥(比較笨)速度25 mph,在兩列火車之間往返飛,相遇即折回。問到兩列火車相遇這只笨鳥一共飛了多遠?

熱門推薦

最新文章