查看: 48823|回复: 124

[精华] Java陷阱一箩筐----面试题集[zt]

[复制链接]
论坛徽章:
39
ITPUB元老
日期:2005-10-13 10:38:002012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB官方微博粉丝徽章
日期:2011-07-04 09:42:062011新春纪念徽章
日期:2011-02-18 11:43:352011新春纪念徽章
日期:2011-01-04 10:36:17ITPUB9周年纪念徽章
日期:2010-10-08 09:34:022010新春纪念徽章
日期:2010-03-01 11:07:27祖国60周年纪念徽章
日期:2009-10-09 08:28:002009新春纪念徽章
日期:2009-01-04 14:52:282008新春纪念徽章
日期:2008-02-13 12:43:03
发表于 2004-7-23 13:33 | 显示全部楼层 |阅读模式
觉得写的不错,下面是原贴内容:

找工作要面试,有面试就有对付面试的办法。以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司。

面试是没什么道理可讲的,它的题目有的不合情理、脱离实际。有在纸上写的,有当面考你的,也有在电话里问的,给你IDE的估计很少(否则你赶快去买彩票, 说不定中)。所以如果你看完此文后,请不要抱怨说这些问题都能用IDE来解决。你必须在任何情况下准确回答这些问题,在面试中如果出现一两题回答不准确很 有可能你就被拒之门外了。

当然这些都是Java的基本题,那些面试的人大多数不会问你Hibernate有多先进,Eclipse的三个组成部分,或command design pattern,他们都是老一辈了,最喜欢问的就是基础知识。别小看了这些基础,我朋友水平一流,结果就栽在一到基础知识的问题下,和高薪无缘。

好了废话少说,开始正题。

第一,谈谈final, finally, finalize的区别。
最常被问到。

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

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

第四,&和&&的区别。
这个问得很少。

第五,HashMap和Hashtable的区别。
常问。

第六,Collection 和 Collections的区别。
你千万别说一个是单数一个是复数。

第七,什么时候用assert。
API级的技术人员有可能会问这个。

第八,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等於几?
有C背景的程序员特别喜欢问这种问题。

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

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

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

第三十二,编程题: 写一个Singleton出来。
认证徽章
论坛徽章:
55
生肖徽章:虎
日期:2006-09-06 21:14:232011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
发表于 2004-7-23 13:39 | 显示全部楼层
问题大体上都还不错。有几个比较无聊。

第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
面试题都是很变态的,要做好受虐的准备。

这个不知道。谁知道?

使用道具 举报

回复
论坛徽章:
39
ITPUB元老
日期:2005-10-13 10:38:002012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB官方微博粉丝徽章
日期:2011-07-04 09:42:062011新春纪念徽章
日期:2011-02-18 11:43:352011新春纪念徽章
日期:2011-01-04 10:36:17ITPUB9周年纪念徽章
日期:2010-10-08 09:34:022010新春纪念徽章
日期:2010-03-01 11:07:27祖国60周年纪念徽章
日期:2009-10-09 08:28:002009新春纪念徽章
日期:2009-01-04 14:52:282008新春纪念徽章
日期:2008-02-13 12:43:03
 楼主| 发表于 2004-7-23 14:08 | 显示全部楼层
高手们,写个答案出来秀

使用道具 举报

回复
认证徽章
论坛徽章:
55
生肖徽章:虎
日期:2006-09-06 21:14:232011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
发表于 2004-7-23 14:44 | 显示全部楼层

Re: Java陷阱一箩筐----面试题集[zt]

第一,谈谈final, finally, finalize的区别。
最常被问到。


final是用来定义一个常数,或者是不能overload的方法,不能继承的类。

finally是try/catch block的。

finalize是gc的时候调用的。

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


不记得了,好像不可以继承,只能实现接口。

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


不记得。用的非常少。

第四,&和&&的区别。
这个问得很少。


第一个会判断所有条件,第二个只要有一个条件不符合就会返回false

第五,HashMap和Hashtable的区别。
常问。


第一个不是synchronized。

第六,Collection 和 Collections的区别。
你千万别说一个是单数一个是复数。


Collections只是一个utility class

第七,什么时候用assert。
API级的技术人员有可能会问这个。


什么时候都可以啊。assert一般只是作为一个constraint的判断。不过只有1.4之后才有,而且编译的时候必须打开一个flag。

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


垃圾回收,不用自己做destructor。不过有时候觉得C++的这个东西还是挺方便的。就是一不小心就容易出错。

第九,String s = new String("xyz";创建了几个String Object?


比较无聊。可能是两个吧。

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?


12.0, -11.0

第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
面试题都是很变态的,要做好受虐的准备。


不知道

第十二,sleep() 和 wait() 有什么区别?
搞线程的最爱。


一个是停止一段时间,另外一个是等待条件。wait()必须有相应的notify()或者notifyAll()

第十三,Java有没有goto?
很十三的问题,如果哪个面试的问到这个问题,我劝你还是别进这家公司。


是保留字,但是没有实现。

第十四,数组有没有length()这个方法? String有没有length()这个方法?


array没有,string有。

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


overload不能改变方法的signature。这个是继承的东西。override是同一个类的。

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


equals()

第十七,给我一个你最常见到的runtime exception。
如果你这个答不出来,面试的人会认为你没有实际编程经验。


NullPointerException

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


Error是JVM的错误信息。Exception是程序的。

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


记不住了。

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


这个。。。很多很多。

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


synchronized不是限制词,所以随便什么都可以。abstract只能在继承中实现,所以需要this指针,因此必须不是static的。是不是native咱没试过。

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


应该都可以吧?

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


应该是start()。不过你也可以调用run()

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


可以

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


不可以。String是final class

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


可以,如果不是对同样的monitor synchronized的话。

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


会,先于return

第二十八,编程题: 用最有效率的方法算出2乘以8等於几?
有C背景的程序员特别喜欢问这种问题。


bit shift。不过比较变态。

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


完全可能

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


java中的所有对象参数都是引用传递。只有primitive类型才是值传递。

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


所有不是float, double, long的数值类型都可以。

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


  1. public class Singleton
  2. {
  3.   private static Singleton singleton;

  4.   private Singleton(){}

  5.   public synchronized static Singleton getInstance()
  6.   {
  7.     if (singleton==null)
  8.       singleton = new Singleton();
  9.     return singleton;
  10.   }
  11. }
复制代码

使用道具 举报

回复
论坛徽章:
45
海蓝宝石
日期:2007-10-15 12:41:142012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36奥运会纪念徽章:排球
日期:2012-08-09 23:54:382013年新春福章
日期:2013-02-25 14:51:24马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
发表于 2004-7-23 15:00 | 显示全部楼层
收藏,好些都答不上来,都没有用过。

使用道具 举报

回复
论坛徽章:
56
2010年世界杯参赛球队:瑞士
日期:2010-02-26 11:04:012012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23版主2段
日期:2012-05-31 02:10:00版主2段
日期:2012-05-31 02:10:00ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07现任管理团队成员
日期:2012-10-18 18:22:36
发表于 2004-7-23 17:17 | 显示全部楼层
偶有一些不同意见:

第二:可以继承,不能实现接口。
第四:&是“按位与”。比如8&8=8。
第十一:short s1 =1;s1=s1+1;第二个语句可能导致精度丢失。另一个俺不知道。
第三十:java永远是传值调用。包括primitive类型和对象参数。
       详细说明请见《java核心技术:卷I》(《Core java》)第四章。Method parameters一节。

使用道具 举报

回复
论坛徽章:
56
2010年世界杯参赛球队:瑞士
日期:2010-02-26 11:04:012012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23版主2段
日期:2012-05-31 02:10:00版主2段
日期:2012-05-31 02:10:00ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07现任管理团队成员
日期:2012-10-18 18:22:36
发表于 2004-7-23 17:23 | 显示全部楼层
1

core java 2 volume i - fundamentals, 6th edition.part1.rar

1.39 MB, 下载次数: 701

使用道具 举报

回复
论坛徽章:
56
2010年世界杯参赛球队:瑞士
日期:2010-02-26 11:04:012012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23版主2段
日期:2012-05-31 02:10:00版主2段
日期:2012-05-31 02:10:00ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07现任管理团队成员
日期:2012-10-18 18:22:36
发表于 2004-7-23 17:24 | 显示全部楼层
2

core java 2 volume i - fundamentals, 6th edition.part2.rar

1.39 MB, 下载次数: 488

使用道具 举报

回复
论坛徽章:
56
2010年世界杯参赛球队:瑞士
日期:2010-02-26 11:04:012012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23版主2段
日期:2012-05-31 02:10:00版主2段
日期:2012-05-31 02:10:00ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07现任管理团队成员
日期:2012-10-18 18:22:36
发表于 2004-7-23 17:26 | 显示全部楼层
3

core java 2 volume i - fundamentals, 6th edition.part3.rar

302.35 KB, 下载次数: 451

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2005-10-30 17:05:33管理团队2006纪念徽章
日期:2006-04-16 22:44:452011新春纪念徽章
日期:2011-02-18 11:42:48ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32
发表于 2004-7-23 19:22 | 显示全部楼层
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
面试题都是很变态的,要做好受虐的准备。

1 here is treated as integer, s1 will be prompted. The result will be an integer. If you want to put the result into short again, you have to cast it.

The second one is just a different form, no difference from the first one.

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

PostgreSQL中国大会,参会票抢购!

由 PostgreSQL中文社区与ITPUB联合主办的第九届《PostgreSQL 中国技术大会》将在北京隆重召开。PostgreSQL 作为功能最强的的开源关系型数据库之一,得到了越来越多企业的推广和运用,也越来越受到广大技术爱好者的欢迎和重视。这将是 PostgreSQL 的又一次交流盛会。
----------------------------------------
时间:2019年11月29~11月30日

点击报名>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表