京东数据应用工程师面试题精选:10道高频考题+答案解析(附PDF)
京东简介
京东作为中国领先的电商平台,其数据应用工程师岗位要求候选人具备扎实的数据处理能力和电商业务理解。京东技术栈以Flink、Kafka、Hive、Spark为核心,强调数据一致性、查询效率和业务响应速度。面试重点考察数据仓库分层设计、ETL优化、实时计算架构、数据质量治理以及电商场景下的数据应用能力。
题目列表(10道)
题目1:京东数仓分层设计及星型模型应用
题目描述:请描述京东电商数仓的典型分层架构(ODS/DWD/DWS/ADS),并说明为什么在电商场景下优先使用星型模型而非雪花模型?
答案要点:
京东数仓采用五层架构:ODS层存放原始业务数据,仅做轻量清洗;DWD层按业务过程拆分明细表,清洗异常数据;DWS层按实体聚合宽表,支撑灵活查询;ADS层针对具体业务场景生成结果数据;公共维度层确保全仓维度逻辑一致。
星型模型在电商场景的优势:查询效率提升30%以上,避免雪花模型的多表嵌套;更适合高频报表需求,如实时GMV看板、用户行为分析;维度表冗余存储但空间成本可控,换取查询性能大幅提升。
扩展提示:京东3C业务案例中,dws_user_30d宽表聚合用户近30天消费行为,支撑精准营销和流失预警,618大促期间查询响应时间控制在10秒内。
题目2:数据一致性治理与"数据打架"问题解决
题目描述:京东运营和财务部门计算GMV存在12%差异,你如何设计指标字典和计算逻辑来统一口径,将差异率降至1.5%以下?
答案要点:
首先定义GMV标准口径:∑实付金额(排除取消/退款订单)。建立指标字典明确计算规则:支付成功时间在统计周期内、订单状态为"已支付"、排除测试订单和异常金额。
实施步骤:1)统一数据源,从支付成功表而非订单表取数;2)建立跨部门校验机制,每日跑一致性SQL对比结果;3)设置监控告警,差异率超3%立即通知数据负责人;4)定期review业务规则变更,确保指标字典同步更新。
代码示例:
-- 统一GMV计算逻辑 SELECT DATE(pay_time) as stat_date, SUM(CASE WHEN order_status = '已支付' AND amount > 0 AND is_test = 0 THEN amount ELSE 0 END) as gmv FROM dwd_order_pay WHERE pay_time BETWEEN '2026-04-01' AND '2026-04-30' GROUP BY DATE(pay_time);