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

思而思學(xué)網(wǎng)

一、給了一棵二叉樹(shù)的前序遍歷和中序遍歷,要求寫(xiě)出后序遍歷。

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

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

看OS的書(shū)。

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

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

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

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

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

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

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

這個(gè)不是那得很準(zhǔn),就寫(xiě)了JFrame及其子類(lèi),F(xiàn)rame及其子類(lèi)。

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

int operation(int numberA,int numberB){

return numberA numberB;

}

然后聲明了三個(gè)變量:

int a = 2;

int result1 = operation(5, a );

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

問(wèn)result1和result2的值。

原先以為考得是傳值、傳引用的問(wèn)題,結(jié)果仔細(xì)一看考得是a 和 a的問(wèn)題,這就簡(jiǎn)單了。result1 = 7, result2 = 12

八、假如父類(lèi)的析構(gòu)函數(shù)沒(méi)有聲明為虛函數(shù)的話在父類(lèi)的指針上調(diào)用析構(gòu)函數(shù)會(huì)有什么后果?

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

九、定義了一個(gè)類(lèi):

class Something{ 字串5

pulic: 字串2

Something();

void setValue(int val){

value = val;

}

private:

int value;

}

以及一個(gè)函數(shù):

void doSomething(int val){

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

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

}

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

doSomething執(zhí)行完后sth沒(méi)有被銷(xiāo)毀,內(nèi)存泄漏。

十、寫(xiě)一個(gè)程序?qū)⑤斎氲?6進(jìn)制轉(zhuǎn)為10進(jìn)制。(基礎(chǔ))

十一、設(shè)計(jì)一個(gè)微波爐的控制程序(OO)。

這道題有點(diǎn)意思,我主要用Observer模式設(shè)計(jì)了一個(gè)定時(shí)器,然后把微波爐烹飪的對(duì)象抽象為Cookable。

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

熱門(mén)推薦

最新文章