华铁视通
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 时间:8月20日(复盘
- 公司:华铁视通
- 批次:秋招
- 形式:一面,约44分钟
- 我这轮把问题集中在三个点
- 下单后发 Kafka,数据库事务回滚了,怎么避免消费侧重复执行?
- 用户3分钟内重复点“支付”,怎么挡住重复扣款和重复通知?
- Redis key 在多服务共享时偶发被删,先怎么判断是偶发 bug 还是脏改?
- 我先说消息侧加事件状态机,失败回滚要让消费按“已处理”幂等落库。支付防重我补了订单号、用户操作窗口、扣款态检查。Redis 那题我从“读写方是否有权限边界”和“谁在什么时间删的”两层查起,最后给出 key 按业务域隔离 + 操作审计的方案。
《参考解析》
- Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
- MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。