好久没面试了,八股文肉眼可见的磕巴。
- JVM内存模型,各个内存区域的用途。
- 哪些区域是线程共享的,方法区为什么线程共享?
- 哪些区域不会产生OOM。
- 垃圾识别和回收算法,哪些对象可以成为GCRoot?
- 如何确保所有的对象都被穷举(???)
- 垃圾收集器的分类?并行收集器的原理?(没答上来)
- 类和对象的加载过程?双亲委派机制?
- 双亲委派机制的好处?如何自定义类加载器?
- 自定义类加载器的用途?生产环境中有没有用到过?
- 动态代理的实现和原理?生产环境中有没有用到过?
- 除了动态代理如何实现AOP?(答了字节码插装,把自己往坑里带)
- 插装有哪几种方式?生产环境中有没有用到过?
- 注解的作用?有哪几种分类?元注解有哪几种?生产环境中是否用到?
- Java多线程问题的本质是什么?(答了线程同步问题,面试官说不太对)
- volatile关键字的作用和使用场景?除了单例还有啥?(没答上来)
- 线程池的原理?有哪几种拒绝策略?
- 线程的生命周期?是否可以直接调用stop终止线程?
算法题:反转链表二:从n到m的结点进行反转。
总结:
一方面是工作确实很忙,每天都在写需求,解决线上问题什么的。
一方面是自己确实有些懈怠,理论基础忘的比较多。和实际项目的结合也不是太好。
给大家的建议就是,调整心态,不要传播焦虑,做好自己就足够了。