汇川技术 AI 全栈开发工程师技术二面面经
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 项目中遇到的最大挑战是什么?
- 如何保证 AI 重构后的功能与原功能完全一致?
- Java 21 有哪些新特性?新版本和 JDK 8 有什么区别?
- MySQL 怎么做数据同步?
- 分库分表有哪些策略,分别适用于什么场景?
- 水平分表如何保证每个表的数据量级接近?
- 分库分表后,用户如何查询自己名下的全部订单?
- 三方商家如何查询属于自己的订单?
- 金额计算或扣减类消息如何实现防重复消费?
《参考解析》
- 先建立旧实现与新实现的行为基线,再用契约测试、回放真实流量和差分校验比较结果;涉及写操作时还要校验副作用、顺序和错误码。
- 数据同步可采用 Binlog/CDC 投递消息,消费者按位点恢复并保证幂等;对强一致链路则应使用事务消息或在同一事务内完成关键写入。
- 分库分表通常按用户或订单维度哈希、按时间范围,或采用二者组合。分片键要覆盖主要查询条件,并保留路由表或索引表支持跨维度查询。
- 用户订单可按 userId 路由到固定分片;商家订单可维护 merchantId 维度的订单索引或独立查询表,避免每次请求广播到所有分片。
- 消费端用业务唯一键建立幂等记录或唯一约束,处理前检查状态、处理后原子落账;重试时重复消息只能得到同一结果。