招银网络科技后端开发一面面经
- 轮次
- 一面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 你如何理解分库分表?
- 聚簇索引和非聚簇索引有什么区别?
- 聚簇索引和唯一索引有什么区别?
- SQL 执行很慢时如何排查和优化?
- 如何保证索引有效?哪些场景会导致索引失效?
- 联合索引为什么可能导致查询变慢?
- Spring 和 Spring Boot 有什么区别?
- AOP 是什么?动态代理如何实现?
@Autowired和@Resource有什么区别?- 什么是依赖注入?
- 消息队列不可用时如何降级?
- 如何保证消息消费的一致性?
- 如何保证消息不丢失?
- 如何用动态规划求最大间隔和?
《参考解析》
- SQL 排查:先确认慢查询样本与参数,再用
EXPLAIN ANALYZE对比估算行数和实际行数,检查扫描量、回表、排序、临时表与锁等待。优化可能落在索引、SQL 写法、统计信息或数据模型,不能只靠新增单列索引。 - 聚簇与非聚簇索引:InnoDB 聚簇索引的叶子节点存整行数据,一张表只能有一个;二级索引叶子节点保存主键值,查询非覆盖列时需要回表。唯一索引描述的是值的唯一性约束,与数据是否聚簇是两个维度。
- 消息可靠性:生产端使用确认与持久化,Broker 做副本与刷盘,消费端在业务成功后确认,并通过业务唯一键或消费记录实现幂等。消费失败进入有上限的重试或死信流程,同时保留可观测的失败状态。
- Spring 与 Spring Boot:Spring 提供依赖注入、AOP 等基础容器能力;Spring Boot 通过自动配置、起步依赖和内嵌服务器减少应用装配成本。Boot 建立在 Spring 之上,不是替代关系。