大数据面试题总结一波,助力准备跳槽寻找好工作的小伙伴们,只有度过笔试这一关才能在下面的关卡中大展宏图!

10多个技术面、100多道面试题,Hadoop,Spark,Flink,数据仓库等面试题,为你的面试保驾护航。

文章目录

  • 01   Linux面试题-10题

    02   SQL面试题-10题

    03   Java面试题-10题

    04   Zookeeper面试题-10题

    05   HDFS面试题-10题

    06   Hadoop面试题-10题

    07   Hive面试题-10题

    08   HBase面试题-10题

    09   Kafka面试题-10题

    10   Spark面试题-10题

    11   ElasticSearch面试题-10题

    12   Flink面试题-10题

    13   数据仓库-10题


一、Linux面试题

第1题
假设有3台主机,分别为master、slave1、slave2,在开启SSH互信的情况下,编写一个或多个脚本实现在所有的远程主机上执行脚本的功能。

例如:runRemoteCmd.sh "jps" all

期望结果:

master:

XXXXXXXX

XXXXXXXX

XXXXXXXX

slave1:

XXXXXXXX

XXXXXXXX

XXXXXXXX

slave2:

XXXXXXXX

XXXXXXXX

XXXXXXXX

第2题
Linux自带的常用命令至少举例20个?

第3题
Linux如何查看内存使用情况?

第4题
Linux如何查看gc?

第5题
Linux 如何删除n天前的文件?

第6题
Linux如何查看端口占用情况?

第7题
打印 1-100 奇数。

第8题
替换某一个文件的字符串。

第9题
使用什么命令查看磁盘使用空间? 空闲空间呢?

第10题
怎样一页一页地查看一个大文件的内容呢?

二、SQL面试题

第1题
业务场景:考试记录编码转名称
a)要求1:答案选项表只能关联一次

b)要求2:答案顺序不能错位,没有被选择项,置空

考试记录表:

考试人 试卷名称题目编号答案编码
张三exam-a0101ACD


答案选项表:

试卷名称题目编号题目名称答案名称
exam-a0101你最近5年的职业(可多选)A教师
exam-a0101你最近5年的职业(可多选)B医生
exam-a0101你最近5年的职业(可多选)C销售人员
exam-a0101你最近5年的职业(可多选)D白领


请用hive实现将考试记录表的编码,转换成对应的题目名称及答案名称,关联后结果如下:

考试人试卷名称题目编号题目名称
答案A答案B答案C答案D
张三exam-a0101你最近5年的职业(可多选)
教师NULL销售人员白领


第2题
用2中方法,分别1句sql 实现下来统计逻辑的实现:
表T
YF                RQ            SUDO
2020-01-01        2020-01-01      3
2020-01-01        2020-01-02      4
2020-01-01        2020-01-03      5
2020-01-01        2020-01-04      4
…….
2020-02-01        2020-02-01      2
2020-02-01       2020-02-01      4


结果统计
YF                RQ            SUDO
2020-01-01        2020-01-01      3
2020-01-01        2020-01-02      7
2020-01-01        2020-01-03      12
2020-01-01        2020-01-04      16
…….
2020-02-01        2020-02-01      2
2020-02-01        2020-02-01      6

第3题
用SQL 查询出所有有音乐,美术特长的学生,数据如下
姓名          特长
张三          美术
张三          音乐
李四          篮球
小明          美术
李四          美术
小明          音乐

表:stu  字段:name,speciality
参考答案:
select name from 
(select s1.name,s1.speciality as speciality1,s2.speciality as speciality2 from stu s1  join stu s2 on s1.name=s2.name) a
where a.speciality1='音乐' and a.speciality2='美术'

第4题
数据库左连接和内连接的区别?

第5题
谈谈你对数据库索引的理解?

第6题
谈谈你对数据库视图的理解?

第7题
阐述数据库的三大范式?

第8题
有一张表phone_mail,如下:
Phone      mail
137        1@163.com
137        2@163.com           
135        3@163.com
135        1@163.com
136        1@163.com
136        1@163.com
(1) 查出前2条数据   
(2) 根据手机号进行排序

第9题
sql语句中order by和group by的区别?

第10题
用一条SQL 语句 查询出每门课都大于80 分的学生姓名
name course score 
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90

三、Java面试题

第1题
为什么要有单例模式?

第2题
假设你只有一台内存2G的笔记本,I5的四核CPU以及4T的硬盘,请设计一个程序,实现对1T英文数据进行词频分析,完成以下两个小题:

1) 求所有词的词频,把相应的值存入文件;

2) 找出这些词里出现频次最高的100个词

第3题
内存泄漏和内存溢出有什么区别?

第4题
HashMap、HashTable 的区别及其优缺点?

第5题
给定a、b两个文件,各存储50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?谈谈你的思路

第6题
有一个1G大小的文件,文件里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M,要求返回频数最高的100个词,请列出具体实现步骤?谈谈你的思路 

第7题
现有一份海量日志数据保存在一个超级大的文件中,该文件无法直接读入内存,要求从超级文件中提取某天访问百度次数最多的那个IP?谈谈你的思路

第8题
有10个文件,每个文件1G,每个文件的每一行存放的都是用户的query,每个文件的query都可能重复,要求你按照query的频度排序。谈谈你的思路

第9题
在2.5亿个整数中找出不重复的整数。谈谈你的思路
备注,内存不足以容纳这2.5亿个整数。

第10题
十大排序算法原理及代码实现(Java)?

四、Zookeeper面试题

第1题
如何迁移大数据平台中的Zookeeper集群?

第2题
zookeeper有哪些常用的应用场景?

第3题
Zookeeper集群节点数,为什么使用奇数个,而不使用偶数个?

第4题
谈谈你对ZAB协议的理解?

第5题
Zookeeper包含哪四种类型的数据节点 Znode?

第6题
谈谈你对Zookeeper Watcher 机制理解?

第7题
zookeeper是如何保证事务的顺序一致性的?

第8题
zk节点宕机如何处理?

第9题
Zookeeper有哪几种几种部署模式?

第10题
Zookeeper对节点的watch监听通知是永久的吗?为什么不是永久的?

五、HDFS面试题

第1题
一个hadoop集群,hdfs副本数为3,此时存入1G数据。然后修改hdfs配置文件,将副本设置为2,然后重启hadoop集群,此时再存入1G数据。请问此时hdfs集群上数据量一共有多大?

第2题
HDFS元数据都会存在于NameNode的内存中,因此NameNode的内存大小直接决定了集群支持的最大容量,那么如何估算NameNode需要的内存大小?比如一个含有200个节点的集群,每个节点有24TB的磁盘,每个Block的大小为128MB,每个块有3个副本,那么请问,在这种场景下需要NameNode的内存大小为多少?

前提条件:一般1GB内存可以管理100万个block文件

第3题
简述namenode的HA机制。他是如何实现故障切换的?

第4题
hdfs数据块的默认大小是多少?过大过小有什么优缺点?

第5题
简述hadoop的副本策略?副本过多过少有什么优缺点?

第6题
DataNode副本存储策略?如果Hadoop在保存副本的时候,比如,第二个副本存完毕,向第三个副本存入数据时DataNode挂了,会出现什么情况?

第7题
客户端向HDFS写入数据过程?

第8题
客户端从HDFS读数据过程?

第9题
HDFS中大量小文件带来的问题以及解决方法?

第10题
三个datanode中当有一个datanode出现错误时会怎样?

六、Hadoop面试题

第1题
简述在combiner和sort分别是发生在map 端还是在reduce端?

第2题
用mr实现怎么实现一个大表和一个小表关联,以及两个大表怎么关联?谈谈你的思路

第3题
假设HDFS数据块blocksize大小为64MB,输入类为FileInputFormat,现在有3个文件,大小分别为64KB, 65MB, 200MB,请问Hadoop框架会把这些文件拆分为多少块?总共有多少个map任务?(假设split的大小等于块的大小)

第4题
描述一下hadoop生态圈中有哪些地方使用到了缓存机制,作用分别是什么?

第5题
Hadoop中通过拆分任务到多个节点运行来实现并行计算,但某些节点运行较慢会拖慢整个任务的运行,Hadoop采用什么机制应对这个情况?

第6题
MapReduce二次排序原理?

第7题
怎么解决MapReduce的数据倾斜?

第8题
我们在开发分布式计算job的时候,是否可以去掉reduce阶段

第9题
MapReduce优化经验?

第10题
请列出你所知道的hadoop调度器,并简要说明其工作方法?

七、Hive面试题

第1题
Hive中的UDF函数有哪几种?你写过哪些?

第2题
Hive中创建表有哪几种方式,其区别是什么?

第3题
Hive中,collect_list()、collect_set()两个函数的区别是什么?参数类型有什么限制?

第4题
Hive在select查询数据后,执行insert操作插入ORC表和parquet表操作的过程中,遇到over gc limit、java.lang.OutMemoryError:Java heap space 等字样的错误,大概从哪些地方查找原因解决问题?

第5题
hive性能调优的常见方法?

第6题
Hive的join有几种方式,怎么实现join的?

第7题
Hive内部表和外部表的区别?应该如何选择使用哪种表呢?

第8题
hive怎么解决数据倾斜?

第9题
hive底层与数据库交互原理?

第10题
以你的实际经验,说下怎样预防全表扫描?

八、HBase面试题

第1题
底层数据同样存储在HDFS,HBase为什么比Hive查询速度快?

第2题
如果HBase节点宕机了,后续是如何处理的?是影响线上业务?

第3题
HBase写数据的原理是什么?

第4题
Hbase如何设计rowkey?列簇怎么设计比较好?

第5题
怎么实现Hbase的预分区?

第6题
解释下 hbase 实时查询的原理

第7题
每天百亿数据存入HBase,如何保证数据的存储正确和在规定的时间里全部录入完毕,不残留数据?

第8题
说一说HBase优化常见手段?

第9题
为什么不建议在 HBase 中使用过多的列族?

第10题
HBase Region分裂的意义是什么?

九、Kafka面试题

第1题
Kafka如何实现高吞吐率?

第2题
Kafka数据可靠性如何保证?

第3题
生产环境中,Kafka如何保证数据不丢失?

第4题
生产环境中,Kafka如何保证消息幂等性问题?

第5题
Kafka 与传统消息系统之间有三个关键区别?

第6题
Kafka 创建 Topic 时如何将分区放置到不同的 Broker 中?

第7题
Kafka partition 的数据如何保存到硬盘?

第8题
说一说 kafka 的 ack 机制?

第9题
说一说消费者负载均衡策略?

第10题
kafka follower如何与leader同步数据?

十、Spark面试题

第1题
对于Spark中的数据倾斜问题你有什么好的方案?

第2题
1.Spark RDD是什么?
2.RDD是如何提高数据处理的效率的?
3.画出RDD的工作原理流程?

第3题
Spark 中的reduceByKey和groupbyKey的区别?

第4题
RDD做如下转换流程:RDD A——>RDD B——>RDD C——>RDD D

如果RDD D中的分区数据丢失,是只需要在RDD C的分区上重算?还是需要从 RDD A开始从头重新计算

第5题
谈谈spark中的宽窄依赖?

第6题
哪些spark算子会有shuffle?

第7题
谈一谈spark scheduler(任务调度)?

第8题
讲一下Spark Stage是如何划分的?

第9题
RDD是弹性数据集,“弹性”体现在哪里呢?你觉得RDD有哪些缺陷?

第10题
Groupbykey和reducebykey哪个性能更高,为什么?

十一、ElasticSearch面试题

第1题
elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。

面试官:想了解应聘者之前公司接触的 ES 使用场景)规模,有没有做过比较大
规模的索引设计)规划)调优。

第2题
elasticsearch 的倒排索引是什么?

面试官:想了解你对基础概念的认知。

第3题
elasticsearch 索引数据多了怎么办,如何调优,部署?

面试官:想了解大数据量的运维能力。

第4题
elasticsearch 是如何实现 master 选举的?

面试官:想了解 ES 集群的底层原理,不再只关注业务层面了。

第5题
详细描述一下 Elasticsearch 索引文档的过程?

面试官:想了解 ES 的底层原理,不再只关注业务层面了。

第6题
详细描述一下 Elasticsearch 搜索的过程?

面试官:想了解 ES 搜索的底层原理,不再只关注业务层面了。

第7题
Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

面试官:想了解对 ES 集群的运维能力。

第8题
Elasticsearch 中的节点(比如共 20 个),其中的 10 个选了一个 master,另外 10 个选了另一个 master,怎么办?

第9题
Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

第10题
在并发情况下,Elasticsearch 如果保证读写一致?

十二、Flink面试题

第1题
Flink是如何做到高效的数据交换的?

第2题
Flink是如何做容错的?

第3题
Flink 分布式快照的原理是什么?

第4题
Flink是如何保证Exactly-once语义的?

第5题
Flink中的Window出现了数据倾斜,你有什么解决办法?

第6题
Flink中在使用聚合函数 GroupBy、Distinct、KeyBy 等函数时出现数据热点该如何解决?

第7题
Flink任务延迟高,想解决这个问题,你会如何入手?

第8题
Flink是如何处理反压的?

第9题
Flink什么情况下才会把Operator chain在一起形成算子链?

第10题
说说 Flink 资源管理中 Task Slot 的概念?

十三、数据仓库

第1题
数据库的三范式?

第2题
维度建模常用的模型有哪些?

第3题
维度建模一般分为那几步?

第4题
数据集市与数据仓库的区别与联系?

第5题
数据仓库建模一般用雪花还是星形模式?

第6题
数据源表字段和结构经常变化,要建设历史轨迹表怎么设计比较好? 

第7题
hive做数仓时,最好建外部表吗?dm层(数据集市)中的数据,面向不同用户时,不会相互影响(不同部门,共用同一份数据)。 dw层、ods层呢? 

第8题
事实表的概念?

第9题
业务数据库表结构发生变更导致数仓任务大面积报错,如何针对这种情况进行监控告警预处理? 

第10题
ORACLE业务系统数据(包括OA系统、生产系统、财务系统。。。)怎么被拉到数仓中的?

因版面有限,添加下面微信号领取完整大数据面试答案!备注:博客

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐