为什么“只存整数的高性能计数器”能把读复杂度降到 O(1)?适用前提是什么?
Why does an integer-based high-performance counter give O(1) reads, and what assumptions does it rely on?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: System Design
标签: O(1) read, latest value
参考答案摘要
答案 如果业务只关心“当前值”而不需要历史回溯,那么用一个整数(或少量分片整数)保存最新计数即可。读取时直接取值或取 shard 求和,避免复杂 JOIN/全表扫描,读复杂度接近 O(1),延迟也更稳定。适用前提是:不依赖事务查询、无需长期保留每次更新明细;若需要审计/回放,可另建事件日志异步落盘,但在线读路径仍以“最新值缓存/内存存储”为主。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。