后端岗位面试题更新 2026-08-05

请说明在使用Canal订阅binlog同步数据到Redis的场景中,为什么选择Canal而不是手动处理Redis?是否考虑过手动方式或与手动方式结合?另外,如果消息队列(MQ)出现积压,是否会影响数据一致性?

北京搜狐互联网信息服务有限公司后端开发技术原理方案权衡MySQLRedis

考察说明

考察对数据库与缓存同步方案选型及数据一致性风险的理解

回答思路

  1. 能解释Canal订阅binlog的增量同步优势,如解耦、低侵入、无需业务代码改动
  2. 能对比手动双写或显式更新Redis的局限,如双写一致性、代码耦合、失败处理复杂
  3. 能说明手动方式与Canal结合的可能场景,如缓存重建、兜底补偿
  4. 能分析MQ积压导致的数据不一致风险,如延迟窗口内的脏读、最终一致性权衡
  5. 能提出缓解措施,如监控告警、削峰填谷、过期策略
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。