明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

Java陷阱一籮筐----面試題集

[摘要]找工作要面試,有面試就有對(duì)付面試的辦法。以下一些題目來(lái)自我和我朋友痛苦的面試經(jīng)歷,提這些問(wèn)題的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司。面試是沒(méi)什么道理可講的,它的題目有的不合情理、脫離實(shí)際。有在紙上寫(xiě)的,有當(dāng)面考你的,也有在電話(huà)里問(wèn)的,給...
找工作要面試,有面試就有對(duì)付面試的辦法。以下一些題目來(lái)自我和我朋友痛苦的面試經(jīng)歷,提這些問(wèn)題的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司。

面試是沒(méi)什么道理可講的,它的題目有的不合情理、脫離實(shí)際。有在紙上寫(xiě)的,有當(dāng)面考你的,也有在電話(huà)里問(wèn)的,給你IDE的估計(jì)很少(否則你趕快去買(mǎi)彩票, 說(shuō)不定中)。所以如果你看完此文后,請(qǐng)不要抱怨說(shuō)這些問(wèn)題都能用IDE來(lái)解決。你必須在任何情況下準(zhǔn)確回答這些問(wèn)題,在面試中如果出現(xiàn)一兩題回答不準(zhǔn)確很 有可能你就被拒之門(mén)外了。

當(dāng)然這些都是Java的基本題,那些面試的人大多數(shù)不會(huì)問(wèn)你Hibernate有多先進(jìn),Eclipse的三個(gè)組成部分,或command design pattern,他們都是老一輩了,最喜歡問(wèn)的就是基礎(chǔ)知識(shí)。別小看了這些基礎(chǔ),我朋友水平一流,結(jié)果就栽在一到基礎(chǔ)知識(shí)的問(wèn)題下,和高薪無(wú)緣。

好了廢話(huà)少說(shuō),開(kāi)始正題。

第一,談?wù)刦inal, finally, finalize的區(qū)別。
最常被問(wèn)到。

第二,Anonymous Inner Class (匿名內(nèi)部類(lèi)) 是否可以extends(繼承)其它類(lèi),是否可以implements(實(shí)現(xiàn))interface(接口)?

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

第四,&和&&的區(qū)別。
這個(gè)問(wèn)得很少。

第五,HashMap和Hashtable的區(qū)別。
常問(wèn)。

第六,Collection 和 Collections的區(qū)別。
你千萬(wàn)別說(shuō)一個(gè)是單數(shù)一個(gè)是復(fù)數(shù)。

第七,什么時(shí)候用assert。
API級(jí)的技術(shù)人員有可能會(huì)問(wèn)這個(gè)。

第八,GC是什么? 為什么要有GC?
基礎(chǔ)。

第九,String s = new String("xyz");創(chuàng)建了幾個(gè)String Object?

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

第十一,short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?
面試題都是很變態(tài)的,要做好受虐的準(zhǔn)備。

第十二,sleep() 和 wait() 有什么區(qū)別?
搞線(xiàn)程的最?lèi)?ài)。

第十三,Java有沒(méi)有g(shù)oto?
很十三的問(wèn)題,如果哪個(gè)面試的問(wèn)到這個(gè)問(wèn)題,我勸你還是別進(jìn)這家公司。

第十四,數(shù)組有沒(méi)有l(wèi)ength()這個(gè)方法? String有沒(méi)有l(wèi)ength()這個(gè)方法?

第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類(lèi)型?
常問(wèn)。

第十六,Set里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?

第十七,給我一個(gè)你最常見(jiàn)到的runtime exception。
如果你這個(gè)答不出來(lái),面試的人會(huì)認(rèn)為你沒(méi)有實(shí)際編程經(jīng)驗(yàn)。

第十八,error和exception有什么區(qū)別?

第十九,List, Set, Map是否繼承自Collection接口?

第二十,abstract class和interface有什么區(qū)別?
常問(wèn)。

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

第二十二,接口是否可繼承接口? 抽象類(lèi)是否可實(shí)現(xiàn)(implements)接口? 抽象類(lèi)是否可繼承實(shí)體類(lèi)(concrete class)?

第二十三,啟動(dòng)一個(gè)線(xiàn)程是用run()還是start()?

第二十四,構(gòu)造器Constructor是否可被override?

第二十五,是否可以繼承String類(lèi)?

第二十六,當(dāng)一個(gè)線(xiàn)程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線(xiàn)程是否可進(jìn)入此對(duì)象的其它方法?

第二十七,try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程序員特別喜歡問(wèn)這種問(wèn)題。

第二十九,兩個(gè)對(duì)象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話(huà)對(duì)不對(duì)?

第三十,當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?

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

第三十二,編程題: 寫(xiě)一個(gè)Singleton出來(lái)。


好先說(shuō)這么一些。