Java面試試題

@ 小浩發表於2013-11-25

第一,談談final, finally, finalize的區別。
最常被問到。

  第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?

  第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。

  第四,&和&&的區別。
這個問得很少。

  第五,HashMap和Hashtable的區別。
常問。

  第六,Collection 和 Collections的區別。
你千萬別說一個是單數一個是複數。

  第七,什麼時候用assert。
API級的技術人員有可能會問這個。

  第八,GC是什麼? 為什麼要有GC?
基礎。

  第九,String s = new String("xyz");建立了幾個String Object?

  第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

  第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
面試題都是很變態的,要做好受虐的準備。

  第十二,sleep() 和 wait() 有什麼區別?
搞執行緒的最愛。

  第十三,Java有沒有goto?
很十三的問題,如果哪個面試的問到這個問題,我勸你還是別進這家公司。

  第十四,陣列有沒有length()這個方法? String有沒有length()這個方法?

  第十五,Overload和Override的區別。Overloaded的方法是否可以改變返回值的型別?
常問。

  第十六,Set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢? 是用==還是equals()? 它們有何區別?

  第十七,給我一個你最常見到的runtime exception。
如果你這個答不出來,面試的人會認為你沒有實際程式設計經驗。

  第十八,error和exception有什麼區別?

  第十九,List, Set, Map是否繼承自Collection介面?

  第二十,abstract class和interface有什麼區別?
常問。

  第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

  第二十二,介面是否可繼承介面? 抽象類是否可實現(implements)介面? 抽象類是否可繼承實體類(concrete class)?

  第二十三,啟動一個執行緒是用run()還是start()?

  第二十四,構造器Constructor是否可被override?

  第二十五,是否可以繼承String類?

  第二十六,當一個執行緒進入一個物件的一個synchronized方法後,其它執行緒是否可進入此物件的其它方法?

  第二十七,try {}裡有一個return語句,那麼緊跟在這個try後的finally {}裡的code會不會被執行,什麼時候被執行,在return前還是後?

  第二十八,程式設計題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程式設計師特別喜歡問這種問題。

  第二十九,兩個物件值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?

  第三十,當一個物件被當作引數傳遞到一個方法後,此方法可改變這個物件的屬性,並可返回變化後的結果,那麼這裡到底是值傳遞還是引用傳遞?

  第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

  第三十二,程式設計題: 寫一個Singleton出來。

相關文章