51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

在K12教育场景下,以“学员”为中心设计维度模型,包含事实表和维度表,需支撑业务分析(如课程效果、教师绩效),请说明事实表和维度表的设计思路及业务指标映射关系。

好未来数据仓库难度:中等

答案

1) 【一句话结论】
以K12教育场景“学员”为中心,采用星型模型,以“学员学习行为”事实表为核心,关联学员、课程、教师、时间等维度表,通过事件时间、数据分区等工程优化,支撑课程效果与教师绩效分析。

2) 【原理/概念讲解】
维度模型(星型模型)是数据仓库的核心架构,核心是事实表(存储业务事件的核心度量)和维度表(存储描述性维度)。事实表是模型中心,记录业务事件(如“学员学习”“作业提交”)及业务度量(如学习时长、作业正确率),主键为复合键(事实键+维度键);维度表围绕事实表展开,存储描述性属性(如学员姓名、课程名称、教师专业),主键为单键,用于关联事实表。类比:事实表像“事件日志”(记录每次学习、作业提交),维度表像“标签”(给事件打上“学员是谁”“学什么课程”“哪个老师教”的标签),通过标签关联事件,便于分析业务指标。

3) 【对比与适用场景】

类别定义特性使用场景注意点
事实表存储业务事件的核心度量(如学习时长、作业正确率)及维度键主键为复合键(事实键+维度键),存储高基数、可加性度量支撑课程效果(如评估课程有效性)、教师绩效(如评估教师表现)分析度量需可加性(如总学习时长=各课程学习时长之和),避免非可加性度量(如平均分);需包含事件时间戳,支持时间分析
维度表存储描述性维度(如学员、课程、教师)的属性主键为单键(如学员ID、课程ID),存储低基数、非度量属性关联事实表,提供分析维度属性需稳定(如课程名称、教师姓名),避免频繁变更;多级维度需设计层级关系(如学校-地区、年级-学校)

4) 【示例】

  • 事实表:学员学习行为(事件ID, 事件时间戳, 学习时长, 作业正确率, 考试分数, 课程ID, 学员ID, 教师ID, 事件类型)
    • 事件时间戳:记录事件发生时间(如2024-01-15 10:30),支持按月/季度分析;
    • 度量:学习时长(数值型,单位:分钟)、作业正确率(百分比)、考试分数(数值型);
    • 维度键:课程ID(关联课程维度)、学员ID(关联学员维度)、教师ID(关联教师维度)、事件类型(区分“学习时长”“作业提交”“考试”等事件)。
  • 维度表:
    • 学员维度(学员ID, 姓名, 年级, 学校, 注册日期, 更新时间)
      • 更新时间:记录学员属性变更时间(如年级升级),支持历史数据追溯;
    • 课程维度(课程ID, 课程名称, 科目, 难度等级, 开课日期, 课程类型)
      • 课程类型:区分“直播课”“录播课”等,支持课程效果细分分析;
    • 教师维度(教师ID, 姓名, 专业, 带班学员数, 平均作业正确率, 聘用时间)
      • 带班学员数:统计教师带班学员总数,支撑教师绩效分析;
    • 时间维度(时间ID, 年份, 季度, 月份, 周数, 日期)
      • 用于事实表按时间粒度分区(如按月份分区),提升查询性能。

5) 【面试口播版答案】
面试官您好,针对K12教育场景以“学员”为中心设计维度模型,我采用星型模型,以“学员学习行为”事实表为核心,关联学员、课程、教师、时间等维度表。具体来说,事实表记录学员学习事件(如学习时长、作业正确率),维度表存储学员、课程、教师等描述性信息。事实表包含事件时间戳(如2024-01-15 10:30)、学习时长(分钟)、作业正确率(%)等度量,维度键关联学员ID、课程ID、教师ID。维度表如“学员维度”存储学员ID、姓名、年级、学校,“课程维度”存储课程ID、课程名称、难度等级。这样设计能支撑课程效果分析(如通过学习时长、作业正确率评估课程有效性),也能支撑教师绩效分析(如通过带班学员数、平均作业正确率评估教师表现)。同时,事实表按课程ID+事件时间分区,并建立学习时长、作业正确率等度量的索引,提升查询性能,确保分析效率。

6) 【追问清单】

  • 如何处理多级维度(如学校-地区、年级-学校)?
    回答要点:设计多级维度表(如学校维度包含地区,年级维度包含学校),通过维度键关联事实表,支持多层级分析(如按地区统计课程效果)。
  • 如何处理时间维度(按月/季度分析)?
    回答要点:在事实表中增加月份、季度字段,或单独设计时间维度表,支持按时间粒度分析(如每月学习时长趋势)。
  • 如何处理教师绩效的指标(如带班学员的转化率)?
    回答要点:在事实表中增加“转化事件”(如考试通过、课程完成)的度量,结合教师维度,计算带班学员的转化率(通过率/总学员数)。
  • 如何处理事实表中的重复事件(如多次作业提交)?
    回答要点:在事实表中增加“事件类型”维度键(如“作业提交”“学习时长”),区分不同类型事件,避免重复事件影响度量计算。
  • 如何处理学员属性的变化(如年级升级)?
    回答要点:在学员维度表中增加“更新时间”字段,记录属性变更时间,通过时间戳区分不同版本属性,确保分析准确性。

7) 【常见坑/雷区】

  • 事实表缺少事件时间戳:导致无法按时间粒度分析(如按月统计学习行为),影响业务趋势追踪;
  • 维度表存储高基数数据:如将“课程章节”作为维度表,导致维度表过大,影响查询性能;
  • 未考虑数据分区:事实表未按课程ID+时间分区,导致大表查询慢,影响分析效率;
  • 多级维度未设计层级关系:如仅存储学校ID,未关联地区维度,无法支持按地区分析课程效果;
  • 度量列未建立索引:如学习时长、作业正确率等度量列未建索引,导致聚合查询慢,影响分析响应时间。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1