DD 数据开发学习站DATA ENGINEERING
模块 09 · 求职面试

数据开发简历

一页纸结构、量化 bullet、技能用词与投递前检查清单。

难度 · 入门 约 45 分钟 必修 练习 16 项 计划内
建议先学:项目数据字典
本页目录 · 32 节

本章目标:把项目经历写成 HR 愿意看完、面试官愿意追问的一页纸简历。 前置知识:已完成 Olist 电商数仓项目,能说清四层架构、核心指标和 10 类数据体检。


1. 简历的筛选逻辑

应届生简历通常先被扫 10 秒,再看 1 分钟。

  • 10 秒:看学校、专业、毕业时间、有没有相关项目、能不能马上实习。
  • 1 分钟:看项目做了什么、有没有数字、技能和岗位是否匹配。
  • 面试前:面试官会挑简历上的关键词准备问题,写上去的每一项都可能被追问。

所以简历不是“把自己写全”,而是“把能被验证的亮点写清楚”。

三条原则:

  1. 一页纸。 没有实习经历时,两页会显得空。
  2. 项目占一半篇幅。 这是你唯一能证明动手能力的地方。
  3. 每条 bullet 有数字。 没有数字,说明你还没想清楚自己做了什么。

面试高频:简历上写“精通 SQL”会怎样? 面试官会现场给你一道窗口函数或连续登录题。写“熟练”也要能扛住追问。没有把握就用“熟悉”,并准备好对应边界。


2. 一页纸结构

从上到下,顺序不要乱:

1. 基本信息
2. 教育背景
3. 专业技能
4. 项目经历        <- 核心,占 50% 左右
5. 实习 / 课程 / 竞赛
6. 其他(证书、开源、作品集)

2.1 基本信息

必须有的三项:电话、邮箱、GitHub。

姓名 | 求职意向:数据开发实习生
电话:138-XXXX-XXXX | 邮箱:xxx@xx.com
GitHub:github.com/xxxx
期望城市:深圳 | 可实习时间:每周 5 天,可实习至 2027 年 X 月

“可实习时间”一定要写,HR 最先看这个。不要放照片、身高、籍贯、身份证号。

2.2 教育背景

XX大学 | 信息管理与信息系统 | 本科 | 2024.09 - 2028.06
GPA:X.X / 4.0(排名前 X%,不好就删)
核心课程:数据库原理、数据结构、Python 程序设计、统计学

GPA 不好就删,不写不扣分。核心课程挑 4 到 5 门和岗位相关的,不要列 10 门。

2.3 专业技能

分条写,每条给出程度和证据。示例见第 6 节。

2.4 项目经历

写 1 到 2 个,至少 1 个是数仓。标题格式:

项目名 | 角色 | 时间

项目下面放 3 到 5 条 bullet,每条 1 到 2 行。不要把技术栈堆成一段。

2.5 实习 / 课程 / 竞赛

有实习写实习;没有就写课程项目、竞赛、开源。数模、统计竞赛、数据类比赛有用。学生会文艺部、志愿者小时数,除非没东西写,否则不占版面。

2.6 其他

证书、博客、作品集。没有就删,不要写“吃苦耐劳、学习能力强”。


3. 数据开发简历模板

下面是一页纸模板,把方括号内容换成你自己的真实信息。

张三 | 求职意向:数据开发实习生
电话:138-XXXX-XXXX | 邮箱:xxx@xx.com | GitHub:github.com/xxxx
期望城市:深圳 | 可实习时间:每周 5 天,可实习至 2027 年 6 月

教育背景
XX大学 | 信息管理与信息系统 | 本科 | 2024.09 - 2028.06
核心课程:数据库原理、数据结构、Python 程序设计、统计学

专业技能
- SQL:熟练使用窗口函数、多表 JOIN、CTE,能独立完成复杂取数与指标计算;
  了解 JOIN 膨胀、COUNT(DISTINCT) 不可加等常见问题。
- 数仓:掌握 ODS-DWD-DWS-ADS 分层、事实表与维度表、维度退化、指标口径;
  了解 SCD2 拉链表原理,项目未落地。
- Python:能使用 pandas 做数据清洗,使用 DuckDB 完成本地 ETL;了解 PySpark 基础。
- 工具:Git、Linux 常用命令;了解 Hive 分区、动态分区与内外部表。

项目经历
Olist 电商数仓 | 个人项目 | 2026.10 - 至今
GitHub:github.com/xxxx/olist-warehouse

- 基于 Olist 公开电商数据集(8 表 / 55 万行)搭建 ODS-DWD-DWS-ADS 四层数仓,
  产出 2 张 DWD 宽表、6 张 DWS 主题表、8 张 ADS 结果表,DuckDB 一键复现。
- 统一 GMV、AOV、复购、履约口径,处理评价与支付的 fan-out;构建脚本自动对账
  GMV 15,740,216.93、AOV 160.29、复购率 3.04%、迟到率 8.11%。
- 设计 10 类数据体检与质量报告,定位 441 单支付差异和 1,234 单取消单支付告警,
  区分告警与错误;如实披露无数量字段、无行为日志等数据局限。

校园经历 / 竞赛
[竞赛名称 | 奖项 | 时间]
[课程项目 | 角色 | 时间,一句话说明产出]

其他
[证书 / 技术博客 / 作品集,没有就删]

注意:模板里的数字是项目的真实数字,但你必须能解释每一个。不要为了好看改大。面试官问“550,759 怎么来的”,要能报出 8 张表的行数。


4. STAR 与量化

4.1 简历 bullet 用公式,不用 STAR

STAR 适合面试口头讲行为题,简历 bullet 更适合这个公式:

动词 + 做了什么 + 用什么技术 + 解决什么问题 + 结果(数字)

示例:

设计 DWD 明细宽表,评价先按订单聚合再 LEFT JOIN,避免 fan-out;
将 112,650 行明细收敛为 112,101 行有效明细,GMV 对账误差小于 1 元。

拆解:

  • 动词:设计
  • 做了什么:DWD 明细宽表
  • 技术:先聚合再 LEFT JOIN、WHERE 过滤无效订单
  • 问题:评价一对多导致的 fan-out
  • 结果:112,650 到 112,101,误差小于 1 元

4.2 量化的四种来源

  1. 规模:8 张表、550,759 行、8 张 ADS。
  2. 质量:10 类体检、441 单支付差异、1,234 单取消单支付告警。
  3. 结果:GMV 15,740,216.93、AOV 160.29、复购率 3.04%、迟到率 8.11%。
  4. 效率:单机构建秒级完成;如果做过优化,写优化前后耗时。

没有数字时,不要硬编。写清范围和动作,比写一个假数字安全。

4.3 一条 bullet 只讲一件事

坏例子:

负责数据清洗、建模、指标开发、文档撰写和项目管理。

问题:全是“负责”,没有结果,也看不出你具体做了什么。

好例子:

治理评价一对多、取消单支付、支付差异等问题,明细从 112,650 行
收敛为 112,101 行,GMV 与基准 15,740,216.93 误差小于 1 元。

5. 项目 3 条 bullet 的正反例

5.1 第一条:项目定位

反例:

使用 DuckDB 做了一个电商数仓项目,熟悉了分层建模。

问题:没有规模、没有产出、没有技术细节。“熟悉了”是自我评价,不是结果。

正例:

基于 Olist 公开数据集(8 表 / 55 万行)搭建 ODS-DWD-DWS-ADS
四层数仓,产出 2 张 DWD 宽表、6 张 DWS 主题表、8 张 ADS 结果表。

5.2 第二条:数据治理

反例:

负责数据清洗,处理了重复、空值和异常数据。

问题:处理了多少?怎么处理?结果是什么?全都不知道。

正例:

治理评价一单多行、取消单仍有支付、支付与明细差异等问题,
明细从 112,650 行收敛为 112,101 行;构建时自动对账
GMV 15,740,216.93、AOV 160.29、复购率 3.04%、迟到率 8.11%。

5.3 第三条:指标与分析

反例:

使用窗口函数完成了数据分析和指标计算。

问题:哪些窗口函数?算了什么指标?结果是什么?

正例:

使用 RANK、LAG、NTILE 实现品类累计占比、月度环比和 RFM 分层;
输出 8 张 ADS 表,覆盖 GMV 总览、月度趋势、卖家 Top50 与履约 SLA。

5.4 三条 bullet 的最终版本

- 基于 Olist 公开数据集(8 表 / 55 万行)搭建四层数仓,产出 2 张
  DWD 宽表、6 张 DWS 主题表、8 张 ADS 结果表,DuckDB 一键复现。

- 统一 GMV/AOV/复购/履约口径,处理评价与支付的 fan-out;构建脚本
  自动对账 GMV 15,740,216.93、AOV 160.29、复购率 3.04%。

- 设计 10 类数据体检与质量报告,定位 441 单支付差异和 1,234 单
  取消单支付告警,区分告警与错误。

注意:三条 bullet 的顺序是“项目定位 → 数据治理 → 指标与质量”。面试官顺着读,就能形成完整故事,不需要猜。


6. 技能描述用词与面试边界

6.1 四个词的含义

用词 含义 面试要求
精通 能讲原理、源码、边界,能解决复杂问题 应届生慎用,除非真能扛住深挖
熟练 / 掌握 多次使用,能独立完成,能解释常见坑 现场写代码、讲执行过程
熟悉 用过,能完成常规任务,知道边界 能举例、能说清基本概念
了解 学过、跑过 demo,知道是什么 能讲概念和适用场景,不要求实操

6.2 本项目可用的技能表述

- SQL:熟练使用窗口函数、多表 JOIN、CTE,能独立完成复杂取数与指标计算。
- 数仓:掌握 ODS-DWD-DWS-ADS 分层、维度建模、指标口径与数据质量校验。
- Python:能使用 pandas 与 DuckDB 完成数据清洗和本地 ETL。
- Hive:了解内外部表、分区、动态分区,跑过本地 Hive 风格演示。
- Spark:了解 shuffle、广播 join、数据倾斜,未在生产集群实操。
- Kafka / Flink:了解基本原理,未在生产环境使用。

6.3 写了就要能答

简历写了 面试官可能问 你必须能答
窗口函数 ROW_NUMBER、RANK、DENSE_RANK 区别 三种编号的并列处理规则
数仓分层 为什么分层、每层职责 ODS 保真、DWD 保准、DWS 复用、ADS 好用
Hive 分区 分区和分桶区别、动态分区 分区是目录、分桶是文件;动态分区列放最后
Spark shuffle、倾斜、broadcast 宽依赖、热点 key、小表广播
数据质量 怎么保证、怎么对账 10 类体检、40+ 项构建对账与具体数字

没有实操的内容,写“了解”并在面试中主动说明边界。主动说“没做过”比被问穿强。


7. 投递前检查清单

  • 一页纸,导出 PDF,不是 Word。
  • 电话、邮箱、GitHub 三项齐全,链接能打开。
  • 写了可实习时间,和实际能到岗的时间一致。
  • 项目占一半篇幅,至少有 3 条量化 bullet。
  • 每条 bullet 能在代码或报告里找到对应证据。
  • 技能栏没有“精通”,每条都能讲清边界。
  • 没有错别字,没有中英文标点混用。
  • 文件名规范:姓名-数据开发实习-学校-大三.pdf。
  • 找一个人帮你看 5 分钟,问他“你记住了什么”。
  • 投递前再打开一次 GitHub,确认仓库公开、README 能读。

8. 练习

练习 1:改写一条空泛 bullet

把下面这条改成有动作、有技术、有结果的 bullet:

负责电商项目的数据清洗和指标开发,提高了数据质量。
参考答案
设计 DWD 明细宽表,评价先聚合再 JOIN,避免 fan-out;
明细从 112,650 行收敛为 112,101 行,GMV 与基准
15,740,216.93 误差小于 1 元。

保留了“清洗”和“指标”两个动作,补上了技术、规模和结果。没有编造新数字。

练习 2:给技能降级

你只在本地跑过 Hive 风格演示,没有集群经验。下面哪句更合适?

A. 熟练掌握 Hive,能进行海量数据开发。
B. 了解 Hive 内外部表、分区与动态分区,跑过本地演示。
参考答案

B 更合适。

A 的“熟练掌握”和“海量数据”都超出实际边界,面试官追问集群调优、数据倾斜、Metastore 就会暴露。B 写清了知道什么、做到什么程度,反而更可信。

面试时补一句:“我没有生产集群经验,但理解分区裁剪和动态分区的原理。”

练习 3:排一页纸版面

把下面内容安排到一页纸,并估算篇幅:

基本信息、教育背景、技能、电商数仓项目、数学建模省二等奖、GitHub 链接
参考答案
基本信息        3 行
教育背景        3 行
专业技能        5 到 6 行
项目经历        12 到 15 行,占一半
竞赛 / 其他     2 到 3 行

项目放中间偏上,HR 一眼能看到。竞赛只占一行,不抢项目版面。GitHub 放在基本信息和项目标题两处,方便点开。


9. 面试延伸

面试题:项目是跟着教程做的,能写进简历吗?

是什么:可以写,但必须是你真正跑通、改过、能解释的项目。

解决什么问题:面试官不关心项目创意是不是你原创,关心你是不是真的动过手。你要能说出自己加了什么、遇到过什么错、怎么修的。

我的实操边界:我完整跑通了 RFM 分层、履约 SLA 和迟到评分对比,能解释每张 ADS 表的口径和数据来源,也写了自己的质量报告与对账 SQL;架构参考了课程,但没有把课程自带内容说成个人新增。

追问:你和别人做的项目一样怎么办?答:讲差异化的部分,比如你新增的指标、你发现的数据问题、你对口径的调整。

面试题:没有实习经历,简历怎么写?

是什么:用项目、课程、竞赛、开源证明动手能力,不要编实习。

解决什么问题:应届生没有实习很正常。把有限经历写深,比堆五段无关经历有效。

我的实操边界:我目前没有数据开发实习,项目是个人项目;我能独立完成从建模到报告的全流程。

追问:没有实习会不会被刷?答:会有一部分公司卡实习,但实习岗本来就看潜力和基础。投递面要够宽,先拿到第一段。

面试题:简历上写了但面试答不上来怎么办?

是什么:说明这个词超出了你的真实边界。短期靠补课,长期靠降级表述。

解决什么问题:面试官追问是为了验证,不是为了刁难。不会就承认,再讲你会的相邻部分。

我的实操边界:我会把 Kafka、Flink 这类只了解原理的内容写成“了解”,不写成“熟练”。

追问:已经被问穿了怎么办?答:直接说“这部分我只了解概念,没有实操”,然后把话题拉回项目里你真正做过的部分。


10. 本章验收

  • 能写出一页纸简历,项目占一半篇幅。
  • 项目经历有 3 条 bullet,每条包含动作、技术、结果和数字。
  • 能解释简历上每一个数字的来源,包括 550,759、112,101、15,740,216.93。
  • 技能栏没有“精通”,每一条都能说出使用场景和边界。
  • 完成投递前 10 项检查,导出 PDF,文件名规范。
  • 能在 60 秒内用简历上的三 bullet 讲完项目,不跑题。

简历之后是面试题库:大数据面试题库。

本章任务0 / 16
本页目录