oppo java开发(后端)2020_8_1面经
1. 自我介绍
2. 为什么不继续做深度学习,什么时候开始学java的。(掉线),通过什么途径去学,学了些什么东西。一般遇到不了解的东西,怎么去学习。
3. JVM内存结构?一般在哪些区域会出现OOM。遇到OOM该怎么分析?jvm调优工具有用到过吗?内存泄漏的场景有哪些?怎么处理内存泄漏的场景。(当程序有缓慢的内存泄漏时,该如何检测)。
4. 在java怎么做到并发三要素(原子性,可见性,有序性)。Volatile工作原理,可以保证原子性吗?举个例子。
5. 线程池用过吗,如果需要建立线程池,怎么操作?最大空闲时间是用来做什么的?
6. Java集合类里面hashmap和concurrentHashMap分别的应用场景,区别?
7. Mysql有哪些引擎,innodb里索引是怎么实现的。为什么用b+树去实现。为什么不用二叉树。主键索引和非主键索引有什么区别。对写sql有什么可以优化的地方。Innodb里面有哪些锁。
8. 数据库的隔离级别有哪些?innodb默认是哪个。可重复读会有哪些问题吗?快照发生在什么时候。怎么保证update的正确性。
9. 详细介绍一下http请求响应过程。如果服务器端出现大量的close_wait是什么原因。404,302,502,503分别是什么。502和503的区别。
10. 所做项目用到了什么技术。怎么做的,做了多久。
11. 反问。是按照部门招聘,还是统一面试再分配岗位。(统一面试)
12. 招聘流程(两轮技术面+hr面试)