爱数据学习社”关注我们吧!-
作者 | 爱数据讲师Ailsa
整理丨爱数据Knox
Hello爱数据小伙伴们,今天给大家分享的是:面试数据分析师时,关于SQL常见题型和面试技巧。
节选自爱数据学习社公开课《数据分析SQL面试题——如何针对同列数据进行操作》,想看完整直播内容,可在公众号界面回复“直播”获取入口,或至文末点击“阅读原文”。
面试SQL会有哪些题型?
第一种:构建表结构
面试官会给你一个业务场景,你认为需要建几张表,每张表的结构字段是什么,表跟表之间的关联关系是什么?
这种问题他主要考察你对于业务的理解,构建表结构的一个能力。最基本的局部建表,包括外建、主建等等。
第二种:多表联查
给你几张表,让你进行复杂查询的实现。
这个主要针对多表多列字段进行嵌套,子查询等。
第三种:窗口函数
主要有以下三种:
1、聚合开窗函数:
函数名如果是聚合函数,则成为聚合开窗函数
语法:聚合函数(列) over(partition by 列 order by 列)
常见的聚合函数有:sum、count、average、max、min
2、排序开窗函数:
row_number(行号)
rank(排名)
dense_rank(密集排名)
ntile(分组排名)
排序面试题会遇到很多,并且工作中也经常写。
3、同列错位开窗函数,就是移动位置这样的题目。
lag(col,n):用于统计窗口内往上第n行值。
lead(col,n):用于统计窗口内往下第n行值。
应对技巧
遇到忘记或不会的知识点该怎么办?
SQL面试,基本分两种形式,一种现场写,一种发一套题让你做。如果你SQL玩得很转,基本上都没太大问题。
假如你玩的并不溜,面试时又紧张,这种情况下你很容易写错,或者过高判断面试题难度,你会认为它很难,你不敢写或怎样,在这个过程中,先不要慌!
首先他出的题,基本上不会超出业务范围。不要想的那么难,你越想的难,就越做不出来,感觉自己是不是考虑的太简单。其实没有。
比如涉及到一些业务,如果你在SQL理解上有误差,你可以说明自己的理解情况,写出一个结果就可以。
一定要先有思路,再细化。
不光面试写SQL,包括面试其他知识点,如果你临时忘记,直接说不会,印象分一定会减弱。那该怎么办?
比如面试官问你,写SQL时如何截断字符串,你一下子想不起来怎么写,你可以说,我在工作中也有用到,但一时半会想不起来,不过我知道在Excel中,可以用 right、left、mid 取中间值进行截断,或者你还会Python,也可以多说一点。
总之,把对方注意点移到另一方面,而且还延展了内容。但前提你真的知道SQL怎么处理。
这样回答,总比你说:“不好意思,我这个我不知道。”要好很多。
迂回一下,告诉他该怎么去实现,也是考验你双商的时候。
在面试过程中,难免会遇到不会的题,这时候千万不要直接说:我不会。
如果面试官和蔼可亲,比较好的话,你就问他:我目前业务范围还没有涉及到这类问题,那贵公司是怎么来解决这个问题?可以虚心请教,回去之后,你要把知识整理一下,最好整理成笔记,再给面试官发一下,这样,他会明白你的态度还不错。
也和大家分享一下我曾经类似的经历。
我当时去面试,被问到关于MySQL实现的一个功能,当时觉得不太可能实现,但又不好意思直说,去反驳面试官。回去后查了相关资料,把详细知识点,罗列出来,告诉他MySQL不可以实现。他和我说:不好意思,我是用其他软件或工具来实现,没有考虑到MySQL不可以实现。
所以,面试官说的问题也不一定都正确。
我们还是要抱有学习的态度,面试也是一种成长和学习的过程。
希望大家可以顺利通过面试,offer拿到手软~
END
后续我们还会分享更多实用干货和实战案例
敬请持续关注~
或留言你想要了解或学习的内容
我们择期安排
本文为爱数据学院作者Ailsa提供
版权归爱数据学院所有,转载请联系后台
球分享
球在看