大数据开发面试题目 大数据面试题V3.0,约870篇牛客大数据面经480道面试题

2023-12-04 04:07:00 来源 : haohaofanwen.com 投稿人 : admin

下面是好好范文网小编收集整理的大数据开发面试题目 大数据面试题V3.0,约870篇牛客大数据面经480道面试题,仅供参考,欢迎大家阅读!

大数据开发面试题目

大数据面试题V3.0

一、前言

大家好,我是蓦然。

2.0版本时,面试题整理了401道题,大约整理了500篇面试题,现在3.0,把当时剩下的370+也整理完了,虽然面经数量有370+,但新题基本上不多了,整理完,共480道题。很多都是以前问过的,所以新增的题目不多。之前预计是7月份左右3.0才能整理好,不过疫情在家隔离了一段时间,除去居家办公,剩余时间也相对多了不少,抓紧时间就把3.0整理完了,现在在慢慢整理一套比较完整的大数据开发学习视频,这个就后续再说吧。

下面进入正题。

二、480道大数据面试题

后面字数是指加上答案的,这里把题目分享给大家,大家有时间可以自己整理。

给大家提个醒:如果是面试某团的,记得一定要在牛客上看看别人分享的面经,你会发现,某团的“题库”好像库存量有点小,哈哈,遇到多次一二面问一样的题目。

Hadoop面试题(约5.5w字)

Hadoop基础

介绍下Hadoop

Hadoop的特点

说下Hadoop生态圈组件及其作用

Hadoop主要分哪几个部分?他们有什么作用?

Hadoop 1.x,2x,3.x的区别

Hadoop集群工作时启动哪些进程?它们有什么作用?

在集群计算的时候,什么是集群的主要瓶颈

搭建Hadoop集群的xml文件有哪些?

Hadoop的checkpoint流程

Hadoop的默认块大小是多少?为什么要设置这么大?

Block划分的原因

Hadoop常见的压缩算法?

Hadoop作业提交到YARN的流程?

Hadoop的Combiner的作用

Hadoop序列化和反序列化

Hadoop的运行模式

Hadoop小文件处理问题

Hadoop为什么要从2.x升级到3.x?

Hadoop的优缺点

HDFS部分

HDFS文件写入和读取流程

HDFS组成架构

介绍下HDFS,说下HDFS优缺点,以及使用场景

HDFS作用

HDFS的容错机制

HDFS的存储机制

HDFS的副本机制

HDFS的常见数据格式,列式存储格式和行存储格式异同点,列式存储优点有哪些?

HDFS如何保证数据不丢失?

HDFS NameNode高可用如何实现?需要哪些角色?

HDFS的文件结构?

HDFS的默认副本数?为什么是这个数量?如果想修改副本数怎么修改?

介绍下HDFS的Block

HDFS的块默认大小,64M和128M是在哪个版本更换的?怎么修改默认块大小?

HDFS的block为什么是128M?增大或减小有什么影响?

HDFS HA怎么实现?是个什么架构?

导入大文件到HDFS时如何自定义分片?

HDFS的mapper和reducer的个数如何确定?reducer的个数依据是什么?

HDSF通过那个中间组件去存储数据

HDFS跨节点怎么进行数据迁移

HDFS的数据-致性靠什么保证?

HDFS怎么保证数据安全

HDFS中向DataNode写数据失败了怎么办

Hadoop2.xHDFS快照

HDFS文件存储的方式?

HDFS写数据过程,写的过程中有哪些故障,分别会怎么处理?

NameNode存数据吗?

使用NameNode的好处

HDFS中DataNode怎么存储数据的

直接将数据文件上传到HDFS的表目录中,如何在表中查询到该数据?

MapReduce部分

介绍下MapReduce

MapReduce优缺点

MapReduce架构

MapReduce工作原理

MapReduce哪个阶段最费时间

MapReduce中的Combine是干嘛的?有什么好外?

MapReduce为什么一定要有环型缓冲区

MapReduce为什么一定要有Shuffle过程

MapReduce的Shuffle过程及其优化

Reduce怎么知道去哪里拉Map结果集?

Reduce阶段都发生了什么,有没有进行分组

MapReduce Shuffle的排序算法

shuffle为什么要排序?

说一下map是怎么到reduce的?

说一下你了解的用哪几种shuffle机制?

MapReduce的数据处理过程

mapjoin的原理(实现)?应用场景?

reducejoin如何执行(原理)

MapReduce为什么不能产生过多小文件

MapReduce分区及作用

ReduceTask数量和分区数量关系

Map的分片有多大

MapReduce join两个表的流程?

手撕一段简单的MapReduce程序

reduce任务什么时候开始?

MapReduce的reduce使用的是什么排序?

MapReduce怎么确定MapTask的数量?

Map数量由什么决定

MapReduce的map进程和reducer进程的ivm垃圾回收器怎么选择可以提高吞吐量?

MapReduce的task数目划分

MapReduce作业执行的过程中,中间的数据会存在什么地方?不会存在内存中么?

Mapper端进行combiner之后,除了速度会提升,那从Mapper端到Reduece端的数据量会怎么变?

map输出的数据如何超出它的小文件内存之后,是落地到磁盘还是落地到HDFS中?

Map到Reduce默认的分区机制是什么?

结合wordcount述说MapReduce,具体各个流程,map怎么做,reduce怎么做

MapReduce数据倾斜产生的原因及其解决方案

Map Join为什么能解决数据倾斜

MapReduce运行过程中会发生OOM,OOM发生的位置?

MapReduce用了几次排序,分别是什么?

MapReduce压缩方式

MapReduce中怎么处理一个大文件

YARN部分

介绍下YARN

YARN有几个模块

YARN工作机制

YARN有什么优势,能解决什么问题?

YARN容错机制

YARN高可用

YARN调度器

YARN中Container是如何启动的?

YARN的改进之处,Hadoop3.x相对于Hadoop 2.x?

YARN监控

Zookeeper面试题(约2.6w字)

介绍下Zookeeper是什么?

Zookeeper有什么作用?优缺点?有什么应用场景?

Zookeeper的选举策略,leader和follower的区别?

介绍下Zookeeper选举算法

Zookeeper的节点类型有哪些?分别作用是什么?

Zookeeper的节点数怎么设置比较好?

Zookeeper架构

Zookeeper的功能有哪些

Zookeeper的数据结构(树)?基于它实现的分布式锁?基于它实现的Master选举?基于它的集群管理? Zookeeper的注册(watch)机制使用场景?

介绍下Zookeeper消息的发布订阅功能

Zookeeper的分布式锁实现方式?

Zookeeper怎么保证一致性的

Zookeeper的zab协议(原子广播协议)?

ZAB是以什么算法为基础的?ZAB流程?

Zookeeper的通知机制

Zookeeper脑裂问题

Zookeeper的Paxos算法

Zookeeper的协议有哪些?

Zookeeper如何保证数据的一致性?

Zookeeper的数据存储在什么地方?

Zookeeper从三台扩容到七台怎么做?

Hive面试题(约3.3w字)

说下为什么要使用Hive?Hive的优缺点?Hive的作用是什么?

说下Hive是什么?跟数据仓库区别?

Hive架构

Hive内部表和外部表的区别?

为什么内部表的删除,就会将数据全部删除,而外部表只删除表结构?为什么用外部表更好?

Hive建表语句?创建表时使用什么分隔符?

Hive删除语句外部表删除的是什么?

Hive数据倾斜以及解决方案

Hive如果不用参数调优,在map和reduce端应该做什么

Hive的用户自定义函数实现步骤与流程

Hive的三种自定义函数是什么?实现步骤与流程?它们之间的区别?作用是什么?

Hive的cluster by、sort bydistribute by、orderby区别?

Hive分区和分桶的区别

Hive的执行流程

Hive SQL转化为MR的过程?

Hive SQL优化处理

Hive的存储引擎和计算引擎

Hive的文件存储格式都有哪些

Hive中如何调整Mapper和Reducer的数目

介绍下知道的Hive窗口函数,举一些例子

Hive的count的用法

Hive的union和unionall的区别

Hive的join操作原理,leftjoin、right join、inner join、outer join的异同?

Hive如何优化join操作

Hive的mapjoin

Hive语句的运行机制,例如包含where、having、group by、orderby,整个的执行过程?

Hive使用的时候会将数据同步到HDFS,小文件问题怎么解决的?

Hive Shuffle的具体过程

Hive有哪些保存元数据的方式,都有什么特点?

Hive SOL实现查询用户连续登陆,讲讲思路

Hive的开窗函数有哪些

Hive存储数据吗

Hive的SOL转换为MapReduce的过程?

Hive的函数:UDF、UDAF、UDTF的区别?

UDF是怎么在Hive里执行的

Hive优化

row_number,rank,dense_rank的区别

Hive count(distinct)有几个reduce,海量数据会有什么问题

HQL:行转列、列转行

一条HQL从代码到执行的过程

了解Hive SQL吗?讲讲分析函数?

分析函数中加Order By和不加Order By的区别?

Hive优化方法

Hive里metastore是干嘛的

HiveServer2是什么?

Hive表字段换类型怎么办

parquet文件优势

Flume面试题(约0.5w字)

介绍下Flume

Flume架构

Flume有哪些Source

说下Flume事务机制

介绍下Flume采集数据的原理?底层实现?

Flume如何保证数据的可靠性

Flume传输数据时如何保证数据一致性(可靠性)

Flume拦截器

如何监控消费型Flume的消费情况

Kafka和Flume是如何对接的?

为什么要使用Flume进行数据采集

Kafka面试题(约5.5w字)

介绍下Kafka,Kafka的作用?Kafka的组件?适用场景?

Kafka作为消息队列,它可解决什么样的问题?

说下Kafka架构

说下Kafka的特点,优缺点

Kafka相比于其它消息组件有什么好处?

Kafka生产者与消费者

Kafka分区容错性

Kafka的消费端的数据一致性

Kafka的leader挂掉之后处理方法

说下Kafka的ISR机制

Kafka的选举机制

Kafka的ISR、OSR和ACK介绍,ACK分别有几种值?

Kafka的工作原理?

Kafka怎么保证数据不丢失,不重复?

Kafka分区策略

Kafka如何尽可能保证数据可靠性?

Kafka数据丢失怎么处理?

Kafka如何保证全局有序?

牛产者消费者模式与发布订阅模式有何异同?

Kafka的消费者组是如何消费数据的

Kafka的offset管理

Kafka为什么同一个消费者组的消费者不能消费相同的分区?

如果有一条offset对应的数据,消费完成之后,手动提交失败,如何处理?

正在消费一条数据,Kafka挂了,重启以后,消费的offset是哪一个

Kafka支持什么语义,怎么实现ExactlyOnce?

Kafka的消费者和消费者组有什么区别?为什么需要消费者组?

Kafka producer的写入数据过程?

Kafka producer的ack设署

Kafka的ack机制,解决了什么问题?

Kafka读取消息是推还是拉的模式?有什么好?

Kafka如何实现高吞吐的原理?

说下Kafka中的Partition?

Kafka是如何进行数据备份的?

Kafka里面存的数据格式是什么样的?

Kafka是如何清理过期文件的?

Kafka的一条message中包含了哪些信息?

Kafka如何保证数据的ExactlyOnce?

Kafka消费者怎么保证ExactlyOnce

Kafka监控实现?

Kafka中的数据能彻底删除吗?

Kafka复制机制?

Kafka分区多副本机制?

Kafka分区分配算法

Kafka蓄水池机制

Kafka如何实现享等性?

Kafka的offset存在哪?

Kafka中如何保证数据一致性?

Kafka新旧API区别

Kafka消息在磁盘上的组织方式

Kafka在哪些地方会有选举过程,使用什么工具支持选举?

Kafka搭建过程要配置什么参数?

Kafka的单播和多播

Kafka的高水位和Leader Epoch

Kafka的分区器、拦截器、序列化器?

Kafka连接Spark Streaming的几种方式

Kafka的生成者客户端有几个线程?

Kafka怎么防止脑裂

Kafka高可用体现在哪里

Zookeeper在Kafka的作用

HBase面试题(约2.8w字)

介绍下HBase

HBase优缺点

说下HBase原理

介绍下HBase架构

HBase读写数据流程

HBase的读写缓存

在删除HBase中的一个数据的时候,它什么时候真正的进行删除呢?当你进行删除操作,它是立马就把数据删除掉了吗?

HBase中的二级索引

HBase的RegionServer宕机以后怎么恢复的?

HBase的一个region由哪些东西组成?

HBase高可用怎么实现的?

为什么HBase适合写多读少业务?

列式数据库的适用场景和优势?列式存储的特点?

HBase的rowkey设计原则

HBase的rowkey为什么不能超过一定的长度?为什么要唯一?rowkey太长会影响Hfile的存储是吧?

HBase的RowKey设置讲究有什么原因

HBase的大合并、小合并是什么?

HBase和关系型数据库(传统数据库)的区别(优点)?

HBase数据结构

HBase为什么随机查询很快?

HBase的LSM结构

HBase的Get和Scan的区别和联系?

HBase数据的存储结构(底层存储结构)

HBase数据compact流程?

HBase的预分区

HBase的热点问题

HBase的memstore冲刷条件

HBase的MVCC

HBase的大合并与小合并,大合并是如何做的?为什么要大合并

既然HBase底层数据是存储在HDFS上,为什么不直接使用HDFS,而还要用HBase

HBase和Phoenix的区别

HBase支持SQL操作吗

HBase适合读多写少还是写多读少

HBase表设计

Region分配

HBase的Region切分

Spark面试题(约9.8w字)

Spark的任务执行流程

Spark的运行流程

Spark的作业运行流程是怎么样的?

Spark的特点

Spark源码中的任务调度

Spark作业调度

Spark的架构

Spark的使用场景

Spark on standalone模型、YARN架构模型(画架构图)

Spark的yarn-cluster涉及的参数有哪些?

Spark提交job的流程

Spark的阶段划分

Spark处理数据的具体流程说下

Sparkjoin的分类

Spark map join的实现原理

介绍下Spark Shuffle及其优缺点

什么情况下会产生Spark Shuffle?

为什么要Spark Shuffle?

Spark为什么快?

Spark为什么适合迭代处理?

Spark数据倾斜问题,如何定位,解决方案

Spark的stage如何划分?在源码中是怎么判断属于Shuffle Map Stage或Result Stage的?

Spark join在什么情况下会变成窄依赖?

Spark的内存模型?

Spark分哪几个部分(模块)?分别有什么作用(做什么,自己用过哪些,做过什么)?

RDD的宽依赖和窄依赖,举例一些算子

Spark SQL的GroupBy会造成窄依赖吗?

GroupBy是行动算子吗

Spark的宽依赖和窄依赖,为什么要这么划分?

说下Spark中的Transform和Action,为什么Spark要把操作分为Transform和Action?常用的列举一些,说下算子原理

Spark的哪些算子会有shuffle过程?

Spark有了RDD,为什么还要有Dataform和DataSet?

Spark的RDD、DataFrame、DataSet、DataStream区别?

Spark的Job、Stage、Task分别介绍下,如何划分?

Application、job、Stage、task之间的关系

Stage内部逻辑

为什么要根据宽依赖划分Stage?为

什么要划分Stage

Stage的数量等于什么

对RDD、DAG和Task的理解

DAG为什么适合Spark?

介绍下Spark的DAG以及它的生成过程

DAGScheduler如何划分?干了什么活?

Spark容错机制?

RDD的容错

Executor内存分配?

Spark的batchsize,怎么解决小文件合并问题?

Spark参数(性能)调优

介绍一下Spark怎么基于内存计算的

说下什么是RDD(对RDD的理解)?RDD有哪些特点?说下知道的RDD算子

RDD底层原理

RDD属性

RDD的缓存级别?

Spark广播变量的实现和原理?

reduceByKey和groupByKey的区别和作用?

reduceByKey和reduce的区别?

使用reduceByKey出现数据倾斜怎么办?

Spark SQL的执行原理?

Spark SQL的优化?

说下Spark checkpoint

Spark SQL与DataFrame的使用?

Sparksql自定义函数?怎么创建DataFrame?

HashPartitioner和RangePartitioner的实现

Spark的水塘抽样

DAGScheduler、TaskScheduler、SchedulerBackend实现原理

介绍下Sparkclient提交application后,接下来的流程?

Spark的几种部署方式

在Yarn-client情况下,Driver此时在哪

Spark的cluster模式有什么好处

Driver怎么管理executor

Spark的map和flatmap的区别?

Spark的cache和persist的区别?它们是transformaiton算子还是action算子?

Saprk Streaming从Kafka中读取数据两种方式?

Spark Streaming的工作原理?

Spark Streaming的DStream和DStreamGraph的区别?

Spark输出文件的个数,如何合并小文件?

Spark的driver是怎么驱动作业流程的?

Spark SQL的劣势?

介绍下Spark Streaming和Structed Streaming

Spark为什么比Hadoop速度快?

DAG划分Spark源码实现?

Spark Streaming的双流join的过程,怎么做的?

Spark的Block管理

Spark怎么保证数据不丢失

Spark SQL如何使用UDF?

Spark温度二次排序

Spark实现wordcount

Spark Streaming怎么实现数据持久化保存?

Spark SQL读取文件,内存不够使用,如何处理?

Spark的lazy体现在哪里?

Spark中的并行度等于什么

Spark运行时并行度的设署

Spark SQL的数据倾斜

Spark的exactly-once

Spark的RDD和partition的联系

park 3.0特性

Spark计算的灵活性体现在哪里

Flink面试题(约4.7w字)

Flink架构

Flink的窗口了解哪些,都有什么区别,有哪几种?如何定义?

Flink窗口函数,时间语义相关的问题

介绍下Flink的watermark(水位线),watermark需要实现哪个实现类,在何处定义?有什么作用?

Flink的窗口(实现)机制

说下Flink的CEP

说一说Flink的Checkpoint机制

Flink的Checkpoint底层如何实现的?savepoint和checkpoint有什么区别?

Flink的Checkpoint流程

Flink Checkpoint的作用

Flink中Checkpoint超时原因

Flink的ExactlyOnce语义怎么保证?

Flink的端到端ExactlyOnce

Flink的水印(Watermark),有哪几种?

Flink的时间语义

Flink相比于其它流式处理框架的优点?

Flink和Spark的区别?什么情况下使用Flink?有什么优点?

Flink backPressure反压机制,指标监控你是怎么做的?

Flink如何保证一致性?

Flink支持JobMaster的HA啊?原理是怎么样的?

如何确定Flink任务的合理并行度?

Flink任务如何实现端到端一致?

Flink如何处理背(反)压?

Flink解决数据延迟的问题

Flink消费kafka分区的数据时flink件务并行度之间的关系

使用flink-client消费kafka数据还是使用flink-connector消费

如何动态修改Flink的配置,前提是Flink不能重启

Flink流批一体解释一下

说一下Flink的check和barrier

说一下Flink状态机制

Flink广播流

Flink实时topN

在实习中一般都怎么用Flink

Savepoint知道是什么吗

为什么用Flink不用别的微批考虑过吗

解释一下啥叫背压

Flink分布式快照

Flink SQL解析过程

Flink on YARN模式

Flink如何保证数据不丢失

数仓面试题(约3.6w字)

介绍下数据仓库

数仓的基本原理

数仓架构

数据仓库分层(层级划分),每层做什么?分层的好处?

数据分层是根据什么?

数仓分层的原则与思路

数仓建模常用模型吗?区别、优缺点?

星型模型和雪花模型的区别?应用场景?优劣对比

数仓建模有哪些方式?

数仓建模的流程?

维度建模的步骤,如何确定这些维度的

维度建模和范式建模区别

维度表和事实表的区别?

什么是ER模型?

OLAP、OLTP解释(区别)三范式是什么,举些例子

维度设计过程,事实设计过程

维度设计中有整合和拆分,有哪些方法,并详细说明

事实表设计分几种,每一种都是如何在业务中使用

单事务事实表、多事务事实表区别与作用

说下一致性维度、一致性事实、总线矩阵

从ODS层到DW层的ETL,做了哪些工作?

数据仓库与(传统)数据库的区别?

数据质量是怎么保证的,有哪些方法保证

怎么衡量数仓的数据质量,有哪些指标

增量表、全量表和拉链表

数据库面试题(约3.9w字)

数据库中的事务是什么,MySQL中是怎么实现的

MySQL事务的特性?

数据库事务的隔离级别?解决了什么问题?默认事务隔离级别?

脏读,幻读,不可重复读的定义

MySQL怎么实现可重复读?

数据库第三范式和第四范式区别?

MySQL的存储引擎?

数据库有哪些锁?

说下悲观锁、乐观锁

分布式数据库是什么?

死锁产生的条件是什么?如何预防死锁?

介绍下数据库的ioin(内连接,外连接,全连接),内连接和外连接(左,右连接)的区别

MySQL的join过程

MySQL有哪些存储引擎?

数据库中存储引擎MvlSAM与InnoDB的区别

Mylsam适用于什么场景?

InnoDB和Mvlsam针对读写场景?

MySQL Innodb实现了哪个隔离级别?

InnoDB数据引擎的特点

InnoDB用什么索引

Hash索引缺点

数据库索引的类型,各有什么优缺点?

MySQL的索引有哪些?索引如何优化?

有哪些数据结构可以作为索引呢?

B树与B+树的区别?

为什么使用B+树作为索引结构?

不使用B+树,可以用那个数据类型实现一个索引结构

介绍下MySQL的联合索引联合索使用原则

数据库有必要建索引吗?

MySQL缺点?

什么是脏读?怎么解决?

为什么要有三大范式,建数据库时一定要遵循吗?

数据库一般对哪些列建立索引?索引的数据结构?

MySOL中索引的建立需要考虑哪些问题

关系型数据库与非关系型数据库区别

MySQL与Redis区别

列式数据库和行式数据库优劣比对

除了UTF-8还有什么编码格式

布隆过滤器的基本原理是什么?局限性是什么?使用什么方法可以增加删除的功能?

你在哪些场景下使用了布隆过滤器?

SQL慢查询的解决方案(优化)?

聚簇索引、非聚簇索引说一下

哈希索引和B+相比的优势和劣势?

MVCC知道吗?

三、结语

从牛客网讨论区大数据面试题中整理出来的面试题(应该涵盖面经中大多数的题型了)基本上就是上面的内容了,从上述面试题也可以大概看出来,Hadoop、Spark被问得最多,其次是Hive、Kafka、Flink这些,Flume相对来说,基本上很少看到,面经整理的多了,基本上就知道了面试哪些是重点,哪些题型会比较多,面试官会从哪几个方面去问。

写代码是个有意思但也有点枯燥的事情,要把代码当做一叠叠RMB,每一行代码都是RMB,这样写起来就贼爽了,哈哈。

祝大家面试顺利,加油。

大数据面试题V4.0预计应该要明年了,讨论区大数据面经暂时没啥更新了。。。。。害


相关文章

专题分类