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