数据分析师面试问题(按轮次划分)

作者 Aaron Cao · 更新于

数据分析师面试问题(按轮次划分)
数据分析师的面试流程通常包括SQL、统计、业务或指标案例、电子表格与数据可视化技能,以及行为面试问题。SQL和业务案例决定了大多数结果,案例环节考察的是你如何把一个模糊的业务问题转化为可衡量的问题。

数据分析师的面试流程通常包括SQL、统计、业务或指标案例、电子表格与数据可视化技能,以及行为面试问题。SQL和业务案例决定了大多数结果,案例环节考察的是你如何把一个模糊的业务问题转化为可衡量的问题。

数据分析师面试流程包含哪些环节?

候选人常常只准备SQL,结果被案例环节打个措手不及——offer往往就是在这个环节决定的。本节梳理完整的面试流程,让你的准备与之匹配。分析师面试反复使用五种环节类型,每种考察的重点各不相同。

  • SQL。现场写查询或带回家完成,是最常见的技术筛选环节。
  • 统计与概率。考察你对结果含义的理解,而非证明推导。
  • 业务案例与指标。把一个模糊的业务问题转化为可衡量的问题。
  • 电子表格与数据可视化。Excel或Google Sheets函数,以及针对受众选择合适的图表。
  • 行为面试。干系人冲突、被要求给出还无法支撑的数字,以及你如何处理自己犯错的情况。

通过与未通过的候选人之间的分界线,通常在于沟通而非技术。一个默默写出正确查询的分析师,得分会低于一个能说清自己在检查什么、为什么这样检查的分析师。

会遇到哪些SQL和统计问题?

SQL

  • 在一张表中找出第二高的薪资。
  • 编写一条查询,返回每位客户最近的一笔订单。
  • 内连接(inner join)和左连接(left join)有什么区别?什么情况下这个选择会改变你的行数?
  • 统计在一月下过单但二月没有下单的用户数量。
  • 计算每日营收的累计总和。
  • 按每个类别对产品的营收进行排名。
  • 找出重复行,并写出删除这些重复行的查询。
  • 以百分比形式计算环比增长。
  • HAVING能做到而WHERE做不到的是什么?
  • NULL值会如何影响COUNT、连接(join)和平均值?

在这份清单里,窗口函数和NULL问题比其他任何内容都更能区分候选人。大声说出"这里用左连接会保留没有订单的客户,他们的总额会变成NULL而不是零",正是面试官在留意的信号。

统计与概率

  • 向一个没学过统计的人解释p值。
  • 在你见过的案例里,相关性和因果关系有什么区别?
  • 什么时候你会用中位数而不是平均数?
  • 置信区间告诉你的是什么?
  • 你会如何检验一个A/B测试结果是否可信?
  • 什么是选择偏差?它可能会如何出现在我们的数据里?

这些环节考察的是你的解读是否可信。精准的通俗语言胜过教科书式的措辞,承认结果所能支持的结论是有限的,反而会被加分。

会遇到哪些业务案例和沟通类问题?

案例环节会给你一个界定不清的业务问题,你的任务是把它转化成一个真正能写查询去回答的问题。

  • 注册量在上升,但活跃用户数持平,你会如何调查?
  • 你会如何衡量一个新功能是否成功?
  • 上个月营收下降了10%,请说说你的诊断思路。
  • 你会把哪个指标放到高管仪表盘上,又会舍弃哪个?
  • 你会如何判断一个营销渠道是否真的有效?
  • 某位干系人要求你在当天结束前给出一个数字,但数据还不完整,你会交付什么?
  • 对于这款产品,你会如何定义"活跃用户"?

电子表格与数据可视化

  • 你会用哪个函数把两张表按共同键合并?当键不匹配时会出现什么问题?
  • 做一个按地区和月份展示营收的数据透视表,你会先检查什么?
  • 你会用哪种图表展示分布,哪种展示趋势?
  • 你有八个类别,其中一个占绝对主导,你会如何诚实地呈现这一点?

行为面试

  • 说说一次你的分析改变了某个决策的经历。
  • 说说一次你给出的数字后来被证明是错的,之后发生了什么?
  • 你如何处理一位希望得到与数据不同答案的干系人?

一位在订阅制公司面试的初级分析师被问到,为什么注册量上升而营收却下降。她没有猜测,而是列出了自己会按哪些维度细分:套餐等级、地区,以及新用户与续订用户,并表示会核查当月是否上线了定价调整。面试官告诉她,检查是否有定价调整上线,正是大多数候选人会跳过的部分。

应该如何练习这些问题?

阅读问题只能建立熟悉感。面试考察的是在时间压力下的实际产出,这是两种不同的能力。

  • 大声地手写SQL。现场环节常常只提供一个没有自动补全、也无法运行查询的纯文本编辑器。用这种方式练习,能暴露出你只是一知半解的语法。
  • 边写查询边讲解。说出你在连接什么表,以及你预期行数会如何变化。面试官会给他们能听到的推理过程打分。
  • 练习向干系人转译结果。每做完一个案例,用三句话、不带任何术语地解释结果。这种解释在大多数公司都是一个被打分的环节。
  • 针对追问进行演练。第二个问题——"如果数据不完整怎么办"——才是案例真正决出胜负的地方。

找一个会反驳你的面试官来演练这些提示,是目前最接近真实场景的模拟方式;模拟面试工具会运行带追问的分析师风格环节。更多角色和主题合集可在面试问题库中找到。

有一点需要说明:带回家的SQL测试和监考评测平台不在实时助手的覆盖范围内,屏幕共享的查询环节会显示你屏幕上的所有内容。在实时视频对话中,SubcueAI以本地桌面应用或Chromium浏览器侧边栏的形式运行,不会有会议机器人加入通话。完整说明见可检测性专题

常见问题

数据分析师面试需要掌握多少SQL?

需要能在不借助参考资料的情况下写出连接、聚合、子查询和窗口函数,并能解释NULL对每一种情况的影响。大多数现场环节都在这个范围之内。更高级的优化问题在数据工程岗位中更常见。

数据分析师面试会涉及Python或R吗?

这取决于具体岗位。许多分析师岗位只考察SQL和电子表格,而产品分析和混合型岗位则会加入pandas或R。职位描述是可靠的参考——如果其中列出了某种语言,就要预期至少会遇到关于它的概念性问题。

候选人在分析师面试中失败的最常见原因是什么?

全程沉默地干活。两位候选人可能写出完全相同的查询,但那个说出自己在检查什么、说明自己假设的人会拿到offer。第二常见的原因,是把业务案例当成技术问题来处理,跳过了定义这一步。

SQL环节中我应该提问吗?

应该。询问一张表是否可能有重复数据、时间戳是否统一在一个时区,以及什么才算作一条活跃记录,都会被视为良好的实践,而不是在承认自己不确定。

没有搭档的情况下,我该如何练习分析师面试问题?

对着计时器手写查询、大声讲解思路,并使用一个会追问而不是照读固定清单的工具。然后练习用通俗语言解释每个结果,因为向干系人转译结果是单独打分的。

相关问题

← 更多关于 按岗位与主题分类的面试问题