java后端面试题(一)

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.怎么实现分库?怎么跨库查询?

 

你可能感兴趣的:(java后端面试题(一))