- 相關(guān)推薦
去哪兒網(wǎng) 校招面試
2013應(yīng)屆畢業(yè)生“去哪兒網(wǎng)”校招面試題
1.刪除一個(gè)ArrayList中的所有元素,要求現(xiàn)場(chǎng)手寫代碼。
答:
方法一:刪除前用一個(gè)變量flag紀(jì)錄list的長度,然后for循環(huán)刪除flag次第一個(gè)元素。關(guān)鍵代碼如下:
int flag = list.size();
for(inti = 0; i < flag ; i++){
list.remove(0);
}
因每次刪除都會(huì)導(dǎo)致size的重新變化,所以刪除前需紀(jì)錄。
方法二:將list壓入迭代器,循環(huán)刪除迭代器即可。關(guān)鍵代碼如下:
Iterator
itr = list.iterator();
while(itr.hasNext()){
itr.next();
itr.remove();
}
壓入迭代器后,利用迭代器的方法進(jìn)行刪除。建設(shè)讀者自行嘗試一下,以體會(huì)其中道理。
2.Java中的垃圾回收機(jī)制。
答:Java提供的GC(垃圾收集)功能可以自動(dòng)檢測(cè)對(duì)象是否超過作用域從而達(dá)到自動(dòng)回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。GC采用有向圖的方式記錄和管理堆內(nèi)存中的所有對(duì)象,當(dāng)對(duì)象“不可達(dá)”時(shí),GC自動(dòng)回收該內(nèi)存。
3.創(chuàng)建一個(gè)對(duì)象有幾種方法
答:
a.用new語句創(chuàng)建對(duì)象,這是最常用的創(chuàng)建對(duì)象的方式。
b.運(yùn)用反射手段,調(diào)用java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實(shí)例方法。即Java的反射機(jī)制。
c.調(diào)用對(duì)象的clone()方法。
d.運(yùn)用反序列化手段,調(diào)用java.io.ObjectInputStream對(duì)象的readObject()方法
4.數(shù)據(jù)結(jié)構(gòu)中的貍貓換太子。即一個(gè)單向鏈表(節(jié)點(diǎn)數(shù)大于等于4),不知道頭結(jié)點(diǎn),只有一個(gè)指針指向第三個(gè)結(jié)點(diǎn),要求刪除指向的第三個(gè)結(jié)點(diǎn)。
答:由于不知道頭結(jié)點(diǎn),無法找到第二個(gè)結(jié)點(diǎn)的尾指針。所以根本無法真正刪除第三個(gè)結(jié)點(diǎn),解決方法是將第四個(gè)結(jié)點(diǎn)的值賦給第三個(gè)結(jié)點(diǎn),然后刪除第四個(gè)結(jié)點(diǎn)即可,正所謂貍貓換太子。(建議拿筆畫畫,便一目了然)
【去哪兒網(wǎng) 校招面試】相關(guān)文章:
去哪兒網(wǎng)面試地址07-01
廣州天河財(cái)富廣場(chǎng)去哪兒網(wǎng)面試不靠譜07-13
怎樣做好校招面試?07-13
銀行校招面試穿什么07-02
阿里校招前端電話面試06-29
校禮儀隊(duì)招新面試問題06-28
校招面試:女生需要打扮成怎樣?07-13
銀行校招面試自我介紹技巧07-02