实在智能Java日常实习二面面经
《面试题目》
- 自我介绍
- Int与Integer的区别
- Integer缓存机制与==及equals比较
- ArrayList与LinkedList的区别
- ArrayList初始容量及扩容机制
- 联合索引与唯一索引的区别,唯一索引数量限制
- 索引覆盖(什么情况下不回表)
- 联合索引(A,B,C)查询条件为C=1 AND A=1时的索引利用情况
- 索引底层数据结构
- B+树优势
- like导致索引失效的场景
- 实习项目经历
- 为什么使用xxl-job
- Nacos配置热更新原理
- Spring中实现配置热更新的注解
- Spring事务注解及注意事项
- 不同环境(开发/测试/线上)的代码拉取策略
- Git分支处理流程
- 平时如何使用AI辅助开发
- 反问环节
《参考解析》
- Integer缓存机制:Integer在-128到127之间有缓存,使用==比较时,在此范围内返回true,超出则创建新对象。
- ArrayList扩容:初始容量为10(JDK8及以后延迟初始化),扩容倍数为1.5倍(旧容量+旧容量/2)。
- 索引覆盖(不回表):当查询的列全部都在索引树的叶子节点中时,不需要回表查询主键。
- 联合索引顺序:MySQL索引遵循最左匹配原则。查询条件C=1 AND A=1无法完全匹配(A,B,C)索引,可能导致索引失效或仅部分使用。
- Nacos配置热更新:利用Spring的@RefreshScope注解和Nacos的监听器机制,在配置变更时重新加载Bean。
- Spring事务注意点:注意事务传播行为、事务失效场景(如同类方法内部调用、private方法、未抛出运行时异常等)。