CSDN博客

img fiesta

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

发表于2004/7/14 11:54:00  1096人阅读

找工作要面试,有面试就有对付面试的办法。以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括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出来。








posted on 2004年07月12日 6:05 PM

反馈

# 回复:Java陷阱一箩筐----面试题集

期待答案!
2004-07-13 8:21 AM | pass

# 回复:Java陷阱一箩筐----面试题集

1。FINAL 相当于常量修饰符
FINALY 代码块中总是被执行到的部分,常用在异常处理代码块后面
FINALIZE GC中消除对象之前进行清理的函数
2。不可以
3。不清楚了。。。
4。位与和逻辑与
5。不清楚了
6。容器类 不清楚了。。。
7。不知道了 >_<
8。垃圾回收,回收资源
9。2个
10。12 -11
11。S1是Short s1 + 1 结果是int 赋值类型错 后一个错可能一样
12。线程的忘了 > <
13。没吧
14。有吧 有吧 如果没也很容易得到
15。超载和覆盖 可以
16。没用过,觉得用 EQUALS()同一对象时 == TRUE
17。晕 没做过项目我
18。错误对象和异常对象
19。不是吧
20。接口里不能有非虚成员
21。可以吧
22。可以,可以,可以
23。RUN
24。可以
25。不可以??
26。不可以
27。会,之前
28。2^5?
29。对吧
30。引用
31。可以,不,可以
32。不会!
2004-07-13 9:15 AM | 好久不看JAVA了 乱答一下

# 没有看书 凭印角写一了大部分

第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
比如
addActionListener(new ActionListener(){...};
addMouseListener(new MouseAdapter(){....});

3、也不清楚

5、线程安全 hashtable好象是jdk1.0就有的和vector一个时代的

6collection 是接口,collections好象带了许多内部的容器实现

6/回收内存资源

9这个很难说 ,因为这个可能是虚拟机的实现有关

比如说如果虚拟机内部有字符串缓冲池
只有新建一个事实上的字符串,才在缓冲池增加一个
这个时候 可能只有1个string Object被创建 其它两个是引用

也有可能是3个 ,但不可能是两个

10上机一试就知道 不回答这种弱智问题

11又是一个胥智问题
上机5分钟就出来答案的问题 不要问

12 sleep是休息 中间不会进行操作 而wait在被call这后就会操作
而且sleep的时间可以被设定 而wait要看别人的眼色

13去死 没有goto C#倒有

14 array的是length是字段 而string的length是方法

15 可以 一个是覆盖父类的方法 以呈现新的行为 另一个则是便于使用方法

16 用的equals ==是物理相等 equals是逻辑相等

17 nullpointer parameter

18 error是程序人员自己犯错 该打 exception是在运行时因为资源不满足而出现的问题

19 Map 不是

20 前者有实现 后者无

21 在abstract class中的abstract method 是不能加这些修饰的 因为它只代表一个入口,实现的时候自己看着办

22 都可以

23 start

24 当然可以
25 当然不行,不变类是不可被继承的
26 当然不行

27 在记忆中应该是会被执行的,应该是在return前

28 2X8 我不用位与 如果要快的话 干脆用C++算了

29 可以的 但是这种方法有时会出问题 象hashMap,HashSet都是根据hashCode进行查找 然后再比较的,effective java说了 如果重写equals就一定要重写hashCode

30是值传递 如果是基本类型就不说了 ,如果是对象 ,传过来的就是对象引用(它是基本类型,象指针一样)的复制

31byte 和long是可以的 String不行
因为它不是基本类型,要用equals才行
C#可以 怪怪的

32 不写了
0 0

相关博文

我的热门文章

img
取 消
img