Java后端PCG一面 55min
1、自我介绍,技术栈介绍
2、项目介绍
3、RBAC模型,过滤器和拦截器的区别(不知道)
4、Spring的IOC和AOP,IOC用你的方式去说一下它是什么,有什么好处,AOP是什么,底层原理怎么实现,JDK和CGLIB,CGLIB不用继承的方式怎么实现动态代理
5、请求到SpringBoot到数据返回,是怎么一个流程?(面试官不准我背dispatcherServlet那些八股文,说了一下Servlet和String绑定,用Map的方式,然后数据SpringBoot被装载进来后,调用Servlet进行数据处理)
6、Redis的基本数据结构,跳跃表有什么,redis为什么采用跳跃表的实现(跳跃表有多个指针,二叉树的指针数相对来说少,平衡树要左旋右旋麻烦),redis为什么是单线程的,redis为什么那么快。
7、mysql,数据查询慢怎么办,慢查询抓取sql语句,然后用explain执行计划判断,建索引,B+树,为什么可以增快速度。
8、Java多线程,多线程并发为什么是不安全的(说了可见性、线程随机挂起,数据原子性之类的东西,但面试官说并不是本质)、单核多线程是线程安全的吗?为什么要用多线程,多线程可以干什么?
9、JMM、CAS、synchronized
10、AQS的实现(说了一点然后面试官就拦住我了)
后面说着说着感觉没说到面试官的点子上,总体来说还ok,但有点崩溃。