③变态级JAVA程序员面试32问(留给后人)

cnliutian 2004-10-27 10:47:49
第一,谈谈final, finally, finalize的区别。

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

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

第四,&和&&的区别。

第五,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()这个方法?

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

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

第十七,给我一个你最常见到的runtime exception。

第十八,error和exception有什么区别?

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

第二十,abstract class和interface有什么区别?

第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

第二十三,启动一个线程是用run()还是start()?

第二十四,构造器Constructor是否可被override?

第二十五,是否可以继承String类?

第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

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

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

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

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

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

第三十二,编程题: 写一个Singleton出来。

...全文
1790 66 打赏 收藏 转发到动态 举报
写回复
用AI写文章
66 条回复
切换为时间正序
请发表友善的回复…
发表回复
风斧 2004-12-03
  • 打赏
  • 举报
回复
俺面试不及格,学习
vv2004 2004-10-29
  • 打赏
  • 举报
回复
mark
hai3qing 2004-10-29
  • 打赏
  • 举报
回复
学习,收场先!
spiritsl 2004-10-29
  • 打赏
  • 举报
回复
我认为finally应该在return之前运行
这样的语句经常被用在获取数据库连接的时候
try{
connection = DBPool.get();
.......
//todo
}
catch(SQlException e)
{
//todo
}
finally
{
try{
if(connection != null)
connection.close();
}
catch(SQLException e)
{
connection = null;
//todo
}
}

这样写的目的就是不管出现什么样的情况,数据库的连接都应该关闭。
cnliutian 2004-10-29
  • 打赏
  • 举报
回复
已经说过了是给新人看的,为什么还总说贴子老,这东西什么时候看对新人来说都是有用处的
kingdom119 2004-10-29
  • 打赏
  • 举报
回复
太老了吧。。N年前都看过了!!
abcdhy 2004-10-29
  • 打赏
  • 举报
回复
finally 语句 正确的说 应该是在 退出 try 语句块(或 catch块) 时执行.

所以应该是在 return 语句 "之后" 执行!!

tigeryu(吴越小虎) 对吗???
fatcatman 2004-10-29
  • 打赏
  • 举报
回复
mark
wuyue-tiger 2004-10-29
  • 打赏
  • 举报
回复
spiritsl(梦雨心蓝)请先看了前面的讨论内容再做回应好吗?

finally 语句 正确的说 应该是在 退出 try 语句块(或 catch块) 时执行.

所以应该是在 return 语句 "之后" 执行!!

abcdhy(程旭) 终于明白finally是怎么回事了
abcdhy 2004-10-28
  • 打赏
  • 举报
回复
上面的答案有问题:!!!我把有争议的几个列出来:

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

匿名的内部类是可以 extends(继承) 其它类的, 这个我做过测试.

第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 += 1 也不是正确。 其中 short s1 = 1 这句会出错的,因为 1 是 int 的

第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。 这个答案也不正确, Set 区分重复元素是有具体子类来实现的.

第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
不能,一个对象的一个synchronized方法只能由一个线程访问。
这个也有问题, 一个线程进入一个对象的一个synchronized方法后,这个线程占有了该对象的同步锁. 其他线程是不能进入此对象的其它同步方法的,因为其他线程得不到该对象的同步锁. 但其他线程可以入此对象的其它非同步方法,因为进入非同步方法,不需要同步锁.

第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对,有相同的hash code。 按照 Java 的编码规范, x.equals(y) == true 的,hash code一定一样,但这只是编码规范,自己编程的时候可以不这么做,一样可以正常运行.

第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
晕, 居然说:对象的引用是永远不会改变 ,对象的引用是什么,是内存地址(uint),怎么变啊. 传值还是传引用,是针对"对象"来说的. 对一个"对象的引用" 来说是:传值还是传引用 , 有意义吗??晕

我简单看了一下,大家有什么意见可以一起讨论!!
sunlm78 2004-10-28
  • 打赏
  • 举报
回复
提醒大家一下,上面的答案未必是正确答案。在下面的地址中以更多的讨论
http://community.csdn.net/Expert/topic/3380/3380141.xml?temp=.6769068
linhahn 2004-10-28
  • 打赏
  • 举报
回复
收藏
百年树熊 2004-10-28
  • 打赏
  • 举报
回复
感谢,已收藏。
xmbareheaded 2004-10-28
  • 打赏
  • 举报
回复
mark
redez 2004-10-28
  • 打赏
  • 举报
回复
收藏
atestya 2004-10-28
  • 打赏
  • 举报
回复
俺就会第4个
kui 2004-10-28
  • 打赏
  • 举报
回复
面试要做那么多题目?

我就知道做一道题,第二十八题:
直接等于16.
JOnaran 2004-10-28
  • 打赏
  • 举报
回复
你们都是高手呀 太NB了
我还是一个什么都不懂的呢~
现在要好好向你们学习~
dlmaomao 2004-10-28
  • 打赏
  • 举报
回复
收藏
keithhe 2004-10-28
  • 打赏
  • 举报
回复
是变态
加载更多回复(46)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧