Java工程师的一些面试总结(6)

来源:互联网 发布:软件业务销售合同范本 编辑:程序博客网 时间:2024/05/22 07:41

要永远坚信这一点:一切都会变的,无论受多大创伤心情多么沉重,一贫如洗也好,都要坚持住。太阳落了还会升起,不幸的日子总会有尽头,过去是这样,将来也是这样。


本期面试题主要是Java基础。

解释一下java协变(可变)返回(java中如何变更返回值类型);
抽象类可以实例化吗?为什么不能示例化;java中的非静态块代码和静态块代码分别在什么时候执行;
static方法和对象方法有什么区别,优缺点;

interface中定义的接口默认修饰权限修饰符是什么,有没有其他修饰符;
Arraylist和Linkedlist的使用区别,特点;
ArrayList是否有序,通过那种方式实现的排序;
ArrayList的默认长度,是否有大小限制;
Arraylist增加一个元素时,其大小怎么变化;
Arraylist是否线程安全,如果做到线程安全(两种方式:CopyOnWriteArrayList,Collections.synchronizedList),
CopyOnWriteArrayList相对于ArrayList有什么不同;
Collections怎么实现对ArrayList的同步;
LinkedList是否有序,通过那种方式实现的排序;

HashMap的默认容量大小,加载因子,有没有大小限制;
HashMap在什么情况下会扩容,扩容之后的大小是如何计算的;
HashMap是否有序;
HashMap是否线程安全;
HashTable是否线程安全,key是否可以为null;
如果在多线程中安全的使用Map;java有没有提供给HashMap同步的方法;
linkedHashMap是否有序,如何做到的有序;
TreeMap是否同步;
TreeMap是否有序,默认顺序是按照什么来排的;
ConcurrentHashMap是否线程安全;
ConcurrentHashMap的是你设计保证了其线程安全;

Set中的值是否可以重复,怎么实现的没有重复值;
HashSet是否有序;
HashSet是否线程安全;如果做到线程安全(CopyOnWriteArraySet,外部加锁);

==、equals、hashCode=有什么区别;
Error和Exception的区别;
注解的生命周期有哪几种;

解释一下对泛型,对泛型的认识;
泛型在编译成class之后是否存在;
怎么规定一个泛型的上限和下限;

java中浅复制怎么实现;
java中深复制怎么实现;

长按下图识别二维码关注我们
也欢迎把程序约推荐给你的家人好友

欢迎在下面留言评论
这里写图片描述