Java常见面试题集及答案6304.doc
《Java常见面试题集及答案6304.doc》由会员分享,可在线阅读,更多相关《Java常见面试题集及答案6304.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Evaluation Warning: The document was created with Spire.Doc for .NET.Java常见面试题集及答案找工作要面试,有面试就有对付面试的办法。以下一些题目来自业内朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN,以及其它大小公司。面试是是没什么么道理可可讲的,它它的题目目有的不不合情理理、脱离离实际。有有在纸上上写的,有有当面考考你的,也也有在电电话里问问的,给给你IDE的估计计很少(否则你你赶快去去买彩票票,说不不定中)。所以以如果你你看完此此文后,请请不要抱抱怨说这这
2、些问题题都能用用IDE来解决决。你必必须在任任何情况况下准确确回答这这些问题题,在面面试中如如果出现现一两题题回答不不准确很很有可能能你就被被拒之门门外了。当然这这些都是是Javva的基本本题,那那些面试试的人大大多数不不会问你你Hibbernnatee有多先先进,Ecllipsse的三个个组成部部分,或或commmannd ddesiign pattterrn,他们们都是老老一辈了了,最喜喜欢问的的就是基基础知识识。别小小看了这这些基础础,我朋朋友水平平一流,结结果就栽栽在一到到基础知知识的问问题下,和和高薪无无缘。好了废废话少说说,开始始正题。问:第一,谈谈谈finnal, fiinall
3、ly, fiinallizee的区别别。最常被被问到。第二,Anoonymmouss Innnerr Cllasss (匿名内内部类)是否可可以exttendds(继承)其它类类,是否否可以impplemmentts(实现)innterrfacce(接口)?第三,Staaticc Neesteed CClasss和Innner Claass的不同同,说得得越多越越好(面试题题有的很很笼统)。第四,&和&的区别别。这个问问得很少少。第五,HasshMaap和Hasshtaablee的区别别。常问。第六,Colllecctioon和Colllecctioons的区别别。你千万万别说一一个是单单数一
4、个个是复数数。第七,什什么时候候用asssertt。APII级的技技术人员员有可能能会问这这个。第八,GC是什么?为什么么要有GC? 基础。 第第九,Strringg s = nnew Strringg(xxyz);创建了了几个Strringg Obbjecct? 第第十,Matth.rrounnd(111.55)等於多多少? MMathh.rooundd(-111.55)等於多多少? 第第十一,shoort s1 = 11; ss1 = s11 + 1;有什么么错? sshorrt ss1 = 1; s11 += 1;有什么么错?面试题题都是很很变态的的,要做做好受虐虐的准备备。第十二二,s
5、leeep()和waiit()有什么么区别?搞线程程的最爱爱。第十三三,Javva有没有gotto?很十三三的问题题,如果果哪个面面试的问问到这个个问题,我我劝你还还是别进进这家公公司。第十四四,数组组有没有有lenngthh()这个方方法? SStriing有没有lenngthh()这个方方法? 第十五五,Oveerlooad和Oveerriide的区别别。Oveerlooadeed的方法法是否可可以改变变返回值值的类型型?常问。第十六六,Set里的元元素是不不能重复复的,那那么用什什么方法法来区分分重复与与否呢?是用=还是equualss()?它们有有何区别别? 第十七七,给我我一个你你最
6、常见见到的runntimme eexceeptiion。如果你你这个答答不出来来,面试试的人会会认为你你没有实实际编程程经验。第十八八,errror和exccepttionn有什么么区别? 第十九九,Lisst, Sett, MMap是否继继承自Colllecctioon接口? 第二十十,absstraact claass和intterffacee有什么么区别?常问。第二十十一,absstraact的metthodd是否可可同时是是staaticc,是否可可同时是是nattivee,是否否可同时时是synnchrroniizedd? 第二十十二,接接口是否否可继承承接口?抽象类类是否可可实现(
7、immpleemennts)接口?抽象类类是否可可继承实实体类(conncreete claass)? 第二十十三,启启动一个个线程是是用runn()还是staart()?第二十十四,构构造器Connstrructtor是否可可被oveerriide? 第二十十五,是是否可以以继承Strringg类? 第二十十六,当当一个线线程进入入一个对对象的一一个synnchrroniizedd方法后后,其它它线程是是否可进进入此对对象的其其它方法法? 第二十十七,tryy 里有一一个retturnn语句,那那么紧跟跟在这个个try后的finnallly 里的codde会不会会被执行行,什么么时候被被执行
8、,在return前还是后? 第二十十八,编编程题:用最有有效率的的方法算算出2乘以8等於几?有C背景的的程序员员特别喜喜欢问这这种问题题。第二十十九,两两个对象象值相同同(x.equualss(y) = trrue),但却却可有不不同的hassh ccodee,这句句话对不不对? 第三十十,当一一个对象象被当作作参数传传递到一一个方法法后,此此方法可可改变这这个对象象的属性性,并可可返回变变化后的的结果,那那么这里里到底是是值传递递还是引引用传递递? 第三十十一,swttichh是否能能作用在在bytte上,是是否能作作用在lonng上,是是否能作作用在Strringg上? 第三十十二,编编程
9、题:写一个Sinngleetonn出来。 好先先说这么么一些。答:第第一,谈谈谈finnal, fiinallly, fiinallizee的区别别。finnal修饰符符(关键键字)如如果一个个类被声声明为finnal,意味味着它不不能再派派生出新新的子类类,不能能作为父父类被继继承。因因此一个个类不能能既被声声明为absstraact的,又又被声明明为finnal的。将将变量或或方法声声明为finnal,可以以保证它它们在使使用中不不被改变变。被声声明为finnal的变量量必须在在声明时时给定初初值,而而在以后后的引用用中只能能读取,不不可修改改。被声声明为finnal的方法法也同样样只能使
10、使用,不不能重载载。finallly再异常常处理时时提供finnallly块来执执行任何何清除操操作。如如果抛出出一个异异常,那那么相匹匹配的cattch子句就就会执行行,然后后控制就就会进入入finnallly块(如如果有的的话)。finnaliize方法名名。Javva技术允允许使用用finnaliize()方法在在垃圾收收集器将将对象从从内存中中清除出出去之前前做必要要的清理理工作。这这个方法法是由垃垃圾收集集器在确确定这个个对象没没有被引引用时对对这个对对象调用用的。它它是在Objjectt类中定定义的,因因此所有有的类都都继承了了它。子子类覆盖盖finnaliize()方法以以整理系
11、系统资源源或者执执行其他他清理工工作。finnaliize()方法是是在垃圾圾收集器器删除对对象之前前对这个个对象调调用的。第二,Anoonymmouss Innnerr Cllasss (匿名内内部类)是否可可以exttendds(继承)其它类类,是否否可以impplemmentts(实现)innterrfacce(接口)? 匿名的的内部类类是没有有名字的的内部类类。不能能exttendds(继承)其它类类,但一一个内部部类可以以作为一一个接口口,由另另一个内内部类实实现。第三,Staaticc Neesteed CClasss和Innner Claass的不同同,说得得越多越越好(面试题题
12、有的很很笼统)。Nesstedd Cllasss(一般般是C+的说法法),Innner Claass (一般是JAVVA的说法)。Javva内部类类与C+嵌套类类最大的的不同就就在于是是否有指指向外部部的引用用上。具具体可见见htttp: /xxfroontffreee.neet/aartiiclees/sservvicees/vvieww.assp?iid=7704&pagge=11 注:静静态内部部类(Innner Claass)意味味着1创建一一个staaticc内部类类的对象象,不需需要一个个外部类类对象,2不能从从一个staaticc内部类类的一个个对象访访问一个个外部类类对象第第四
13、,&和&的区别别。&是位位运算符符。&是布尔尔逻辑运运算符。第五,HasshMaap和Hasshtaablee的区别别。都属于于Map接口的的类,实实现了将将惟一键键映射到到特定的的值上。HasshMaap类没有有分类或或者排序序。它允允许一个个nulll键和多多个nulll值。Hasshtaablee类似于HasshMaap,但是是不允许许nulll键和nulll值。它它也比HasshMaap慢,因因为它是是同步的的。第六,Colllecctioon和Colllecctioons的区别别。Colllecctioons是个javva.uutill下的类类,它包包含有各各种有关关集合操操作的静静
14、态方法法。Colllecctioon是个javva.uutill下的接接口,它它是各种种集合结结构的父父接口。第七,什什么时候候用asssertt。断言是一个个包含布布尔表达达式的语语句,在在执行这这个语句句时假定定该表达达式为truue。如果果表达式式计算为为fallse,那么么系统会会报告一一个Assserttionnerrror。它用用于调试试目的:asssertt(a 00); / thrrowss ann Assserrtioonerrrorr iff a = 0 断言可可以有两两种形式式:asssertt Exxpreessiion11 ; asssertt Exxpreessii
15、on11 : Exppresssioon2 ; Exppresssioon1应该总总是产生生一个布布尔值。Exppresssioon2可以是是得出一一个值的的任意表表达式。这这个值用用于生成成显示更更多调试试信息的的Strringg消息。断言在在默认情情况下是是禁用的的。要在在编译时时启用断断言,需需要使用用souurcee 1.4标记:javvac -soourcce 11.4 Tesst.jjavaa 要在运运行时启启用断言言,可使使用-ennablleassserrtioons或者-ea标记。要在运运行时选选择禁用用断言,可可使用-da或者-diisabbleaasseertiionss
16、标记。要系统统类中启启用断言言,可使使用-essa或者-dssa标记。还还可以在在包的基基础上启启用或者者禁用断断言。可以在在预计正正常情况况下不会会到达的的任何位位置上放放置断言言。断言言可以用用于验证证传递给给私有方方法的参参数。不不过,断断言不应应该用于于验证传传递给公公有方法法的参数数,因为为不管是是否启用用了断言言,公有有方法都都必须检检查其参参数。不不过,既既可以在在公有方方法中,也也可以在在非公有有方法中中利用断断言测试试后置条条件。另另外,断断言不应应该以任任何方式式改变程程序的状状态。第八,GC是什么?为什么么要有GC? (基础)。GC是是垃圾收收集器。Javva程序员员不用
17、担担心内存存管理,因因为垃圾圾收集器器会自动动进行管管理。要要请求垃垃圾收集集,可以以调用下下面的方方法之一一:Sysstemm.gcc() Runntimme.ggetRRunttimee().gc() 第九,Strringg s = nnew Strringg(xxyz);创建了了几个Strringg Obbjecct? 两个对对象,一一个是xyyx,一个是是指向xyyx的引用用对象s。 第十,Maath.rouund(11.5)等於多多少? MMathh.rooundd(-111.55)等於多多少? Matth.rrounnd(111.55)返回(lonng)12,Matth.rroun
18、nd(-11.5)返回(lonng)-111; 第十一,sshorrt ss1 = 1; s11 = s1 + 11;有什么么错? sshorrt ss1 = 1; s11 += 1;有什么么错? shortt s11 = 1; s1 = ss1 + 1;有错,s1是shoort型,s1+1是int型,不能显显式转化化为shoort型。可可修改为为s1 =(sshorrt)(s1 + 11) 。shoort s1 = 11; ss1 += 11正确。 第十二,ssleeep() 和 waait() 有什么么区别? 搞线程程的最爱爱sleeep()方法是是使线程程停止一一段时间间的方法法。在sl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 常见 试题 答案 6304
限制150内