Java常见面试题集及答案13876.docx
《Java常见面试题集及答案13876.docx》由会员分享,可在线阅读,更多相关《Java常见面试题集及答案13876.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java常见面试题集及答案找工作要面面试,有面面试就有对对付面试的的办法。以以下一些题题目来自业业内朋友痛痛苦的面试试经历,提提这些问题题的公司包包括IBMM, E*Tradde, SSiebeel, MMotorrola, SUNN,以及其其它大小公公司。面试是是没什么道道理可讲的的,它的题题目有的不不合情理、脱脱离实际。有有在纸上写写的,有当当面考你的的,也有在在电话里问问的,给你你IDE的的估计很少少(否则你你赶快去买买彩票,说说不定中)。所以如如果你看完完此文后,请请不要抱怨怨说这些问问题都能用用IDE来来解决。你你必须在任任何情况下下准确回答答这些问题题,在面试试中如果出出现一两题题
2、回答不准准确很有可可能你就被被拒之门外外了。当然这这些都是JJava的的基本题,那那些面试的的人大多数数不会问你你Hibeernatte有多先先进,Ecclipsse的三个个组成部分分,或coommannd deesignn pattternn,他们都都是老一辈辈了,最喜喜欢问的就就是基础知知识。别小小看了这些些基础,我我朋友水平平一流,结结果就栽在在一到基础础知识的问问题下,和和高薪无缘缘。好了废废话少说,开开始正题。问:第一,谈谈谈finnal, finaally, finnalizze的区别别。最常被被问到。第二,AAnonyymouss Innner CClasss (匿名名内部类)是
3、否可以以exteends(继承)其其它类,是是否可以iimpleementts(实现现)intterfaace(接接口)?第第三,Sttaticc Nessted Classs和Innner Classs的不同同,说得越越多越好(面试题有有的很笼统统)。第四,&和&的的区别。这个问问得很少。第五,HHashMMap和HHashttablee的区别。常问。第六,CColleectioon和Coollecctionns的区别别。你千万万别说一个个是单数一一个是复数数。第七,什什么时候用用asseert。APII级的技术术人员有可可能会问这这个。第八,GGC是什么么?为什么么要有GCC? 基础础。
4、第第九,Sttringg s = neww Strring(xyzz);创创建了几个个Striing OObjecct? 第第十,Maath.rroundd(11.5)等於於多少? Mathh.rouund(-11.55)等於多多少? 第第十一,sshortt s1 = 1; s1 = s11 + 11;有什么么错? sshortt s1 = 1; s1 += 11;有什么么错?面试试题都是很很变态的,要要做好受虐虐的准备。第十二二,sleeep()和waiit()有有什么区别别?搞线程程的最爱。第十三三,Javva有没有有gotoo?很十三三的问题,如如果哪个面面试的问到到这个问题题,我劝你
5、你还是别进进这家公司司。第十四四,数组有有没有leengthh()这个个方法? Striing有没没有lenngth()这个方方法? 第十十五,Ovverlooad和OOverrride的的区别。OOverlloadeed的方法法是否可以以改变返回回值的类型型?常问。第十六六,Sett里的元素素是不能重重复的,那那么用什么么方法来区区分重复与与否呢?是是用=还还是equuals()?它们们有何区别别? 第十十七,给我我一个你最最常见到的的runttime exceeptioon。如果你你这个答不不出来,面面试的人会会认为你没没有实际编编程经验。第十八八,errror和eexcepptionn有
6、什么区区别? 第十十九,Liist, Set, Mapp是否继承承自Colllecttion接接口? 第二二十,abbstraact cclasss和intterfaace有什什么区别?常问。第二十十一,abbstraact的mmethood是否可可同时是sstatiic,是否否可同时是是natiive,是是否可同时时是synnchroonizeed? 第二二十二,接接口是否可可继承接口口?抽象类类是否可实实现(immplemmentss)接口?抽象类是是否可继承承实体类(conccretee claass)? 第二二十三,启启动一个线线程是用rrun()还是sttart()?第二二十四,构构
7、造器Coonstrructoor是否可可被oveerridde? 第二二十五,是是否可以继继承Strring类类? 第二二十六,当当一个线程程进入一个个对象的一一个synnchroonizeed方法后后,其它线线程是否可可进入此对对象的其它它方法? 第二二十七,ttry 里有一一个retturn语语句,那么么紧跟在这这个tryy后的fiinallly 里的coode会不不会被执行行,什么时时候被执行行,在reeturnn前还是后后? 第二十十八,编程程题:用最最有效率的的方法算出出2乘以88等於几?有C背景景的程序员员特别喜欢欢问这种问问题。第二十十九,两个个对象值相相同(x.equaals(
8、yy) = truue),但但却可有不不同的haash ccode,这这句话对不不对? 第三十十,当一个个对象被当当作参数传传递到一个个方法后,此此方法可改改变这个对对象的属性性,并可返返回变化后后的结果,那那么这里到到底是值传传递还是引引用传递? 第三十十一,swwtichh是否能作作用在byyte上,是是否能作用用在lonng上,是是否能作用用在Strring上上? 第三十十二,编程程题:写一一个Sinngletton出来来。 好先先说这么一一些。答:第第一,谈谈谈finaal, ffinallly, finaalizee的区别。finnal修饰符(关关键字)如如果一个类类被声明为为fin
9、aal,意味味着它不能能再派生出出新的子类类,不能作作为父类被被继承。因因此一个类类不能既被被声明为aabstrract的的,又被声声明为fiinal的的。将变量量或方法声声明为fiinal,可可以保证它它们在使用用中不被改改变。被声声明为fiinal的的变量必须须在声明时时给定初值值,而在以以后的引用用中只能读读取,不可可修改。被被声明为ffinall的方法也也同样只能能使用,不不能重载。finallly再异常处处理时提供供finaally块块来执行任任何清除操操作。如果果抛出一个个异常,那那么相匹配配的cattch子句句就会执行行,然后控控制就会进进入finnallyy块(如果果有的话)。
10、finnalizze方法名。JJava技技术允许使使用finnalizze()方方法在垃圾圾收集器将将对象从内内存中清除除出去之前前做必要的的清理工作作。这个方方法是由垃垃圾收集器器在确定这这个对象没没有被引用用时对这个个对象调用用的。它是是在Objject类类中定义的的,因此所所有的类都都继承了它它。子类覆覆盖finnalizze()方方法以整理理系统资源源或者执行行其他清理理工作。ffinallize()方法是是在垃圾收收集器删除除对象之前前对这个对对象调用的的。第二,AAnonyymouss Innner CClasss (匿名名内部类)是否可以以exteends(继承)其其它类,是是否
11、可以iimpleementts(实现现)intterfaace(接接口)? 匿名的的内部类是是没有名字字的内部类类。不能eextennds(继继承)其它它类,但一一个内部类类可以作为为一个接口口,由另一一个内部类类实现。第三,SStatiic Neestedd Claass和IInnerr Claass的不不同,说得得越多越好好(面试题题有的很笼笼统)。Nessted Classs(一般般是C+的说法),IInnerr Claass (一般是JJAVA的的说法)。JJava内内部类与CC+嵌套套类最大的的不同就在在于是否有有指向外部部的引用上上。具体可可见htttp: / 注:静静态内部类类(
12、Innner CClasss)意味着着1创建一一个staatic内内部类的对对象,不需需要一个外外部类对象象,2不能能从一个sstatiic内部类类的一个对对象访问一一个外部类类对象第四四,&和&的区别别。&是位位运算符。&是布尔尔逻辑运算算符。第五,HHashMMap和HHashttablee的区别。都属于于Map接接口的类,实实现了将惟惟一键映射射到特定的的值上。HasshMapp类没有分分类或者排排序。它允允许一个nnull键键和多个nnull值值。Hasshtabble类似似于HasshMapp,但是不不允许nuull键和和nulll值。它也也比HasshMapp慢,因为为它是同步步的
13、。第六,CColleectioon和Coollecctionns的区别别。Colllecttionss是个jaava.uutil下下的类,它它包含有各各种有关集集合操作的的静态方法法。Colllecttion是是个javva.uttil下的的接口,它它是各种集集合结构的的父接口。第七,什什么时候用用asseert。断言是一个个包含布尔尔表达式的的语句,在在执行这个个语句时假假定该表达达式为trrue。如如果表达式式计算为ffalsee,那么系系统会报告告一个Assserttioneerrorr。它用于于调试目的的:asssert(a 0); / tthrowws ann Asssertiion
14、errror if aa = 0 断言言可以有两两种形式:asssert Exprressiion1 ; asssertt Exppresssion11 : EExpreessioon2 ; Exppresssion11应该总是是产生一个个布尔值。Exppresssion22可以是得得出一个值值的任意表表达式。这这个值用于于生成显示示更多调试试信息的SStrinng消息。断言在在默认情况况下是禁用用的。要在在编译时启启用断言,需需要使用ssourcce 1.4标记:javvac -sourrce 11.4 TTest.javaa 要在运运行时启用用断言,可可使用-eenablleasssert
15、iions或或者-eaa标记。要在运运行时选择择禁用断言言,可使用用-da或或者-diisablleasssertiions标标记。要系统统类中启用用断言,可可使用-eesa或者者-dsaa标记。还还可以在包包的基础上上启用或者者禁用断言言。可以在在预计正常常情况下不不会到达的的任何位置置上放置断断言。断言言可以用于于验证传递递给私有方方法的参数数。不过,断断言不应该该用于验证证传递给公公有方法的的参数,因因为不管是是否启用了了断言,公公有方法都都必须检查查其参数。不不过,既可可以在公有有方法中,也也可以在非非公有方法法中利用断断言测试后后置条件。另另外,断言言不应该以以任何方式式改变程序序的
16、状态。第八,GGC是什么么?为什么么要有GCC? (基基础)。GC是是垃圾收集集器。Jaava程序序员不用担担心内存管管理,因为为垃圾收集集器会自动动进行管理理。要请求求垃圾收集集,可以调调用下面的的方法之一一:Sysstem.gc() Runntimee.gettRunttime().gcc() 第九,SStrinng s = neew Sttringg(xyyz);创建了几几个Strring Objeect? 两个对对象,一个个是xyyx,一一个是指向向xyxx的引用用对象s。 第十,Maath.rroundd(11.5)等於於多少? Mathh.rouund(-11.55)等於多多少?
17、Matth.roound(11.55)返回(llong)112,Maath.rroundd(-111.5)返返回(loong)-11; 第十一,sshortt s1 = 1; s1 = s11 + 11;有什么么错? sshortt s1 = 1; s1 += 11;有什么么错? shortt s1 = 1; s1 = s11 + 11;有错,ss1是shhort型型,s1+1是innt型,不不能显式转转化为shhort型型。可修改改为s1 =(shhort)(s1 + 1) 。shhort s1 = 1; s1 += 1正正确。 第十二,ssleepp() 和和 waiit() 有什么区区别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 常见 试题 答案 13876
限制150内