介绍

SQL 代表结构化查询语言,是数据分析师应具备的最重要技能之一。当您准备协商数据分析任务时,您可以预期 SQL 会出现在面试中。
通过本指南,您将了解有关 SQL 技术测试的更多信息、您可能遇到的测试类型以及在这些讨论中出现的一些常见问题类型。您还将找到其他示例问题、在面试期间编写 SQL 代码的分步指南以及成功提示。让我们开始吧。
对 SQL 技术测试有什么期望?
数据分析师使用 SQL 与相关网站进行通信,以访问、清理和分析数据。在撰写本文时,LinkedIn 上超过 230,000 个职位也将 SQL 包含在列表中。
作为一项重要的技能,数据分析师的面试通常包括 SQL 技术测试。面试的这一部分帮助您使用 SQL 解决实际问题。虽然您可能会为通常的面试提出一些具体的描述性问题,但这里真正的重点是面试官确保您可以实际使用 SQL,而不仅仅是谈论它。
这些测试通常采用以下三种形式之一:
1.白板测试:最常见的SQL测试类型是白板面试。在这种类型的测试中,你会得到一块白板和马克笔来手写你的问题。由于您不会有一台计算机来通知您代码中的任何语法或逻辑错误,因此这是为了表明您可以思考问题并知道解决问题的正确 SQL 想法。
2.实时编码:通过这种类型的测试,您将看到您将在实时编码环境中解决的 SQL 问题。这使您可以随时运行查询并检查您的工作,但是当您使用代码时,语法将很重要。由于不同的网站使用不同的工具,这种类型的测试不像白板测试那样普遍。
3.家庭作业:使用这种不寻常的测试方法,您将在一段时间内被带回家并解决一个问题或一系列问题。这使您可以编写有关您家的舒适度的自己的问题,而无需面试官从您的肩膀上看向您的压力。另一方面,编码的挑战通常很复杂。
不同类型的 SQL 面试查询
正如可以参加三种类型的技术测试一样,在面试的这一部分中,您经常会问到三大类问题。我们在这里从简单到复杂对其进行了组织。通常,对于实时编码问题来说,简单、有意义的问题将很少且不那么重要——这是您在准备时需要牢记的。
1.定义SQL名称
在讨论数据分析师的角色时,您可能知道 SQL 是什么(面试官认为您知道这一点)。你可能会被问到什么是 SQL,但很可能你会被要求解释 SQL 中的一些技术概念,两个(或多个)相关概念之间的区别,或者如何使用这个概念。这不是一个完整的列表,但这里有一些您应该准备描述的单词示例:
- 扳机
- 指数
- 光标
- 约束
- ETL(提取、转换和加载)
- 主键、外键和唯一键
- 规范化与非规范化
- RDBMS 与 DBMS
- 聚集索引与非聚集索引
SQL的基本问题可以这样问
1. 表中引用的目的是什么?描述不同的类型?
2 、SQL连接有哪些类型?
3. DROP、TRUNCATE 和 SUSA 语句有什么区别?
4.如何使用光标?
5 、HAVING子句和WHERE子句有什么区别?
2.关于问题的问题
查询的第二部分为您提供一个 SQL 查询并询问您一个关于它的问题。这将测试您阅读、翻译、分析和调试他人编写的代码的能力。
表单查询分析问题可能需要:
给定查询,
1.按照 SQL 的运行方式排列子句。
2.找出错误并改正。
3.预测查询将返回什么。
4.解释查询要解决的问题。
3. 编写查询
通常与 SQL 技术测试相关的问题要求您通过用 SQL 编写问题来解决特定问题。通常会给您一个或多个表格,并要求您编写一个或多个问题来检索、编辑或删除这些表格中的数据。
问题的难度可能会因公司和角色而异(入门级与高级相比)。一般来说,你应该随意使用以下概念、陈述和段落来写问题:
- 类别、汇总和评级(CASE、COUNT 或 SUM、数字和分母)
- 加入两个表(加入内部与左或右)
- 编辑数据库(插入、更新和删除)
- 比较运算符(较小、较大、等效)
- 编辑数据(ORDER BY、GROUP BY、HAVING)
- 子查询
编写查询的问题可能需要:
提供一个或多个带有几行示例的表格,
- 列出三个客户服务最多的商店。
- 公布上一次绩效考核成绩达到三个或以上的所有员工的员工 ID。
- 计算呈下降趋势的产品的月销售率。
- 查找和删除表中的重复项,而无需创建另一个表。
- 查找两个表之间的共同记录。
SQL 面试的六步策略
有时,控制情绪的最好方法是在面试之前。不管你被要求写什么样的问题,即使你感到紧张,你也可以使用这个六步过程来组织你的想法并引导你找到解决方案。
1.再次回答问题以确保您了解您被要求做什么。
2.通过提问检查数据。列中有哪些数据?是否有任何列包含唯一数据(例如用户 ID)?
3.确定解决问题所需的列。这有助于您专注于重要数据,以免被非查询数据分散注意力。
4.你在寻找什么答案? 寻找单个值或列表?答案是计算结果?如果是这样,它应该是浮点数还是整数?你的代码中需要这个吗?
5.一个一个地写你的代码。将自己的利益放在首位可能会有所帮助。通过写下你计划采取的步骤,一旦你开始写你的问题,你就会有一个清晰的大纲(如果你的方式有问题,它会让面试官有机会解决它)。
然后写在上升,一步一步为你的大纲。在您对第一步中的代码感到满意后,在第二步中构建该代码。
6.描述你的整体解决方案。如果有更有效的方法来编写代码——以下面的问题为例——解释一下。并记得回答第一个问题。
成功的 SQL 聊天技巧
除了上述过程之外,还有一些在 SQL 面试时要牢记的技巧。
大声谈论你的过程。你的面试官自己可能知道也可能不知道 SQL,所以一定要解释每一步是什么、如何以及为什么。
包括对您问题的每个步骤打算完成的内容的书面评论。这可以帮助您跟踪问题所在,并且可以使您的代码更易于理解。实时编码时,您可以使用双哈希 (-) 编写评论。在白板上,将你的想法写在旁边。
使用正确的格式。尽管您解决问题的能力比精确的语法更重要,但您可以通过保持手写代码的条理来避免让面试官(和您)感到困惑。
接受不适。考虑问题的时候房间安静也没关系。在你思考的时候,你可能会发现你必须从一个很好的想法开始,如何解释一些事情。那也很好。
结论_
我们已经讨论了在大多数数据分析面试中被问到的最好和最重要的 SQL 查询,并且还看到了代码执行。编码测试类型包括白板测试、实时编码和家庭作业。还使用所有 6 个关键点描述了 SQL 查询的逐步执行过程。在 SQL 提示部分,您可以在参加面试时遵循一些提示和技巧。
原文标题:SQL Interview Guide for Data Analyst
原文作者:Chetan Dekate
原文链接:https://www.analyticsvidhya.com/blog/2022/06/sql-interview-guide-for-data-analyst/




