找工作要面試,有面試就有對付面試的辦法。以下一些題目來自我和我朋友痛苦的面試經(jīng)歷,提這些問題的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司。
面試是沒什么道理可講的,它的題目有的不合情理、脫離實際。有在紙上寫的,有當面考你的,也有在電話里問的,給你IDE的估計很少(否則你趕快去買彩票, 說不定中)。所以如果你看完此文后,請不要抱怨說這些問題都能用IDE來解決。你必須在任何情況下準確回答這些問題,在面試中如果出現(xiàn)一兩題回答不準確很 有可能你就被拒之門外了。
當然這些都是Java的基本題,那些面試的人大多數(shù)不會問你Hibernate有多先進,Eclipse的三個組成部分,或command design pattern,他們都是老一輩了,最喜歡問的就是基礎知識。別小看了這些基礎,我朋友水平一流,結(jié)果就栽在一到基礎知識的問題下,和高薪無緣。
好了廢話少說,開始正題。
第一,談談final, finally, finalize的區(qū)別。
最常被問到。
第二,Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實現(xiàn))interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。
第四,&和&&的區(qū)別。
這個問得很少。
第五,HashMap和Hashtable的區(qū)別。
常問。
第六,Collection 和 Collections的區(qū)別。
你千萬別說一個是單數(shù)一個是復數(shù)。
第七,什么時候用assert。
API級的技術(shù)人員有可能會問這個。
第八,GC是什么? 為什么要有GC?
基礎。
第九,String s = new String("xyz");創(chuàng)建了幾個String Object?
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
第十一,short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?
面試題都是很變態(tài)的,要做好受虐的準備。
第十二,sleep() 和 wait() 有什么區(qū)別?
搞線程的最愛。
第十三,Java有沒有g(shù)oto?
很十三的問題,如果哪個面試的問到這個問題,我勸你還是別進這家公司。
第十四,數(shù)組有沒有l(wèi)ength()這個方法? String有沒有l(wèi)ength()這個方法?
第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?
常問。
第十六,Set里的元素是不能重復的,那么用什么方法來區(qū)分重復與否呢? 是用==還是equals()? 它們有何區(qū)別?
第十七,給我一個你最常見到的runtime exception。
如果你這個答不出來,面試的人會認為你沒有實際編程經(jīng)驗。
第十八,error和exception有什么區(qū)別?
第十九,List, Set, Map是否繼承自Collection接口?
第二十,abstract class和interface有什么區(qū)別?
常問。
第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
第二十二,接口是否可繼承接口? 抽象類是否可實現(xiàn)(implements)接口? 抽象類是否可繼承實體類(concrete class)?
第二十三,啟動一個線程是用run()還是start()?
第二十四,構(gòu)造器Constructor是否可被override?
第二十五,是否可以繼承String類?
第二十六,當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?
第二十七,try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后?
第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程序員特別喜歡問這種問題。
第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
第三十,當一個對象被當作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
第三十二,編程題: 寫一個Singleton出來。