Back to Insights
Tech·18 min read·Apr 2026·Data Science

Data Science SQL 面试完全指南 2026:高频题型 + 窗口函数 + 真题精讲

Data Science SQL Interview Guide 2026: Window Functions, Analytics & Real Interview Questions

SQL 是 Data Science 面试中最高频的考察点,覆盖 Meta、Google、Amazon、Bloomberg 等顶级公司的 DS 岗位。本文系统梳理 DS SQL 面试的核心题型(窗口函数、复杂 JOIN、CTE、子查询)、高频考点和真题解析,帮助你在 2026 申请季中高效通过 DS SQL 筛选。

为什么 SQL 是 DS 面试的核心考点?

Data Science 面试中,SQL 的考察比例远超大多数候选人的预期。 根据 Glassdoor 和 LeetCode 的数据统计,Meta DS 面试中 SQL 占技术环节的 40%,Google 的 DS 岗位 SQL 考察比例高达 50%,Amazon 的 Business Intelligence Engineer 和 Data Scientist 岗位几乎每轮都有 SQL 题。

原因很简单:DS 的日常工作 80% 以上都在与数据库打交道——从数据提取、清洗、聚合,到构建分析 Pipeline,SQL 是最核心的工具。面试官需要确认你能在真实业务场景中独立完成数据分析任务。

UK 市场的特殊性:英国的 DS 岗位(尤其是金融科技、银行、咨询等行业)对 SQL 的要求往往比美国更高,因为英国公司的数据基础设施更多依赖传统关系型数据库(PostgreSQL、SQL Server、Oracle),而非 Spark/Hive 等大数据工具。

DS SQL 面试的四大核心题型

题型一:窗口函数(Window Functions)

窗口函数是 DS SQL 面试中最高频的考察点,也是区分初级和高级候选人的关键。几乎所有 Top 10 科技公司的 DS 面试都会考察窗口函数。

核心窗口函数速查表:

| 函数 | 用途 | 典型场景 | |------|------|----------| | ROW_NUMBER() | 行号(不重复) | 去重、取 Top N | | RANK() | 排名(并列跳号) | 成绩排名、销售排行 | | DENSE_RANK() | 密集排名(并列不跳号) | 薪资分级、用户分层 | | LAG(col, n) | 取前 n 行的值 | 环比计算、趋势分析 | | LEAD(col, n) | 取后 n 行的值 | 预测下一步行为 | | SUM() OVER() | 累计求和 | 累计收入、留存率 | | AVG() OVER() | 移动平均 | 7 日均线、平滑趋势 | | NTILE(n) | 分桶(等分) | 用户分位数分析 |

真题示例(Meta DS 面试):给定一张用户登录表 user_logins(user_id, login_date),找出连续登录 7 天及以上的用户。

sql
1WITH ranked AS (
2  SELECT
3    user_id,
4    login_date,
5    ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY login_date) AS rn
6  FROM user_logins
7),
8grouped AS (
9  SELECT
10    user_id,
11    login_date,
12    DATE_SUB(login_date, INTERVAL rn DAY) AS grp
13  FROM ranked
14)
15SELECT user_id, MIN(login_date) AS streak_start, MAX(login_date) AS streak_end, COUNT(*) AS streak_len
16FROM grouped
17GROUP BY user_id, grp
18HAVING COUNT(*) >= 7;

解题思路:利用 ROW_NUMBER() 生成行号,通过 login_date - rn 的差值将连续日期映射到同一个 grp 值,再按 grp 分组统计连续天数。

题型二:复杂 JOIN 与数据清洗

JOIN 是 DS 面试中最容易出错的题型,尤其是当涉及多表 JOIN、自连接(Self JOIN)和不等值 JOIN 时。

高频 JOIN 题型:

1. 自连接(Self JOIN):找出薪资高于同部门平均薪资的员工。

sql
1SELECT e.employee_id, e.name, e.salary, dept_avg.avg_salary
2FROM employees e
3JOIN (
4  SELECT department_id, AVG(salary) AS avg_salary
5  FROM employees
6  GROUP BY department_id
7) dept_avg ON e.department_id = dept_avg.department_id
8WHERE e.salary > dept_avg.avg_salary;

2. 不等值 JOIN:找出价格在同类商品中排名前 20% 的产品。

sql
1SELECT p1.product_id, p1.category, p1.price
2FROM products p1
3JOIN products p2
4  ON p1.category = p2.category AND p1.price <= p2.price
5GROUP BY p1.product_id, p1.category, p1.price
6HAVING COUNT(p2.product_id) <= 0.2 * (
7  SELECT COUNT(*) FROM products p3 WHERE p3.category = p1.category
8);

3. 多表 JOIN 数据清洗:这类题目通常给出 3-4 张表,要求候选人在 JOIN 的同时处理 NULL 值、重复数据和数据类型不一致等问题。面试官考察的不仅是 SQL 语法,更是候选人对数据质量的敏感度。

题型三:CTE 与递归查询

CTE(Common Table Expression) 是现代 SQL 的核心特性,也是 DS 面试中展示代码可读性和结构化思维的重要机会。

  • CTE 的核心优势
  • 将复杂查询拆分为可读的逻辑单元
  • 避免重复子查询,提升性能
  • 支持递归查询(处理层级数据)

真题示例(Google DS 面试):给定一张组织架构表 org_chart(employee_id, manager_id, name),找出 CEO(manager_id 为 NULL)到每个员工的完整汇报链。

sql
1WITH RECURSIVE hierarchy AS (
2  -- 基础情况:CEO
3  SELECT employee_id, manager_id, name, CAST(name AS VARCHAR(1000)) AS path, 0 AS level
4  FROM org_chart
5  WHERE manager_id IS NULL
6  
7  UNION ALL
8  
9  -- 递归步骤:逐层向下
10  SELECT e.employee_id, e.manager_id, e.name,
11         CONCAT(h.path, ' -> ', e.name) AS path,
12         h.level + 1 AS level
13  FROM org_chart e
14  JOIN hierarchy h ON e.manager_id = h.employee_id
15)
16SELECT * FROM hierarchy ORDER BY level, employee_id;

题型四:A/B Test 数据分析 SQL

这是 DS 面试中最贴近实际工作的题型,考察候选人能否用 SQL 完成完整的 A/B Test 分析流程。

典型题目结构:给定实验分配表 experiment(user_id, variant, assignment_date) 和行为数据表 events(user_id, event_type, event_date, revenue),计算实验组和对照组的关键指标(转化率、ARPU、留存率)及统计显著性。

sql
1WITH experiment_users AS (
2  SELECT user_id, variant
3  FROM experiment
4  WHERE assignment_date >= '2026-01-01'
5),
6user_metrics AS (
7  SELECT
8    eu.user_id,
9    eu.variant,
10    COUNT(DISTINCT CASE WHEN e.event_type = 'purchase' THEN e.event_date END) AS purchase_days,
11    SUM(CASE WHEN e.event_type = 'purchase' THEN e.revenue ELSE 0 END) AS total_revenue,
12    MAX(CASE WHEN e.event_type = 'purchase' THEN 1 ELSE 0 END) AS converted
13  FROM experiment_users eu
14  LEFT JOIN events e ON eu.user_id = e.user_id
15    AND e.event_date >= '2026-01-01'
16  GROUP BY eu.user_id, eu.variant
17)
18SELECT
19  variant,
20  COUNT(*) AS user_count,
21  AVG(converted) AS conversion_rate,
22  AVG(total_revenue) AS arpu,
23  SUM(total_revenue) AS total_revenue
24FROM user_metrics
25GROUP BY variant;

DS SQL 面试的备考策略

第一阶段(第 1-2 周):夯实基础

重点掌握:GROUP BY + HAVING、多表 JOIN(INNER/LEFT/RIGHT/FULL)、子查询(相关子查询 vs 非相关子查询)、基础聚合函数。推荐资源:LeetCode SQL 题库(Easy + Medium 共 100 题)、Mode Analytics SQL Tutorial。

第二阶段(第 3-4 周):攻克窗口函数

窗口函数是 DS SQL 面试的核心难点,需要专项训练。推荐:LeetCode SQL Hard 题(专注窗口函数类)、StrataScratch 的 DS 专项 SQL 题库(按公司分类,包含 Meta/Google/Amazon 真题)。

第三阶段(第 5-6 周):模拟真实场景

找一个真实数据集(如 Kaggle 的电商数据集),自己设计 A/B Test 分析场景,用 SQL 完成完整的数据分析流程。这个过程能帮助你建立 DS 思维,而不仅仅是 SQL 语法。

备考资源推荐:

| 资源 | 类型 | 适用阶段 | 特点 | |------|------|----------|------| | LeetCode SQL | 题库 | 全阶段 | 覆盖最广,社区解答丰富 | | StrataScratch | 题库 | 中高级 | DS 专项,按公司分类 | | DataLemur | 题库 | 中高级 | 专注 DS/Analytics 场景 | | Mode Analytics | 教程 | 基础 | 免费,可视化友好 | | pgexercises.com | 练习 | 基础 | PostgreSQL 专项 |

AT&T Career Data Science Track 的 SQL 备考支持

我们的 Tech Track(Data Science 方向) 提供系统化的 SQL 面试备考支持,包括:DS SQL 真题题库(200+ 道按公司分类的真题)、一对一 SQL 诊断和提升辅导、A/B Test 数据分析实战训练,以及 Meta/Google/Amazon DS 岗位的完整面试流程模拟。我们的导师均来自 Bloomberg、Meta、Google 等顶级科技公司的 DS 团队,能够提供最真实的 Insider 视角。如需了解详情,请访问 www.attcareer.com/tech 或扫描页面二维码联系我们。

常见问题 · FAQ

DS 面试和 SWE 面试的 SQL 考察有什么区别?+

DS 面试的 SQL 更注重分析思维,题目通常有明确的业务背景(如用户行为分析、A/B Test 结果计算),需要候选人理解业务逻辑后再写 SQL。SWE 面试的 SQL 更偏向数据库设计和查询优化。DS 面试中窗口函数、CTE 的使用频率远高于 SWE 面试。

UK 的 DS 面试和美国有什么不同?+

UK 的 DS 面试(尤其是金融、咨询行业)更注重 SQL 和统计基础,Python/ML 的考察比例相对较低。美国科技大厂(FAANG)的 DS 面试则更偏向 ML 系统设计和产品分析。如果你在英国求职,建议把 60% 的备考时间放在 SQL 和统计上。

LeetCode 上的 SQL 题够用吗?+

LeetCode SQL 题库对于基础和中级备考足够,但对于 DS 专项面试(尤其是 Meta/Google/Amazon 的 DS 岗位),建议补充 StrataScratch 和 DataLemur 的 DS 专项题库,这些平台的题目更贴近真实 DS 面试场景。

Free Resource

免费领取【Tech 求职全套资料包】

包含 CV 模板、面试题库、Networking 模板信及完整的求职 Timeline。已有 1,200+ 学员领取。

不发垃圾邮件,随时可取消订阅

Share

Related Insights

继续深入 · Tech 赛道

Arjun S.

Arjun S. · Bloomberg LP | AT&T Career Mentor

Tech20 min read

Data Science Python 面试完全指南 2026:Pandas/NumPy/Sklearn + 真题解析

Python 是 Data Science 面试的必考技能,覆盖数据处理(Pandas/NumPy)、机器学习(Sklearn)、统计分析和可视化。本文系统梳理 DS Python 面试的核心考察点、高频题型和真题解析,附 Meta/Google/Bloomberg DS 岗位的 Python 面试真实题目,帮助你在 2026 申请季中脱颖而出。

阅读全文
Arjun S.

Arjun S. · Bloomberg LP | AT&T Career Mentor

Tech22 min read

Machine Learning 面试完全指南 2026:算法原理 + 系统设计 + 真题精讲

ML 面试是 Data Science 和 ML Engineer 岗位的核心关卡,覆盖算法原理(线性回归到 Transformer)、ML 系统设计、模型评估和实战编程。本文系统梳理 UK/US 顶级科技公司 ML 面试的考察框架,附 Google/Meta/DeepMind 真题解析,帮助你在 2026 申请季中高效通过 ML 技术面试。

阅读全文
Arjun S.

Arjun S. · Bloomberg LP | AT&T Career Mentor

Tech19 min read

A/B Testing 统计学完全指南 2026:DS 面试必考 + 实验设计 + 常见陷阱

A/B Testing 是 Data Science 面试中最高频的考察点之一,覆盖 Meta、Google、Amazon 等所有顶级科技公司的 DS 岗位。本文系统梳理 A/B Test 的统计学基础(假设检验、样本量计算、多重检验)、实验设计原则和常见陷阱,附真实面试题解析,帮助你在 DS 面试中展示扎实的统计思维。

阅读全文
Arjun S.

Arjun S. · Bloomberg LP | AT&T Career Mentor

Tech16 min read

英国 Data Science 求职完全指南 2026:顶级雇主 + 薪资对比 + 申请时间线

英国 Data Science 市场正在快速增长,从金融科技到 AI 研究,DS 岗位的薪资和职业发展空间远超传统行业。本文系统梳理 2026 年英国 DS 求职的核心信息:顶级雇主(Bloomberg/Revolut/DeepMind/HSBC)、薪资对比、申请时间线、签证路径,以及留学生如何在竞争激烈的 UK DS 市场中脱颖而出。

阅读全文
Arjun S.

Arjun S. · Google

Tech14 min read

英国顶级科技公司 SWE 面试:Google、Meta、Palantir 的 Technical Interview 与 System Design 全解

英国科技大厂的 Software Engineer 面试流程与硅谷高度同质化,但在 System Design 和 Behavioral 环节上有其独特侧重。本文系统梳理 Google L4、Meta E4、Palantir FDE 的面试结构与准备策略。

阅读全文
Tech13 min read

2025 英国顶级科技公司 SWE Internship 申请指南:Google、Meta、Palantir 的 Timeline 与 Technical Prep

英国顶级科技公司的 SWE Internship 是进入 Big Tech 的核心跳板,但申请流程和备考要求与国内有本质差异。本文系统梳理 Google、Meta、Palantir 的申请时间线、面试结构和 LeetCode 备考策略。

阅读全文