猿辅导Java三面OC面经
猿辅导一面(8.07)
1. JVM的内存模型,那几个区容易发生OOM
2. JVM的垃圾回收算法,优点缺点比较
3. JVM中的垃圾回收器(重点介绍CMS,G1)
4. JVM中发生FullGC的情况,old区引用young区对象怎么办?(卡表记录)
5. Java线程池(7大参数)
6. 当有任务提交时,线程池的运行原理
7. 线程池中的是怎么根据keepalive时间来回收线程的
8. 怎么来保证线程之间的安全运行
9. Java中实现锁的方式(显示锁和Synchronized的区别)
10. Synchronized底层的原理(锁池和等待池)
11. JUC中的ReentrantLock底层(AQS)
12. TCP的可靠连接怎么保证
13. TCP和UDP的区别
14. 数据库的底层的B+数结构,为什么要使用B+,而不是AVL
15. Mysql的4个隔离级别,对应解决了哪些问题
16. 隔离级别中RR问题是怎么解决的
17. 数据库中的MVCC实现机制
18. 数据库中怎么解决幻读问题的—间隙锁
19. HashMap的扩容机制。加入都1亿个数据,是一次性rehash完么?
20. 渐进式的rehash,实现原理
猿辅导二面(8.14)
1. 双亲委派机制。有哪些好处。怎么打破。JAVA中哪些东西打破了双亲委派机制。
上下文线程类加载器是怎么打破的。上下文类加载器底层工作原理是什么?
2. Java可以自己重新写lang包下的类么?
3. 线程池中的线程的状态。状态之间的转换关系
4. Yield()方法有什么用
5. 为什么要废弃suspend和stop方法
6. 怎么去停止一个正在运行中的线程
7. 线程池中为什么要使用workqueue?
8. Java中的直接内存
9. Java中的NIO和BIO
10. NIO底层实现(分析三种实现方式)
11. CopyOnwriteArraylist和ConcurrentLinkedList底层实现
12. AQS底层
13. Redis中的持久化机制
14. Redis的集群说一说
15. 一致性Hash的好处与缺点(偏环)
16. 算法题 判断一个字符串是否是累加和字符串:
eg:”11235813”是一个累加和字符串
猿辅导三面(8.25)
1. 聊比赛,聊项目
2. Java中的NIO和BIO区别
3. Java中的直接内存
4. 直接内存产生OOM怎么办?
5. 项目中有遇到这种情况么?怎么解决的
6. Redis中RDB持久化的具体过程
7. 操作系统的进程通信方法
8. JVM中各个区具体存放哪些数据
9. 项目中遇到了哪些问题
#面经##校招##猿辅导##Java工程师#