「面试必背」大数据面试题100道(收藏)

article/2025/8/26 13:06:53

前言

随着 5G 时代的到来,大数据人工智能产业链又一次迎来了井喷式的爆发,随着岗位需求的不断增加,越来越多的人选择大数据课程,但是没有真正从事大数据工作的人面对企业面试有种无从下手的感觉,面对面试说不到技术的重点,每次面试只能靠队友,靠兄弟支援,尤其是面对架构,编程更是无从下手。于是我决定对市场上大多的有关大数据核心的面试题做一个详细的分析,也希望大家尽可能的做到举一反三,而不是局限于题目本身。

1、选择题

1.1.下面哪个程序负责 HDFS 数据存储。

  • a)NameNode
  • b)Jobtracker
  • c)Datanode
  • d)secondaryNameNode
  • e)tasktracker

答案 C datanode

1.2.HDfS 中的 block 默认保存几份?

  • a)3 份
  • b)2 份
  • c)1 份
  • d)不确定

答案 A 默认 3 份

1.3.下列哪个程序通常与 NameNode 在一个节点启动?

  • a)SecondaryNameNode
  • b)DataNode
  • c)TaskTracker
  • d)Jobtracker

答案 D

1.4.HDFS 默认 Block Size

a)32MB

b)64MB

c)128MB

答案:B

1.5.下列哪项通常是集群的最主要瓶颈

  • a)CPU
  • b)网络
  • c)磁盘 IO
  • d)内存

答案:C 磁盘

1.6.关于 SecondaryNameNode 哪项是正确的?

  • a)它是 NameNode 的热备
  • b)它对内存没有要求
  • c)它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间
  • d)SecondaryNameNode 应与 NameNode 部署到一个节点

答案 C。

1.7.下列哪项可以作为集群的管理?

  • a)Puppet
  • b)Pdsh
  • c)Cloudera Manager
  • d)Zookeeper

答案 ABD

1.8.Client 端上传文件的时候下列哪项正确

  • a)数据经过 NameNode 传递给 DataNode
  • b)Client 端将文件切分为 Block,依次上传
  • c)Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作

答案 B
分析:Client 向 NameNode 发起文件写入的请求。NameNode 根据文件大小和文件块配置情况,返回给 Client 它所管理部分 DataNode 的信息。Client 将文件划分为多个 Block,根据 DataNode 的地址信息,按顺序写入到每一个 DataNode 块中。具体查看 HDFS 体系结构简介及优缺点。

1.9.下列哪个是 Hadoop 运行的模式

  • a)单机版
  • b)伪分布式
  • c)分布式

答案 ABC 单机版,伪分布式只是学习用的。

2、面试题

2.1. Hadoop 的核心配置是什么?

Hadoop 的核心配置通过两个 xml 文件来完成:1,hadoop-default.xml;2,hadoop-site.xml。这些文件都使用 xml 格式,因此每个 xml 中都有一些属性,包括名称和值,但是当下这些文件都已不复存在。

2.2.那当下又该如何配置?

Hadoop 现在拥有 3 个配置文件:1,core-site.xml;2,hdfs-site.xml;3,mapred-site.xml。这些文件都保存在 conf/子目录下。

2.3.“jps”命令的用处?

这个命令可以检查 Namenode、Datanode、Task Tracker、 Job Tracker 是否正常工作。

2.4.mapreduce 的原理?

2.5. HDFS 存储的机制?

流程:

1、 client 链接 namenode 存数据

2、 namenode 记录一条数据位置信息(元数据),告诉 client 存哪。

3、 client 用 hdfs 的 api 将数据块(默认是 64M)存储到 datanode 上。

4、 datanode 将数据水平备份。并且备份完将反馈 client。

5、 client 通知 namenode 存储块完毕。

6、 namenode 将元数据同步到内存中。

7、 另一块循环上面的过程。

流程:

1、 client 链接 namenode,查看元数据,找到数据的存储位置。

2、 client 通过 hdfs 的 api 并发读取数据。

3、 关闭连接。

2.6.举一个简单的例子说明 mapreduce 是怎么来运行的 ?

wordcount 的例子

2.7.用 mapreduce 来实现下面需求?

现在有 10 个文件夹,每个文件夹都有 1000000 个 url.现在让你找出 top1000000url。

解答:topk

(还可以用 treeMap, 到 1000000 了每来一个都加进去, 删掉最小的)

2.8.hadoop 中 Combiner 的作用?

combiner 是 reduce 的实现,在 map 端运行计算任务,减少 map 端的输出数据。

作用就是优化。

但是 combiner 的使用场景是 mapreduce 的 map 和 reduce 输入输出一样。

2.9.简述 hadoop 安装

2.10. 请列出 hadoop 进程名

2.11. 解决下面的错误

2.12. 写出下面的命令

2.13. 简述 hadoop 的调度器

2.14. 列出你开发 mapreduce 的语言

2.15. 书写程序

2.16. 不同语言的优缺点

2.17. hive 有哪些保存元数据的方式,个有什么特点。

2.18. combiner 和 partition 的作用

2.19. hive 内部表和外部表的区别

  • 内部表:加载数据到 hive 所在的 hdfs 目录,删除时,元数据和数据文件都删除
  • 外部表:不加载数据到 hive 所在的 hdfs 目录,删除时,只删除表结构

2.20. hbase 的 rowkey 怎么创建好?列族怎么创建比较 好?

  • hbase 存储时,数据按照 Row key 的字典序(byte order)排序存储。设计 key 时,要充分排序
  • 存储这个特性,将经常一起读取的行存储放到一起。(位置相关性)一个列族在数据底层是一个文件,所以将经常一起查询的列放到一个列族中,列族尽量少, 减少文件的寻址时间。

2.21. 用 mapreduce 怎么处理数据倾斜问题?

2.22. hadoop 框架中怎么来优化

2.23. 我们开发 job 时,是否可以去掉 reduce 阶段。

可以。设置 reduce 数为 0 即可

2.24. datanode 在什么情况下不会备份

datanode 在强制关闭或者非正常断电不会备份

2.25. combiner 出现在那个过程

出现在 map 阶段的 map 方法后。

2.26. hdfs 的体系结构

  • hdfs 有 namenode、secondraynamenode、datanode 组成。
  • 为 n+1 模式
  • namenode 负责管理 datanode 和记录元数据
  • secondraynamenode 负责合并日志
  • datanode 负责存储数据

2.27. 3 个 datanode 中有一个 datanode 出现错误会怎样?

这个 datanode 的数据会在其他的 datanode 上重新做备份。

2.28. 描述一下 hadoop 中,有哪些地方使用了缓存机制, 作用分别是什么?

在 mapreduce 提交 job 的获取 id 之后,会将所有文件存储到分布式缓存上,这样文件可以被所有的 mapreduce 共享。

2.29. 如何确定 hadoop 集群的健康状态

通过页面监控,脚本监控。

2.30. 生产环境中为什么建议使用外部表?

1、因为外部表不会加载数据到 hive,减少数据传输、数据还能共享。

2、hive 不会修改数据,所以无需担心数据的损坏

3、 删除表时,只删除表结构、不删除数据。

感谢阅读,由于篇幅有限以上面经资料博主已经整理打包好了,这些知识点的导图和问题的答案详解的PDF文档都可以免费分享给大家,点赞收藏文章后,私信【资料】免费领取!

 


http://chatgpt.dhexx.cn/article/TB87OGRB.shtml

相关文章

《大数据面试题》面试大数据这一篇就够了

文章目录 Hadoop 常见面试题1. mr 工作原理 ☆☆☆☆2. split 机制 ☆☆☆☆☆3. namenode,datanode,secondaryNameNode分别是干什么的?☆☆☆☆☆4. mr on yarn 工作原理 ☆☆☆☆☆5. fsimage 和 edits 是干什么的?为什么要使用?☆☆☆☆6.…

android codecs app,MiX Codecs

MiX Codecs app是一款mix插件包,MiX Codecs app整个在线的操作非常的简单,是没有任何的广告和收费问题的,MiX Codecs app适合的类型比较多。 软件介绍 MiX Codecs app是一个平滑的、功能齐全的文件管理应用程序MiXplorer文件管理器的插件工具…

python codecs_python中转换模块codecs的讲解(附示例)

本篇文章给大家带来的内容是关于python中转换模块codecs的讲解(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 0、编码 编码转换时,通常需要以unicode作为中间编码,…

python codecs_python模块之codecs

python 模块codecs python对多国语言的处理是支持的很好的,它可以处理现在任意编码的字符,这里深入的研究一下python对多种不同语言的处理。 有一点需要清楚的是,当python要做编码转换的时候,会借助于内部的编码,转换…

第六章:文件系统-codecs:字符串编码和解码-Unicode入门

6.10 codecs:字符串编码和解码 codecs模块提供了流接口和文件接口来完成文本数据不同表示之间的转换。通常用于处理Unicode文本,不过也提供了其他编码来满足其他用途。 6.10.1 Unicode入门 CPython 3.x区分了文本(text)和字节(byte)串。byte…

Java中的方法重载

1.方法重载概述 方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载: 多个方法在同一个类中多个方法具有相同的方法名多个方法的参数不相同,类型不同或者数量不同 2.方法重载特点 重载仅对应方法的定义&a…

java方法命名规范(持续更新)

前言:命名的目的是见名知意。业界目前没有强制的命名规范,但是用过了JPA之类的人,自己新建DAO层的方法的时候,也有一个参考,所以,用hibernate那一套,其实挺好的,维护起来也是很方便。…

java的静态方法

Java中方法分为静态方法和普通方法 所谓静态方法,就是方法前面加上static关键字,调用静态方法时一般用类名.方法名,当然也可以用对象名.方法名; 一般Java中工具类里面的工具方法都用static修饰,作为静态方法&#xff1…

java中方法的调用

1.静态方法调用静态方法: 用静态方法时通过(类名.方法名)的方法进行调用,当调用方法和被调用的方法在同一类中时,类名可省略,直接通过方法名进行调用; 同时也可以通过对象进行调用,但…

Java泛型方法

Java泛型方法 在学习Java泛型方法之前,我希望你们针对于Java泛型类有一定的了解并且可以熟练的使用。若了解并不是很详细。可以观看我写的另一篇文章 (也是我写的) Java泛型类 来了解一下。 呢么我们速度过一下泛型方法。其实泛型方法并不难理解。 我们直接上代码来…

Java方法返回值类型归纳

Java方法返回值类型归纳 我们再调用一个方法时,将方法体内产生的一条数据输出到方法体外使用,这条数据我们叫做返回值。 返回值类型分为两大类:第一类,无返回值类型:void。第二类,有返回值类型&#xff0…

java 一般方法_java有哪些方法

java有哪些方法 定义一个完整的类方法,需要六个步骤,也就是六大部分。也因为这六个部分的不同而可以大概分为9种方法。 一、一般方法 二、构造方法 三、无参无返回值的方法。 四、无参有返回值的方法。 五、有参无返回值的方法。 六、有参有返回值的方法…

java怎么返回数组_java方法怎么返回数组

java方法返回数组的方法:在方法前添加int[]即可返回一维的整型数组。如果在方法前添加int[][],则可以返回二维的整型数组。 Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念&…

java 调用方法 数组_JAVA方法与数组

一、JAVA的方法: 1、定义:a、java方法是语句的集合,它们在一起执行一个功能。 b、方法是解决一类问题的步骤的有序组合。 c、方法包含于类或对象中。 d、方法在程序中被创建,在其他地方被引用。 2、设计方法的原则:一个方法只能完成1个功能,最好保持方法的原子性。 3、语…

教妹学Java(二十四):一文了解 Java 中的方法

你好呀,我是沉默王二,CSDN 排名前十的博客专家。这是《教妹学 Java》专栏的第二十四篇,我们来了解一下 Java 中的方法——什么是方法?如何声明方法?方法有哪几种?什么是实例方法?什么是抽象方法…

java方法详解

java方法:(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集,并且能实现达到代码复用的效果 java方法包含于类或对象中(在面向对象的时候我们就知道,其实类和对象是…

【Java】保姆级“方法“教学

目录 一、前言 二、方法 1、方法的概述 2、方法的定义和调用 格式1: 示例图1: 示例图2: 代码1: 代码2: 格式2: 修饰符访问权限范围: 本章主要内容: 3、带参数方法的定义和调用 方法定…

java方法(超详细)

一、概述 方法,也称函数,如果想要重复一段或者多段代码块的使用,可以将这些代码封装成一个方法,方法具体表现为某种行为,使用方法可以提高代码的复用性。 二、方法的声明 1.组成 访问权限符 返回值 方法名&#x…

【自然语言处理】3. NMT机器翻译案例实战(基于TensorFlow Addons Networks with Attention Mechanism)

NLP系列讲解笔记 本专题是针对NLP的一些常用知识进行记录,主要由于本人接下来的实验需要用到NLP的一些知识点,但是本人非NLP方向学生,对此不是很熟悉,也是因为本人对NLP灰常感兴趣,想扎进去好好研究研究,所…

使用NMT和pmap解决JVM资源泄漏问题

NMT NMT是Native Memory Tracking的缩写,一个JDK自带的小工具,用来跟踪JVM本地内存分配情况(本地内存指的是non-heap,例如JVM在运行时需要分配一些辅助数据结构用于自身的运行)。 NMT功能默认关闭,可以在J…