在做开发框架设计的过程中,什么点是最在意的,会着重确保的
服务的稳定性(可用性),基础服务的稳定性关系到整个系统的运行正常,特别是核心的认证中心、权限中心,必须确保其稳定,可多实例部署以提高系统可用性
核心接口的性能需要保证,可用性的另一层面体现,单点登录、权限校验等相关接口为高频调用接口,并发度高,且为其他业务逻辑的基础,需要确保其性能尽可能的高
数据完整性,开发基础框架相关数据多为系统核心底层数据,必须保证相关数据的完整性,否则可能导致业务遇到极大的影响
开发基础框架项目业务具备版本特性,在评估不合并入基础框架时,怎么进行版本管理
有什么办法,以插件化或热更新的方式,实现不同版本特性
通过SPI,启动Java进行时指定lib目录,有插件或更新需求时,将相应Jar包放入lib目录中,通过SPI机制加载并放入Spring容器中,通过Bean优先级及ObjectProvider,实现动态获取
使用已有或自定义类加载器,可从网络、文件系统等各种地方加载字节码,实例化并注入Spring容器中使用,或通过其他方式使用
对于简单少量类的场景,可通过字符串等形式定义类代码,通过JavaCompiler相关方法编译后加载使用
可借助javassist、cglib等框架
什么是MVCC,解决了什么问题
Undolog和RedoLog的区别
Binlog相关
Mysql主从复制
不借助Binlog的方式下,Mysql数据同步可以怎么解决
会怎么做SQL优化
Mysql索引时怎么实现的
B+树
索引树会发生重建么,什么情况下会整个重建,什么情况下会部分重建,Mysql页分裂
Spring AOP是怎么实现的
Spring怎么解决循环依赖的问题,二级缓存,三级缓存分别存了什么