软通动力JAVA面(已挂)
《面试题目》
- 自我介绍
- 实习中sql报错处理了哪些
- 实习中解决的数据加载问题
- springboot和spring的区别
- 自动装配的原理
- mybatis中的selectOne和selectList底层实现有什么区别,写项目中大部分用的哪个
- A表1000条数据,B表500条数据,能匹配上的只有300条,A inner join B会查出多少条,A LeftJoin B,A RightJoin B
- 对线程的理解,线程安全的理解,如何保证线程安全(上锁),除了上锁还有
- error和exception的区别
《参考解析》
-
MySQL深度:MySQL InnoDB使用B+树索引,支持ACID事务。关键知识点:聚簇索引(主键索引)叶节点存完整行数据;辅助索引叶节点存主键值(需回表);MVCC通过undo log版本链+ReadView实现多版本并发控制,解决脏读/不可重复读;事务隔离级别从低到高:读未提交→读已提交→可重复读(默认)→串行化。
-
Spring框架:Spring IoC容器管理Bean生命周期,核心是依赖注入(DI)。AOP面向切面编程通过动态代理(JDK/CGLIB)实现横切关注点(日志/事务/权限)。Spring事务传播行为:REQUIRED(加入现有或新建)、REQUIRES_NEW(挂起当前,新建)、NESTED(嵌套事务)等。