2020年蘑菇街春招Java后端开发实习岗面经(一面+二面)

一面(视频面试,50分钟)
  1. 实习经历(20分钟)
  2. 介绍一下Spring AOP,AOP是如何实现的。JDK动态代理和CGLIB动态代理的区别?
  3. 思考:
    public class ServiceA {
        public void methodA() {
            this.methodB();
        }
         
        public void methodB() {}
    }
     
    public class ServiceB {
        @Autowired private ServiceA serviceA;
         
        public void methodC() {
            serviceA.methodA();
        }
    }
    
    假设ServiceA的每个方法都被织入了一个Around Advice,分别打印方法开始和方法结束的日志信息,请问调用methodC方法打印出几行日志?ServiceBserviceA引用的对象和methodA中的this是一回事吗?是什么关系?在JDK和CGLIB动态代理下会因此而发生变化吗?
  4. MySQL数据库优化思路。
  5. 有表(create_time, online_time, type, isDeleted)type取值在0~4之间,isDeleted取值为0,1
    其中有查询where online_time = xxx and create_time > xxx and type = 1 and isDeleted = 0
    怎么建立索引?如果整个数据库有1亿条,type为1的数据只有100条,要不要给type建立索引。
  6. JVM内存模型
  7. JVM运行时数据区,哪些是线程公有,哪些是线程私有的?
  8. JVM元数据区主要保存哪些信息?
  9. 程序计数器在进入native方法后的值是怎样的。
  10. 讲一下堆空间的结构(年轻代、老年代)。
  11. 什么时候触发Minor GC,什么时候触发Major GC。
  12. 对象是如何晋升的。
  13. 线程池构造参数有哪些,Executors构造的线程池有哪些,为什么不推荐使用Executors类构造线程池?
  14. 线程池提交任务后,线程池内部工作流程详细讲一下。
  15. 如何确定线程池的线程数量?
二面(视频面试,45分钟)
  1. 讲一下实习经历
  2. 讲一下项目,项目中遇到了哪些难点,如何解决的?
  3. GETPOST的区别?
  4. TCP为什么需要三次握手?
  5. Kafka是如何持久化消息的。
  6. Kafka发送消息或者消费消息很慢时如何解决?
  7. HashMapHashtable的区别?
  8. 算法题:一个有序的数组,找出两个不同的数使其等于n。如果数组是无序的怎么做?
发布了117 篇原创文章 · 获赞 96 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/abc123lzf/article/details/105232597