面试刚开始是英文自我介绍、英文介绍项目、英文交流几个问题
接着是Java基础知识、数据库知识,面试官很好,很多问题并不会太为难你,还会询问你的工作意向。
面完大概3天就来了offer
面试问题和答案主要整理如下
- Java集合类
- collection 接口常用的子接口有:List 接口、Set 接口
- List 接口常用的子类有:ArrayList 类、LinkedList 类
- Set 接口常用的子类有:HashSet 类、LinkedHashSet 类
- HashTable和HashMap的区别,取哈希的方式有什么不同。
- 继承的父类不同
Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。
- 线程安全性不同
Hashtable 中的方法是Synchronize的,而HashMap中的方法在缺省情况下是非Synchronize的。在多线程并发的环境下,可以直接使用Hashtable,不需要自己为它的方法实现同步,但使用HashMap时就必须要自己增加同步处理。
- 是否提供contains方法
HashMap把Hashtable的contains方法去掉了,改成containsValue和containsKey,
Hashtable则保留了contains,containsValue和containsKey三个方法,其中contains和containsValue功能相同。
- key和value是否允许null值
Hashtable中,key和value都不允许出现null值。
HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。
- 两个遍历方式的内部实现上不同
Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式
- Hash值不同
哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。