1.spring AOP中用了哪些代理技术?
JDK 动态代理和 CGLIB 动态代理。JDK动态代理是基于反射的。使用 CGLIB 需要实现 MethodInterceptor
接口,并重写intercept 方法,在该方法中对原始要执行的方法前后做增强处理。
2.cglib有什么缺陷吗?
相对于JDK动态代理,cglib创建代理对象话费的时间要多,因此如果是单例对象,不用频繁创建对象的情况下,使用cglib更合适一些。
3.MYSQL索引的底层实现是什么?不同存储引擎的索引底层实现?
MyISAM引擎使用B+Tree作为索引结构,是非聚集方式的索引。InnoDB也使用B+Tree作为索引结构,是聚集方式的。
4.索引在什么情况下是不管用的?
5.平时的项目中用了1.8的哪些新特性?
6.lamda表达式的结构组成是什么?是不是在所有的类和方法下都能用?要是想在lamda表达式中传一个参数怎么做?
7.为什么项目中的分库要用sharding?
8.订单id的生成规则
9.redis缓存的原理
10.为什么数据量很大的时候用mysql查询很慢
11.是用什么实现分页的?
12.聚集索引非聚集索引分别是什么?
13.QPS/TPS
14.CAP
15.用了哪些分布式事务
16.怎么实现分库?怎么跨库查询?