Java 八股文面试当然要背,不背很难通过面试的
Java基础
Java基础面试题
- Java的特点
- Java 与 C++ 的区别
- JDK/JRE/JVM三者的关系
- Java程序是编译执行还是解释执行?
- 面向对象和面向过程的区别?
- 面向对象有哪些特性?
- 数组到底是不是对象?
- Java的基本数据类型有哪些?
- 为什么不能用浮点型表示金额?
- 什么是值传递和引用传递?
- 了解Java的包装类型吗?为什么需要包装类?
- 自动装箱和拆箱
- String 为什么不可变?
- 为何JDK9要将String的底层实现由char[]改成byte[]?
- String, StringBuffer 和 StringBuilder区别
- 什么是StringJoiner?
- String 类的常用方法有哪些?
- new String()会创建几个对象?
- 什么是字符串常量池?
- String最大长度是多少?
- Object常用方法有哪些?
- 讲讲深拷贝和浅拷贝?
- 两个对象的hashCode()相同,则 equals()是否也一定为 true?
- Java创建对象有几种方式?
- 说说类实例化的顺序
- equals和==有什么区别?
- 常见的关键字有哪些?
- final, finally, finalize 的区别
- final关键字的作用?
- 方法重载和重写的区别?
- 接口与抽象类区别?
- 常见的Exception有哪些?
- Error和Exception的区别?
- 运行时异常和非运行时异常(checked)的区别?
- throw和throws的区别?
- 通过故事讲清楚NIO
- BIO/NIO/AIO区别的区别?
- 守护线程是什么?
- Java支持多继承吗?
- 如何实现对象克隆?
- 同步和异步的区别?
- 阻塞和非阻塞的区别?
- Java8的新特性有哪些?
- 序列化和反序列化
- 什么时候需要用到序列化和反序列化呢?
- 实现序列化和反序列化为什么要实现 Serializable 接口?
- 实现 Serializable 接口之后,为什么还要显示指定 serialVersionUID 的值?
- static 属性为什么不会被序列化?
- transient关键字的作用?
- 什么是反射?
- 反射有哪些应用场景呢?
- 讲讲什么是泛型?
- 如何停止一个正在运行的线程?
- 什么是跨域?
- 跨域问题怎么解决呢?
Java集合面试题
- 常见的集合有哪些?
- List 、Set和Map 的区别
- ArrayList 了解吗?
- ArrayList 的扩容机制?
- 怎么在遍历 ArrayList 时移除一个元素?
- Arraylist 和 Vector 的区别
- Arraylist 与 LinkedList的区别
- HashMap
- 解决hash冲突的办法有哪些?HashMap用的哪种?
- 使用的hash算法?
- 为什么建议设置HashMap的容量?
- 扩容过程?
- put方法流程?
- 红黑树的特点?
- 在解决 hash 冲突的时候,为什么选择先用链表,再转红黑树?
- HashMap 的长度为什么是 2 的幂次方?
- HashMap默认加载因子是多少?为什么是 0.75?
- 一般用什么作为HashMap的key?
- HashMap为什么线程不安全?
- HashMap和HashTable的区别?
- LinkedHashMap底层原理?
- 讲一下TreeMap?
- HashSet底层原理?
- HashSet、LinkedHashSet 和 TreeSet 的区别?
- 什么是fail fast?
- 什么是fail safe?
- 讲一下ArrayDeque?
- 哪些集合类是线程安全的?哪些不安全?
- 迭代器 Iterator 是什么?
- Iterator 和 ListIterator 有什么区别?
- 如何让一个集合不能被修改?
- 并发容器
- ConcurrentHashMap
- put执行流程?
- 怎么扩容?
- ConcurrentHashMap 和 Hashtable 的区别?
- CopyOnWrite

最低0.47元/天 解锁文章
267

被折叠的 条评论
为什么被折叠?



