?? java陷阱一籮筐----面試題集[zt].txt
字號:
quote:
--------------------------------------------------------------------------------
第七,什么時候用assert。
API級的技術人員有可能會問這個。
--------------------------------------------------------------------------------
什么時候都可以啊。assert一般只是作為一個constraint的判斷。不過只有1.4之后才有,而且編譯的時候必須打開一個flag。
quote:
--------------------------------------------------------------------------------
第八,GC是什么? 為什么要有GC?
基礎。
--------------------------------------------------------------------------------
垃圾回收,不用自己做destructor。不過有時候覺得C++的這個東西還是挺方便的。就是一不小心就容易出錯。
quote:
--------------------------------------------------------------------------------
第九,String s = new String("xyz");創建了幾個String Object?
--------------------------------------------------------------------------------
比較無聊。可能是兩個吧。
quote:
--------------------------------------------------------------------------------
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
--------------------------------------------------------------------------------
12.0, -11.0
quote:
--------------------------------------------------------------------------------
第十一,short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?
面試題都是很變態的,要做好受虐的準備。
--------------------------------------------------------------------------------
不知道
quote:
--------------------------------------------------------------------------------
第十二,sleep() 和 wait() 有什么區別?
搞線程的最愛。
--------------------------------------------------------------------------------
一個是停止一段時間,另外一個是等待條件。wait()必須有相應的notify()或者notifyAll()
quote:
--------------------------------------------------------------------------------
第十三,Java有沒有goto?
很十三的問題,如果哪個面試的問到這個問題,我勸你還是別進這家公司。
--------------------------------------------------------------------------------
是保留字,但是沒有實現。
quote:
--------------------------------------------------------------------------------
第十四,數組有沒有length()這個方法? String有沒有length()這個方法?
--------------------------------------------------------------------------------
array沒有,string有。
quote:
--------------------------------------------------------------------------------
第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
常問。
--------------------------------------------------------------------------------
overload不能改變方法的signature。這個是繼承的東西。override是同一個類的。
quote:
--------------------------------------------------------------------------------
第十六,Set里的元素是不能重復的,那么用什么方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?
--------------------------------------------------------------------------------
equals()
quote:
--------------------------------------------------------------------------------
第十七,給我一個你最常見到的runtime exception。
如果你這個答不出來,面試的人會認為你沒有實際編程經驗。
--------------------------------------------------------------------------------
NullPointerException
quote:
--------------------------------------------------------------------------------
第十八,error和exception有什么區別?
--------------------------------------------------------------------------------
Error是JVM的錯誤信息。Exception是程序的。
quote:
--------------------------------------------------------------------------------
第十九,List, Set, Map是否繼承自Collection接口?
--------------------------------------------------------------------------------
記不住了。
quote:
--------------------------------------------------------------------------------
第二十,abstract class和interface有什么區別?
常問。
--------------------------------------------------------------------------------
這個。。。很多很多。
quote:
--------------------------------------------------------------------------------
第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
--------------------------------------------------------------------------------
synchronized不是限制詞,所以隨便什么都可以。abstract只能在繼承中實現,所以需要this指針,因此必須不是static的。是不是native咱沒試過。
quote:
--------------------------------------------------------------------------------
第二十二,接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承實體類(concrete class)?
--------------------------------------------------------------------------------
應該都可以吧?
quote:
--------------------------------------------------------------------------------
第二十三,啟動一個線程是用run()還是start()?
--------------------------------------------------------------------------------
應該是start()。不過你也可以調用run()
quote:
--------------------------------------------------------------------------------
第二十四,構造器Constructor是否可被override?
--------------------------------------------------------------------------------
可以
quote:
--------------------------------------------------------------------------------
第二十五,是否可以繼承String類?
--------------------------------------------------------------------------------
不可以。String是final class
quote:
--------------------------------------------------------------------------------
第二十六,當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?
--------------------------------------------------------------------------------
可以,如果不是對同樣的monitor synchronized的話。
quote:
--------------------------------------------------------------------------------
第二十七,try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執行,什么時候被執行,在return前還是后?
--------------------------------------------------------------------------------
會,先于return
quote:
--------------------------------------------------------------------------------
第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程序員特別喜歡問這種問題。
--------------------------------------------------------------------------------
bit shift。不過比較變態。
quote:
--------------------------------------------------------------------------------
第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
--------------------------------------------------------------------------------
完全可能
quote:
--------------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -