如果题目要求“准确且低存储”,你会如何在“去重、幂等、退出递减”之间做设计?
If accuracy and low storage are required, how do you design around deduplication, idempotency, and decrements?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: dedup, TTL
参考答案摘要
答案 核心是把“进入/退出”建模为可去重的事件:为每个会话生成 sessionId,并对 enter/exit 事件赋予幂等键(pageId+sessionId+eventType)。存储层保存最新计数(整数或分片整数)即可;为防止重复递增/递减,引入短期去重表(可用 Redis set/bitmap+TTL)记录已处理事件,TTL 覆盖可能的重试窗口。退出递减依赖显式 exit 或心跳超时回收;...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。