如下分享的內(nèi)容是應(yīng)聘JAVA工程師的朋友經(jīng)常要考的題目,你準(zhǔn)備好了嗎?
第一,談?wù)刦inal, finally, finalize的區(qū)別。
第二,Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。
第四,&和&&的區(qū)別。
第五,HashMap和Hashtable的區(qū)別。
第六,Collection 和 Collections的區(qū)別。
第七,什么時(shí)候用assert。
第八,GC是什么? 為什么要有GC?
第九,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ò)?
第十二,sleep() 和 wait() 有什么區(qū)別?
第十三,Java有沒有g(shù)oto?
第十四,數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?
第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?
第十六,Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?
第十七,給我一個(gè)你最常見到的runtime exception。
第十八,error和exception有什么區(qū)別?
第十九,List, Set, Map是否繼承自Collection接口?
第二十,abstract class和interface有什么區(qū)別?
第二十一,abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?
第二十二,接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類(concrete class)?
第二十三,啟動(dòng)一個(gè)線程是用run()還是start()?
第二十四,構(gòu)造器Constructor是否可被override?
第二十五,是否可以繼承String類?
第二十六,當(dāng)一個(gè)線程進(jìn)入一個(gè)對象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法?
第二十七,try {}里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally {}里的code會不會被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?
第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
第二十九,兩個(gè)對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
第三十,當(dāng)一個(gè)對象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
第三十二,編程題: 寫一個(gè)Singleton出來。