全文共3006字,预计学习时长13分钟
图源:unsplash
SQL是数据分析和处理最基本的编程语言之一,因此,无论是面试数据分析师、数据科学家、数据工程师,还是其他相关工作,都免不了要过这一关。
实战技术和解决问题的能力是SQL面试中考察的重点,应聘者不仅要基于示例数据编写正确的查询,还要考虑各种场景和边缘情况,就如同在处理实际数据集。
笔者曾经帮助求职者设计过SQL面试问题,并模拟了面试,也多次亲身参加了大型科技公司和初创企业SQL求职面试的实战。本文将对SQL面试问题的常见模式进行阐释,分享在SQL查询中灵活处理这些模式的技巧。
快掏出小本本开始学习吧~
提问
要拿下一场SQL面试,最重要的在于尽可能多地提问,以确保自己掌握了给定任务和数据样本的所有细节。理解这些需求有助于节省迭代问题的时间,也有助于更好地处理边缘情况。
图源:unsplash
许多应聘者会在没有深入理解SQL问题或数据集之前,直接开始解决问题。在笔者指出解决方案中的问题之后,他们不得不反复修改查询,在迭代上浪费了大量时间,甚至到最后都没找到正确的解决方案。
笔者的建议是将SQL面试视为在与业务合作伙伴一起工作,保持这种心态,面试者就会在提供解决方案之前努力收集数据请求的所有需求。
示例
从下表中找出薪资最高的三位职员。
样本:职员薪资表
面试者应该让面试官仔细阐述“前三名”的概念——结果中必须只有三名职员吗?对于并列的处理有何要求?此外,面试者应仔细查看示例职员的数据——薪资字段的数据类型是什么?需要在计算之前清除数据吗?
何种连接