您的位置:首页 > 职场人生

Java陷阱一箩筐----面试题集5

2008-05-11 20:17 387 查看
 
[align=left]谈谈final, finally, finalize的区别。

[/align]
[align=left]第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

[/align]
[align=left]第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。

[/align]
[align=left]第四,&和&&的区别。[/align]
[align=left]第五,HashMap和Hashtable的区别。[/align]
[align=left]第六,Collection 和 Collections的区别。

第七,什么时候用assert。

第八,GC是什么? 为什么要有GC? (基础)。

[/align]
[align=left]第九,String s = new String("xyz");创建了几个String Object?

[/align]
[align=left]第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?[/align]
[align=left]第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?[/align]
[align=left]第十二,sleep() 和 wait() 有什么区别? 搞线程的最爱

[/align]
[align=left] [/align]
[align=left]第十三,Java有没有goto?

[/align]
[align=left]第十四,数组有没有length()这个方法? String有没有length()这个方法?

[/align]
[align=left]第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

[/align]
[align=left]第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

[/align]
[align=left]第十七,给我一个你最常见到的runtime exception。

[/align]
[align=left]第十八,error和exception有什么区别?

[/align]
[align=left]
第十九,List, Set, Map是否继承自Collection接口?

[/align]
[align=left]第二十,abstract class和interface有什么区别?

[/align]
[align=left]第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

[/align]
[align=left]第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

[/align]
[align=left]第二十三,启动一个线程是用run()还是start()?

[/align]
[align=left] [/align]
[align=left]第二十四,构造器Constructor是否可被override?

[/align]
[align=left]第二十五,是否可以继承String类?。[/align]
[align=left]第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

[/align]
[align=left]第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

[/align]
[align=left]
第二十八,编程题: 用最有效率的方法算出2乘以8等於几?

[/align]
[align=left]第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

[/align]
[align=left]第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

[/align]
[align=left]
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

[/align]
[align=left]第三十二,编程题: 写一个Singleton出来。[/align]
[align=left]第三十三 Hashtable和HashMap
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现[/align]
[align=left]HashMap允许将null作为一个entry的key或者value,而Hashtable不允许[/align]
[align=left]还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。[/align]
[align=left]最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在
多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap
就必须为之提供外同步。[/align]
[align=left]Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。[/align]
[align=left] [/align]
[align=left]***********************第一个人的补充 abcdhy(程旭) **********************************[/align]
[align=left]上面的答案有问题:!!!我把有争议的几个列出来:[/align]
[align=left]第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? [/align]
[align=left]匿名的内部类是可以 extends(继承) 其它类的, 这个我做过测试.[/align]
[align=left]第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 += 1  也不是正确。其中 short s1 = 1 这句会出错的,因为 1 是 int 的[/align]
[align=left]第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。 这个答案也不正确, Set 区分重复元素是有具体子类来实现的.[/align]
[align=left]第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
不能,一个对象的一个synchronized方法只能由一个线程访问。
这个也有问题, 一个线程进入一个对象的一个synchronized方法后,这个线程占有了该对象的同步锁. 其他线程是不能进入此对象的其它同步方法的,因为其他线程得不到该对象的同步锁. 但其他线程可以入此对象的其它非同步方法,因为进入非同步方法,不需要同步锁.[/align]
[align=left]第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对,有相同的hash code。   按照 Java 的编码规范, x.equals(y) == true 的,hash code一定一样,但这只是编码规范,自己编程的时候可以不这么做,一样可以正常运行.[/align]
[align=left]第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
晕, 居然说:对象的引用是永远不会改变 ,对象的引用是什么,是内存地址(uint),怎么变啊. 传值还是传引用,是针对"对象"来说的.  对一个"对象的引用" 来说是:传值还是传引用 , 有意义吗??晕[/align]
[align=left]我简单看了一下,大家有什么意见可以一起讨论!![/align]
[align=left]***********************第三个人的回答 abcdhy(程旭) **********************************[/align]
[align=left]第一,谈谈final, finally, finalize的区别。
太简单
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
都可以
第三,Static Nested Class 和 Inner Class的不同,说得越多越好。
static 类不存在和外围类的关联
第四,&和&&的区别。
太简单
第五,HashMap和Hashtable的区别。
太简单
第六,Collection 和 Collections的区别。
太简单:前者是接口,或者是一个应用类
第七,什么时候用assert。
调试吧
第八,GC是什么? 为什么要有GC?
不用说
第九,String s = new String("xyz");创建了几个String Object?
废话,当然是一个,别说引用是对象
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
我晕
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
前者编译不了
第十二,sleep() 和 wait() 有什么区别?
前者自己睡,后者等别人
第十三,Java有没有goto?
关键字,没有用
第十四,数组有没有length()这个方法? String有没有length()这个方法?
数组是属性,String是方法
第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
重载和覆盖
第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
废话!怎么会用==?
第十七,给我一个你最常见到的runtime exception。
NullPointerException
第十八,error和exception有什么区别?
错误和异常,严重度不一样
第十九,List, Set, Map是否继承自Collection接口?
Map不是
第二十,abstract class和interface有什么区别?
这个也问?
第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
我猜:不能
第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
当然可以
第二十三,启动一个线程是用run()还是start()?
废话,start
第二十四,构造器Constructor是否可被override?
有点可笑
第二十五,是否可以继承String类?
noway
第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
当然可以
第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
当然是return前
第二十八,编程题: 用最有效率的方法算出2乘以8等於几?
我考 int sb=2<<3;
第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
这个问题是sb问给sb的.
可以有不同的hashCode,但是java不建议这样
第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
这个问题又是sb问给sb的
是传值,但是这个值是一个引用
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
int
第三十二,编程题: 写一个Singleton出来
双重check无效[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息