为什么考察SQL?
大数据分析工程师80%的时间都在与SQL打交道,通过SQL完成业务方的各种临时性需求分析和常规性报表统计。熟练的SQL技能能够大大提高工作效率。本文将SQL/SparkSql/HiveQL放在一起来梳理一份常见题型的面试题库。
面试题库
01
SQL基础知识考察
对于面试初级数据分析师来说,SQL的面试重点会放在基础知识的考察,如果最基本的基础概念和语法都不能熟练回答出来的话,通过面试的几率就会很低。下面两张图是SQL基础概念和基础语法的考题大纲图,接下来围绕图中提到的概念来列举几个常见面试题。
图1基础概念
图2基础语法
考题模拟
题1:你觉得SQL是一种什么样的语言,说说你对它的认识。
答:SQL是StructuredQueryLanguage(结构化查询语言)的缩写。是一种专门用来与数据库沟通的语言,与大多数编程语言不同,SQL中只有很少的关键字,SQL语言的设计只为了达到一个目的---提供一种从数据库中读写数据的简单有效的方法。
SQL有如下优点:
(1)SQL不是某个特定数据库提供商专有的语言。几乎所有重要的DBMS都支持SQL,所以学习此语言使你几乎能与所有数据库打交道。
(2)SQL简单易学。它的语句全都是由有很强描述性的英语单词组成,而且这些单词的数目不多。
(3)SQL虽然看上去很简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
题2:你是怎么理解数据库和表的?
答:数据库是一个以某种有组织的方式存储的数据集合。可以将数据库想象为一个文件柜,这个文件柜是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的。通常容易将数据库和数据库软件的概念相混淆,数据库软件应称为数据库管理系统(DBMS)。数据库是通过DBMS创建和操纵的容器,而具体它究竟是什么,形式如何,各种数据库都不一样。
往文件柜里放资料时,并不是随便将它们扔进某个抽屉就完事了,而是在文件柜中创建文件,将相关的资料放入特定的文件中。在数据库领域中,这种文件称为表。是一种结构化的文件,可用来存放某种特定类型的数据。关于表的概念有以下注意事项:
数据库中的每个表都有一个名字来标识自己。这个名字是唯一的,即数据库中没有其他表具有相同的名字。
PS:每次回答面试官所提问的概念性问题时,最好在答出概念后,总结性的阐述一下相