- 相关推荐
Java面试经历NO.2
公司名:恒生电子集团子公司-杭州青芝网络有限公司
未完成面试题:
1.equal和hashcode方法的作用
2.设计一个储存树状结构数据的类,并设计一个它的管理器类,实现对所有节点的遍历的方法
3.一道SQL题,有3张表,学生表、课程表、学生选课表,要求查出所有学生未选课程的结果
做错的面试题:
1.public class StringTest {
public static void main(String[] args) {
StringTest stringTest=new StringTest();
String str="abc";
stringTest.changeStr(str);
System.out.println(str);
}
public void changeStr(String str) {
str="a";
}
}
输出结果是什么?为什么?
这题的正确答案应该是输出“abc”,但是我确以先入为主的观念,认定了string是引用传值(因为我自认为这种题不会考的很深),应该输出“a”。
其实string是一个不可变类,一旦创建了就不能改变它的值,方法中改变了值,其实是重新创建了一个新的对象,而老的对象是不改变的。
总结:
每一个面试题都要认真的对待,不要小看任何一个看似简单的题;
hashcode方法已经第二次考了,说明其面试的重要性,需要去研究一下,做做实验;
树状结构数据,以前只是用hibernate和数据库实现,需要自己写个类去测试一下
SQL题始终都是重点,每次面试几乎都有考到,需要多多练习相关题目