Skip to content

最近一个小时内访问频率最高的10个IP ​

题目 ​

实时输出最近一个小时内访问频率最高的 10 个 IP,QPS 可能达到 10W/s,怎么设计?

参考答案 ​

思路通常是:

  1. 按秒或按分钟做滑动窗口分桶
  2. 每个桶统计 IP 次数
  3. 定时淘汰一个小时前的数据
  4. 用最小堆维护 Top10

如果流量很大,可以先按 hash 分片统计,再做全局聚合。

回答展开 ​

  • 系统设计题建议先讲目标和约束,再给核心链路,最后补高可用与降级。
  • 回答时尽量体现读写路径、热点、容量、故障处理和扩展性。
  • 如果能说明为什么这样拆层、为什么这样选型,会更像真实设计。

实际场景 ​

这些都是典型系统设计题。比如秒杀要解决削峰和防超卖,排行榜要解决实时排序,通知系统要解决模板、多渠道和失败重试。

努力工作 享受生活