oppo安卓一面面经
1.常见数据结构有哪些?数组和链表的优缺点?
2.hashmap内部的数据结构与原理?为什么用红黑树?红黑树的结构,为什么更快?
3.常见的排序算法?堆排序?不会。快速排序?
4.java的异常处理流程?try,catch,finally的return问题,流程是什么?try和catch该执行的执行,finally中的语句一定会被执行的,但是放在缓冲区里,一般是最后执行,同时return会覆盖掉try和catch中的return。 5.java中的异常分类?(这里还有一个考点是expection和error)
6.为什么使用线程池?有什么好处?开辟的thread资源在哪里,需要开辟哪些内存?开辟线程的耗时?
7.线程池有哪些参数?线程池的流程?为什么需要等待队列,而不是直接放入非核心线程?
8.java垃圾回收机制,垃圾回收算法?
9.java如何判断一个对象被回收?GC ROOT包括哪些?
10.java类加载的过程?自定义的classloader是否可以加载自定义的String?双亲委派机制为什么这样设计,会导致什么样的问题?
11.http传输的过程?dns机制?http请求头格式,http请求体?TCP传输层?
12.https传输的过程?证书里面有哪些内容,怎么检验他的安全性,原理?
#OPPO##安卓面经#