oppo面经 八股
1 Java平台的优点和缺点
2 Java中Exception 跟 Error 有什么区别
3 class not found exception和class not found error有什么区别
ClassNotFoundException 是编译 / 运行时可处理的 Exception
NoClassDefFoundError 是 JVM 级无法处理的 Error
4 Java的几种引用类型
强引用,只要强引用存在,JVM 绝对不会回收对象
软引用,内存不足时 JVM 才会回收
弱引用,只要触发 GC,无论内存是否充足,都会回收对象
虚引用,无法通过虚引用获取对象实例,仅用于监听对象被 GC 回收的事件,必须配合ReferenceQueue使用
5 String、StringBuffer、StringBuilder的区别
6 String 为什么要设计成不可变吗
保障线程安全,支持字符串常量池
7 StringBuffer的线程安全是如何实现的
核心是通过在所有涉及字符串修改的方法上添加 synchronized 关键字实现的
8 动态代理是基于什么原理实现的
9 动态代理主要用来解决什么问题
10 int 跟 Integer 有什么区别,Integer的值缓存范围
11 Linked List 跟 LinkedList 的区别
12 ArrayList 的扩容机制
13 HashMap 跟 TreeMap 有什么区别
HashMap:基于 “数组 + 链表 / 红黑树”,无序
TreeMap:基于 红黑树 实现,有序
14 TreeMap 的操作,像 get、 put、 remove 这些的时间复杂度是多少
O (logn)
15 如何判断一个链表有没有环
16 HashMap是线程安全的吗
17 怎么设计一个线程安全的 HashMap
18 ConcurrentHashMap如何实现线程安全的
细粒度锁(synchronized 锁桶节点)+ CAS 无锁操作 + 多线程协助扩容
19 接口和抽象类有什么区别
20 实习遇到的困难,如何解决
21 最难的课程是什么,怎么学会的
22 让你接手一个完全陌生的项目代码,你会怎么快速接手
#面经##面试问题记录##OPPO#
2 Java中Exception 跟 Error 有什么区别
3 class not found exception和class not found error有什么区别
ClassNotFoundException 是编译 / 运行时可处理的 Exception
NoClassDefFoundError 是 JVM 级无法处理的 Error
4 Java的几种引用类型
强引用,只要强引用存在,JVM 绝对不会回收对象
软引用,内存不足时 JVM 才会回收
弱引用,只要触发 GC,无论内存是否充足,都会回收对象
虚引用,无法通过虚引用获取对象实例,仅用于监听对象被 GC 回收的事件,必须配合ReferenceQueue使用
5 String、StringBuffer、StringBuilder的区别
6 String 为什么要设计成不可变吗
保障线程安全,支持字符串常量池
7 StringBuffer的线程安全是如何实现的
核心是通过在所有涉及字符串修改的方法上添加 synchronized 关键字实现的
8 动态代理是基于什么原理实现的
9 动态代理主要用来解决什么问题
10 int 跟 Integer 有什么区别,Integer的值缓存范围
11 Linked List 跟 LinkedList 的区别
12 ArrayList 的扩容机制
13 HashMap 跟 TreeMap 有什么区别
HashMap:基于 “数组 + 链表 / 红黑树”,无序
TreeMap:基于 红黑树 实现,有序
14 TreeMap 的操作,像 get、 put、 remove 这些的时间复杂度是多少
O (logn)
15 如何判断一个链表有没有环
16 HashMap是线程安全的吗
17 怎么设计一个线程安全的 HashMap
18 ConcurrentHashMap如何实现线程安全的
细粒度锁(synchronized 锁桶节点)+ CAS 无锁操作 + 多线程协助扩容
19 接口和抽象类有什么区别
20 实习遇到的困难,如何解决
21 最难的课程是什么,怎么学会的
22 让你接手一个完全陌生的项目代码,你会怎么快速接手
#面经##面试问题记录##OPPO#
全部评论
相关推荐
查看21道真题和解析