Engineering Manager / Data · Panel Technical System Design

Apple Data Dashboard:指标口径、新鲜度与权限

把看板设计落到受众决策、指标契约、可追溯数据层、查询性能和质量提示。

题目重点:把看板设计落到受众决策、指标契约、可追溯数据层、查询性能和质量提示。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 训练看板服务产品经理观察手机应用使用趋势;具体原题指标和决策场景未知。
  • 看板展示聚合事件,不默认允许下钻到个人数据;指标的分母、去重单位和时间区间必须形成明确契约。

解题路线

  1. 先问看板使用者要做什么决策:告警、实验分析或运营日报?明确访问频率、刷新 SLA、历史深度与维度下钻需求。
  2. 为每个指标写定义:事件来源、去重键、用户/设备单位、分子分母、时区、过滤条件、归因窗口与数据截至时间;语义层复用定义,避免各图表各自 SQL。
  3. 底层用可回放事实表与按常见维度/时间粒度预聚合的读模型。查询 API 用可授权的过滤维度、分页与缓存,缓存键包含租户/权限和指标版本。
  4. 展示数据新鲜度和质量状态:晚到修正、分区缺失或回填中时标识不完整;权限小样本阈值、防推断与导出审计保护个人数据。
  5. 监控查询 P95、看板可用性、刷新延迟、源表到汇总对账及指标定义变更;上线前让业务方用已知样本验算。

手动走一遍

‘日活用户’若按本地时区还是 UTC、按 user_id 还是 device_id 去重,数值会不同。看板卡片显示定义与‘数据截至 14:00 UTC’,晚到回填时显示修订提示;避免用户误把未完整的当天数当业务下降。

规模与取舍

原始事实表 E 行直接扫描代价随查询范围增长;按固定时间/维度预聚合能降低常用查询,但维度组合数量可能组合爆炸,须按真实使用频率选择物化层。

易错点与追问

容易失分的边界

  • 先画图表而不定义决策和指标口径。
  • 不同卡片的时区/分母不一致。
  • 缓存未带权限或指标版本,泄露或返回旧定义值。
  • 数据延迟却不显示截至时间。
  • 任意维度细分到极小人群,产生隐私推断风险。

继续深挖

  • 实时数据与日终修正不一致时如何呈现?
  • 支持用户任意维度筛选时如何限制查询成本?
  • 指标公式变更如何做版本迁移和历史比较?
  • 哪些图表需实时,哪些可以批处理?
✓已复制微信号!