今天下午刚刚联系就约了5点的电话面试,一首凉凉……
1. java中的finally一般在什么场景使用,我回答了一般用在资源清理,确保无论是否发生异常一定会执行finally
然后又问,如果只有try{}catch{}不行吗?资源清理的代码放在try{} catch{}之后不是也一样能确保清理吗?
我只能说如果catch里面有return,就必须要用finally了
2. 静态内部类如何访问外部类的成员变量
3. 静态内部类能独立实例化吗?
可以,静态内部类就是一个静态类,可以用Outer.Inner inner = new Outer.Inner()实例化
4. stack和queue的区别
5. 如何用stack实现queue
6. 有实际在项目中用到数据结构吗?
回答使用敏感词过滤的时候使用过前缀树数据结构
7. 如何用非递归实现二叉树的后续遍历
用一个栈实现(话说这里感觉回答的没问题啊,当时考研的时候这一块看了好久,代码全背下来了,面试官一直问我有没有什么 错误。。。)
8. 堆排序,问了可以使用什么数据结构,回答数组。问数组的第一个元素放在树的什么位置。
8. 接口和抽象类的区别
9. equals() 和 hashcode()的作用、区别,String中如何实现equals()
10. sleep(),wait()的区别
11. oop的特征
封装,继承,多态(面试官说还有一个。。。我是真不知道)
12. 多态和继承的本质区别
总结:其实都是基础题,很多是忽视了,也很多是忘记了,还是自己的水平不够吧,这次面试肯定是一首凉凉。但还是很感谢给了面试机会,每一次的面试都是一次锻炼,继续加油吧