Java程式設計師面試題詳解

才智咖 人氣:1.78W

 

Java程式設計師面試題詳解

找工作要面試,有面試就有對付面試的辦法。以下一些題目來自我和我朋友痛苦的面試經歷,提這些問題的公司包括IBM, E*Trade, Siebel,Motorola, SUN,以及其它大小公司。

面試是沒什麼道理可講的,它的題目有的不合情理、脫離實際。有在紙上寫的,有當面考你的,也有在電話裡問的,給你IDE的估計很少(否則你趕快去買彩票,說不定中)。所以如果你看完此文後,請不要抱怨說這些問題都能用IDE來解決。你必須在任何情況下準確回答這些問題,在面試中如果出現一兩題回答不準確很有可能你就被拒之門外了。

當然這些都是Java的基本題,那些面試的人大多數不會問你Hibernate有多先進,Eclipse的三個組成部分,或command design pattern,他們都是老一輩了,最喜歡問的就是基礎知識。別小看了這些基礎,我朋友水平一流,結果就栽在一到基礎知識的問題下,和高薪無緣。

好了廢話少說,開始正題。

 第一,談談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?

第十,(11.5)等於多少? (-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類?