1.面向对象的基本特征有那些?
2.重写和重载的区别?(重点),什么时候用重写,重载?
3.struts的工作流程
4.list和Set的区别?为什么要设计这2个接口?Arraylist HashSetLinkedList TreeSet
5.异常分类,如何捕获?
6.多线程问题(重点),死锁如何产生的?
7.谈谈反射机制?
8.设计题:
电梯分电梯内部和电梯外部,在外部只能开电梯,在内部能开,关电梯,设计一个程序,假如电梯在4楼,同时电梯内部按下到8楼,向上运行,按下关闭按钮之后,电梯外部不能再开门,如果此时1楼有人按了开门,电梯不能马上向下运行,必须等到到达电梯内部所按钮下的楼层才能向下运行,而如果在电梯往上运行过程中,10楼有人在电梯外部按钮开门按钮,则电梯要运行到达10楼开门,才能往下运行到1楼,再开门,请设计这个程序。
9.equals和hashCode方法
10.重写equals方法时需要注意什么?(没听过)
11.运行一下程序,结果是?
public static void main(String[] args) {
StringBuffer x = new StringBuffer("a");
StringBuffer y = new StringBuffer("b");
methodA(x,y);
System.out.println(x+","+y);
}
static StringBuffer methodA(StringBuffer s1, StringBuffer s2) {
return s1.append(s2);
}
12.程序题
public static void main(String[] args) {
Collection[] c = new Collection[]{new ArrayList(),new HashSet(),new Vector()};
for (int i = 0;
i < c.length;
i++) {
System.out.println(getString(c[i]));
}
}
static String getString(List list) {
return "List";
}
static String getString(Set list) {
return "Set";
}
【华赛面试题】 static String getString(Collection list) {
return "Collection";
}