好未来22暑期数仓实习一面二面(未oc)
作者:1_pb
链接:https://www.nowcoder.com/discuss/669840?source_id=discuss_experience_nctrack&channel=-1
来源:牛客网
5.20号内推的 ,5.26下午14点一面,5.31下午16点二面 ,今天6.7号,目前还没收到感谢信 ,可能没了,发个面经吧🤣
1面(40min)
1.自我介绍
2.你对数仓的理解是什么样子的?(讲了数仓分层)
3.数仓的分层有什么好处?(答了复杂的问题简单化,解耦等)
4.写了一个mr的项目,项目介绍(就是小的一个案例)
5.介绍一下MapReduce基本流程(讲了整个流程,这个主要就聊map,shuffle,reduce)
6.hive把hql转化为mr程序用到哪些组件,分别做哪些工作呢?(讲了hive的架构,解析器,编译器,优化器,执行器)
7.hive中hql执行的慢,你能说一下你知道的优化手段吗?(讲了group by优化,行列过滤优化,count(distinct)等)
8.在hive或者hadoop里小文件会造成什么影响?出现你会怎么做?(讲了namenode元数据,maptask个数、har包、sequencefile、combintextinputformat等)
9.场景题:1G大小的文件,每行一个词,词的大小不超过16字节,内存要求 1M,返回频率最高的100个词(讲了分而治之)
10.说一下数据库的三范式,以及举例说明(聊的挺好这个)
11.说一下mysql的存储引擎,都有什么特点?(讲了innodb,说不太了解,面试官也没有多问)
12.说一下你了解mysql哪些索引?(答得一般,后边也没问了)
13.说一下tcp和udp协议的差别?(网络基础差的很,面试官后边也没问了)
14.问一个hive吧,hive排序的关键字有哪些,有什么差别 (讲了order by、sort by)
15.hive分区表和分桶表的差别(讲了两个的原理)
16.手写sql题,查出每科成绩前三名 (dense_rank()开窗解决)
17.dense_rank、rank、row_number的区别(举例讲了一下)
18.反问阶段
一面结束,一个小姐姐,前面聊的挺开心,计网和mysql有点差,二面之前恶补了。
2面(35min)
1.自我介绍
2.聊了实习经历(解释了是兼职,因为是比较不错的一家公司,就写上去了)
3.问了平时的自学方式(讲了看文档,比如flume,看视频,写笔记,写博客)
4.简单说一下mr的原理 (讲了整个流程,map到shuffle到reduce)
5.能简单说一下hive的文件格式吗?(讲了textfile,orc,parquet文件格式,以及存储方式)
6.orc和textfile比有什么优势和劣势? (讲了orc的压缩,面试官引导了一下,根据存储方式讲了一下分别的好处。)
7.那你知道orc文件的头文件上含有什么信息?(之前没有仔细看过,面试完看了,他里面包含了一些min,max等信息,就他查询文件的时候可以通过这个头文件的信息来判断需不需要查这个文件等,这也是查询效率比较快的原因。)
8.说一下为什么hive会有分区表的概念(讲了分区表的原理)
9.为什么要做小文件的优化? (讲了namenode的内存空间,maptask个数,以及检索比较慢)
10.手写sql题,跟一面类似,有一个是表结构的转换 (多种思路写了一下,表结构的转换想了一会,说了思路,面试官讲了可以用case when,当时没想到)
11.你对维度建模有了解吗?(讲了3个模型,数仓分层)
12.你听过 Kimball,Inmon吗?(维度建模近期才了解,后面了解了一下,买了kimball的数据仓库工具箱,最近看看,包括lnmon的数据仓库有时间可以都看看)
13.常用的数据结构 (说了链表)
14.怎么判断一个链表是否有环?(答了快慢指针,hashset)
15.反问阶段
二面结束,二面面试官也挺好的,答不出来的时候,引导一下。有些确实还是了解的比较少,需要补一下
还没收到感谢信,许个愿吧,希望能oc 😛