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