最近帮公司面试了一个211应届计算机毕业生,期望薪资6K,选取了部分问题,大家可以看一下,基础比较薄弱,建议多补补基础知识
我看你面试的岗位是java后端实习,我就问你一些简单的java基础。
- 说一说final,finally和finalize的区别和作用。
final表示最终,被它修饰的类,方法或者字段不能被修改。
finally是在处理异常的时候,将一定要执行的代码方法放在finally代码块中
finalize是一个方法。一般由垃圾回收器来调用。
2. 说一说this与super的区别
super指向父类,this指向它本身
3. static修饰过,还能用super或者this吗
不能用了,static修饰的变量或者方法是独立于该类的任何对象,这些变量和方法不属于任何一个实例对象。所以可以直接调用而不用再去用this或者super来引用了。
4. 为什么从一个静态方法里面调用一个非静态方法会报错?
静态方法会在一开始的时候就生成,而非静态方法这个时候还没生成。
5. 抽象类和接口有什么不同。
Java是单继承多实现的。抽象类,类的话就会有构造器和访问修饰符,且字段的修饰也是任意的。接口的话,是不允许定义private和protected的,并且字段默认都是static和final。
6. 知道哪些集合类
ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap,还有一些就记不清楚了
7. 记不清楚没事,说说他们的特点
从本质来说的话,它们分为3种,list,set和map。List是一个有序的数组,内容可以重复,set无序且不能重复,map的话就是键值对映射。Set删除和插入效率高,list的查找元素效率高
8. 应该有用过迭代器吧?
迭代器Iterator就是用来遍历集合的,调用集合的iterator方法来返回一个迭代器, 通过调用这个迭代器的hasNext来单向遍历使用它。
9. 你怎么使用的。
我只用过迭代器的next方法来获得对象和remove来删除对象
10. 我看你上面提到了hashmap,有了解过hashmap吗
记不清了。
11. Hashmap是线程安全的么?能讲一讲它的内部实现原理吗?
呃,这个这个,有点忘记了。
12. 好的,那没事,Hashmap考的还是有点频繁的,那你有用过多线程吗?能不能举个例子?
我只记得多线程有两种实现方式,一种是实现Runable接口,一种是继承Thread类
13. 那你能说下它们有什么区别吗
细节有点记得不太清楚了。
14.有了解BIO,NIO,AIO吗?
这个不知道。
这个我是真的失望。
最后我推荐一套技术资料包括Java核心知识点,如JVM、多线程并发、微服务等等,加上一些最新的大厂面试题、知识脑图和视频资料解析。
1、加微信获取

网友评论