秋招数分/数仓面经2
就个人经验分享一下在秋招中的一些菜鸡的面试经验,作为个人总结记录,也希望能够帮助到大家以后的一些面试。
二、数据仓库
一般数仓的面试一般就考察技术和知识的掌握程度了,业务向的问题的话一般是针对你对需求的理解(更多的是你自己去深入思考曾经碰到的需求),因此这次会根据数仓需要具备的知识体系来记录。
当然!在数仓方面的话我是弱鸡中的弱鸡,java忘得一干二净,祈祷未来再好好学吧...
Hive汇总
1、简单介绍一下hive
2、输入一个hive sql后会发生什么事情?
3、hive中表的类型以及使用情形
4、hive和RDBMS之间的区别
5、四种排序的区别
6、mapReduce执行过程(还挺经常会问
7、sql转化为mr的过程
8、hive数据倾斜
9、基于hive的优化(没索引了哦
10、分区和分桶
11、大规模数据的全局排序
hive的话感觉一般不会问特别多,整理上面的一些问题差不多够用。
数据仓库汇总
1、数仓定义
2、数仓在做什么,如何搭建数据仓库
3、数仓和数分有什么区别(会针对我这种有两份不一样经历的问
4、你觉得之前的xx实习中使用数仓有什么不太得心应手的地方(看着简单,答起来很困难
5、数据仓库和数据库的区别
6、概念模型、逻辑模型、物理模型
7、SCD以及常用处理方式
8、数仓模型设计的思路?业务驱动?数据驱动?(范式建模和维度建模
9、事实表和维度表
10、维度建模的三种模式(有一次被问到为什么星座模型被叫做星座模型,懵了之后回答:可能...长得像星座...?...大家还是好好准备吧...不要像我
11、数仓分层(必问题,并且有可能会直接给你一种场景,让你分层,每层是怎么样的数据,为什么要这么分
12、数分和数仓的必备特质
数仓部分问的挺多的,而且大多数就会涉及一些场景来让你叙述如何搭建和这么处理的理由,这可能需要准备的时候多看一些例子,这样自己是真的懂了才能讲出来。
数据库汇总
1、数据库的ACID
2、哪些数据库是关系型的or非关系型的,各自有什么特点
3、数据库中的范式是什么?有什么作用?三范式是什么?能举个例子吗
4、不同引擎的区别(我一般举innodb&myisam
5、索引如何提升效率/如何使用的
6、谓词下推
7、视图的定义和作用
8、insert/create相关语句注意点
数据库相关的都是背的...我都不是特别了解,因为实习的时候都不怎么碰到数据库了,问题都是根据面试问到的时候记录下来然后去准备的。
数据治理汇总
1、数据治理的作用
2、元数据的理解
3、元数据管理系统
4、如何控制数据质量
5、如何做数据治理
6、数据治理能做哪些事情
7、元数据管理是什么
因为实习中有涉及部分的数据治理,所以很常被问相关的一些问题,然后我感觉其实数据治理虽然很无聊(真诚.jpg),但是在数仓的建设中是很重要的,如果大家能多懂一些知识,也能更好的去做好未来的数仓搭建的工作。这些可能都是皮毛中的皮毛,但是能加入一些自己的理解可能就足够了。总之关键就是要多思考自己的项目以及涉及到的其他知识点,你主动的分享你的思考和理解会让人眼前一亮(瞎说的。
SQL题
1、次日留存、次n日留存
2、行转列、列转行
3、连续登录超过n天的用户
4、每分钟在线人数
5、用户在进行a操作之后进行b操作
6、最小登录时间、间隔时长
7、互相关注的用户
sql的书写和逻辑对于数仓来说还是挺重要的,准确性、效率、可读性都很重要,以上的问题都是我碰到过的比较经典的问题,建议大家刷完题之后可以多看一些别人的解题思路(别人的才是更好的5555,很多你解出来了但是面试官 不满意,因为你这写的这么复杂我们系统跑不动啊,那咋办,就优化呗。所以,大家要多练多看多学习。(麻了
数仓小结:因为是秋招中途转去面试数仓的,所以在数仓方面的一些知识和理解一定是没有专业的大佬懂得多,但也是在面试中准备和积累的一些问题,如果能掌握差不多也能拿一些些offer。数仓我也不确定每一面要准备些什么,主要还是靠平时的积累和对需求的理解,为什么这么取数?每层为啥这么放这些数据?我想得到的是咋样的数据?balabala的,反正多思考,积极一点就好啦。