智晟未来一面
不是哥们,这八股强度有点深;
1.java的bean的生命周期
2.什么afterset?
好像通过aop切面还是自定义注解来实现
3.@Aspect注解,@PostConstruct以及自定义的afterSet的执行顺序?
对象实例化->@PostConstruct->setter方法调用->@Aspect切面逻辑执行(setter方法执行后,afterSet逻辑会被执行)
4.aop增强?
前置,后置,异常抛出增强,最终增强等等
5.spring事务失效的原因以及如何解决?
未正确配置事务管理器(xml文件设置)
事务注解不当(例如注解位置例如@Transactional没有放在公共方法上)
传播行为设置不当(例如@Transactional注解的propagation属性设置了not_supported)
自调用问题(一个类内部的方法调用另一个被@Transactional注解的方法,因为这种调用不是通过代理对象进行的)------》解决:使用@Autowired注入自身的代理对象;
异常处理不当(事务默认抛出运行异常RuntimeException及子类才会回滚)如果是CheckedException而且没有配置rollbackFor属性,事务就不会回滚;
6.springboot的自动装配原理以及过程
启动SpringBoot应用->加载自动配置类->条件判断->相应的Bean被创建并注册到相应的Spring容器中
自定义自动装配?通过@Configuration注解创建自定义配置类或者@Conditional注解创建自定义条件
7.spring的循环依赖问题
构造器循环依赖(两个以上的Bean通过构造函数相互依赖)
Setter循环依赖
解决:三级缓存?具体过程
可以解决全部循环依赖问题吗?不行,无法解决构造器循环依赖,因为这个在对象实例化还没放入缓存就会出现了,应该重新设计依赖关系或者使用@Lazy注解
8.mysql隔离级别?
默认是哪个?
RR怎么解决?
MVCC具体介绍一下实现过程?
9.事务特性以及分别如何保证的?
10.redolog和undolog?
介绍一下redolog的刷盘策略?刷盘时机?通过参数控制?刷盘流程?
redolog如何写入磁盘的?(生成redolog->写入日志缓冲区->写入redolong->刷盘到物理磁盘)
11.binlog如何保证数据一致性的?
12.索引下推知道吗?(没听过)
13.syn悲观锁的升级过程
14.重量级锁的底层结构
?你知道底层的监听器Monitor是怎么实现的吗?(owner,count,WaitSet,EntryList双向链表)
反问:
业务:技术讲解,非纯开发。#攒人品#