跳转到主要内容
Interview Pilot Logo

Interview Pilot

AI
Interview Pilot
AI 面试助手使用方法用户评价价格
登录免费开始使用
资源

面试指南

数据工程师面试指南

围绕 SQL、数据建模、ETL 管道、批处理与流处理、Spark、任务编排、数据仓库、数据质量和系统设计,准备数据工程师面试。

阅读约 35 分钟

21 道题

数据工程师

更新于 2026年5月

查看全部Data Engineer Questions

概览

数据工程师面试考查你能否构建可靠的数据系统:接入原始数据、清晰建模、高效转换、保障质量、编排管道,并让分析师、数据科学家、产品和业务团队能够使用数据。

4–6

常见面试轮数

45–75 分钟

技术面试时长

6 项以上

核心数据工程技能

5–8 周

建议准备时间

数据工程师面试官关注什么

•

SQL 深度:能否准确高效地完成表关联、窗口计算、去重和增量处理?

•

数据建模:能否为真实场景设计表、模式、粒度、分区和缓慢变化维度?

•

管道设计:能否构建可靠、可观测、出现故障后可恢复的批处理与流处理流程?

•

分布式系统判断:能否分析 Spark、分区、数据混洗、状态、延迟和吞吐量?

•

数据质量:能否防止错误数据悄悄进入仪表板、模型和生产功能?

•

平台思维:能否平衡成本、性能、数据时效性、治理、血缘和开发体验?

•

生产责任:能否排查故障、安全回填、管理模式变更,并沟通影响?

数据工程是数据的可靠性工程

优秀的数据工程师不只是把数据从 A 移到 B,还会让数据可信、易理解、易发现、可扩展,并在故障发生后可恢复。

数据工程师面试流程

数据工程师面试通常涉及 SQL、Python 或编程、数据建模、管道设计、系统设计、Spark 或分布式处理、故障排查及行为面试。

数据工程师面试的常见环节

1

招聘人员初筛:确认岗位匹配度、技术栈、薪酬、工作地点和行业经验。

2

招聘经理面试:讨论数据管道负责范围、建模经验、生产故障,以及与分析或产品团队的合作。

3

SQL 面试:考查表关联、窗口函数、去重、增量转换、同期群类查询和性能意识。

4

编程面试:通常以 Python 为主,考查数据结构、文件处理、API、解析或管道式转换。

5

数据建模面试:设计数仓表、事件模式、事实与维度模型,或数据湖仓布局。

6

系统设计面试:设计数据接入、ETL/ELT、流处理、任务编排、监控、数据血缘及质量保障系统。

7

行为面试:评估责任感、事故响应、相关方沟通、应对模糊问题和跨职能交付。

分析型数据工程师

平台/流处理数据工程师

主要关注点

数仓建模、dbt/SQL 转换、报告数据质量和业务指标

数据接入基础设施、流处理、分布式计算、可靠性和平台规模

常见面试内容

SQL、维度建模、相关方需求和管道编排

系统设计、Spark/Flink/Kafka、状态、分区、扩展和生产事故

优秀表现

建立可信模型,让分析师和业务团队放心使用

设计能处理大数据量、低延迟和故障的韧性系统

常见错误

建模时没有明确数据粒度、责任归属或指标定义

设计流处理架构时忽略仅一次处理、重放、状态或监控

明确自己申请的是哪类数据工程岗位

以数仓为重点的分析工程岗位,与流处理平台数据工程岗位的面试并不一样。应根据职位描述中的技术栈和职责安排准备重点。

SQL 与数据转换面试题

数据工程师 SQL 面试通常关注正确性和生产可用性:数据粒度、去重、增量逻辑、窗口函数、分区和性能。

数据建模与数仓面试题

数据建模面试考查你能否设计清晰、可扩展、兼顾成本,并适用于分析、机器学习和运营报告的数据模式。

需要掌握的数据建模概念

事实表

存储可度量业务事件或交易的表,例如订单、支付、会话或发货。

维度表

为事实提供描述性背景的表,例如客户、商品、门店、营销活动或日期。

数据粒度

每行代表的层级。构建事实、维度、指标或关联前,必须明确粒度。

缓慢变化维度

记录属性随时间变化的维度设计,例如客户细分、地址或账户负责人。

数据管道设计与任务编排

数据管道面试考查你能否设计幂等、可观测、可恢复,且符合数据时效性与成本要求的工作流程。

可靠的数据管道设计步骤

1

明确源系统、数据量、时效要求、下游使用者和可接受的故障程度。

2

选择接入方式:批量抽取、变更数据捕获(CDC)、事件流、API 拉取、文件投递或托管连接器。

3

定义落地区、原始数据存储、模式处理和重放策略。

4

按清晰的层次转换数据:原始层、清洗/暂存层、模型层和服务用数据集市。

5

确保管道具有幂等性,重跑不会造成重复或数据损坏。

6

加入数据质量检查、血缘记录、日志、提醒、监控指标和负责人信息。

7

规划历史回填、模式演进、迟到数据、重试、部分失败和成本控制。

批处理与流处理系统

批处理与流处理面试题考查你是否理解延迟、吞吐量、顺序、状态、窗口、重放,以及简单架构与实时架构之间的运维取舍。

批处理

流处理

适用场景

周期性报告、历史回填、大规模转换、成本较低的分析

实时功能、提醒、欺诈检测、实时仪表板和低延迟决策

主要取舍

延迟较高,但运维更简单,也更容易重放

延迟较低,但状态、顺序和故障处理更复杂

常见工具

Airflow、dbt、Spark 批处理、Snowflake、BigQuery、Databricks

Kafka、Flink、Spark Structured Streaming、Kinesis、Pub/Sub

故障风险

迟到数据、部分加载、运行时间过长、回填成本

重复、乱序事件、检查点、状态增长和仅一次处理语义

Spark 与分布式处理面试题

Spark 与分布式处理面试题考查你是否理解分区、数据混洗、数据倾斜、缓存、表关联、文件格式,以及作业为何失败或成本过高。

数据质量与可观测性

数据质量面试题考查你能否在错误数据破坏仪表板、模型、产品功能、财务报告或面向客户的系统前发现问题。

示例解析

生产数据事故处理清单

管理层收入仪表板缺少昨天的数据,而两小时后就要开管理层会议。

1

快速排查

检查管道状态、源数据时效、数仓表分区、失败任务,以及问题只影响收入还是所有仪表板。

2

缓解影响

如果源数据存在,重跑受影响的分区;如果没有,就在仪表板标注,并提供带有局限说明的最新可用数字。

3

及时沟通

告知相关方缺少什么、哪些决策受影响、预计解决时间,以及数字之后是否可能变化。

4

防止复发

增加数据时效提醒、上游源检查、服务级别监控和收入管道故障运行手册。

结果

通过技术恢复与清晰沟通并重,维护相关方对数据的信任。

数据工程系统设计

数据工程系统设计面试评估架构判断:数据源、接入、存储、转换、服务、质量、血缘、治理和成本。

行为面试与协作题

数据工程行为面试重点关注生产责任、事故响应、跨职能沟通、优先级,以及能否建立让其他团队信任的系统。

数据工程师备考策略

准备数据工程师面试时,应结合 SQL、数据建模、Python、管道设计、分布式系统、云数仓概念,以及生产事故经历。

六周数据工程师面试准备计划

1

第 1 周:深入练习 SQL。复习表关联、窗口函数、去重、增量模型、同期群、分区和性能排查。

2

第 2 周:数据建模。练习事实表、维度表、粒度、缓慢变化维度、事件模型、数仓数据集市和指标定义。

3

第 3 周:数据管道。练习 ETL/ELT 设计、幂等性、编排、历史回填、迟到数据、模式变更和质量检查。

4

第 4 周:分布式处理。复习 Spark、数据混洗、分区、倾斜、文件格式、流处理概念,以及成本与性能取舍。

5

第 5 周:系统设计。练习产品分析平台、CDC 接入、特征存储、流式欺诈管道和数仓架构。

6

第 6 周:模拟面试与经历准备。准备管道事故、数据质量、相关方沟通、优先级及平台改进案例。

按数据工程岗位方向重点准备

•

分析工程:重点准备 dbt、SQL 模型、语义层、指标定义、商业智能可靠性和相关方工作流程。

•

平台数据工程:重点准备接入系统、任务编排、血缘、治理、访问控制和开发体验。

•

流处理数据工程:重点准备 Kafka、Flink/Spark 流处理、状态、窗口、重复、顺序、重放和延迟。

•

机器学习数据工程:重点准备特征管道、特征存储、时间点正确性、训练数据和监控。

•

云数仓工程:重点准备 Snowflake、BigQuery、Databricks、分区、聚簇、成本控制和工作负载管理。

不要只谈工具

面试官关心的并不是你能否说出 Airflow、dbt、Spark 或 Kafka 的名字,而是你是否理解可靠性、数据正确性、取舍和故障模式。

关键要点

出色的数据工程师面试回答兼具准确的 SQL、清晰的数据建模、可靠的管道、分布式系统判断和生产责任感。优秀候选人能证明自己可以建立让其他团队信任的数据系统。

在面试中练习这些问题

面试时,Interview Pilot AI 面试助手会实时提供回答建议,帮助你清晰地回答这些问题。

免费试用 Interview Pilot