导读:在大数据开发岗位的需求下,工资待遇水涨船高,不少编程人员在面对职业瓶颈期的时候,会选择转编程方向发展。

你是否已经意识这是你人生中的一个重要转机?能不能抓住这个时代的机遇,就在于你对大数据信息的应用和获取。而如何成为大数据时代的弄潮儿,掌握当下最紧缺的软件技能是关键!谷歌、阿里巴巴、百度、京东都在急需掌握hadoop技术的大数据人才!无论你精通大数据的哪一项类,都将在未来职场脱颖而出!

01 单选题

1、下面哪个程序负责 HDFS 数据存储?

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

答案 C datanode

2、HDfS 中的 block 默认保存几份?

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

答案 A 默认 3份

3、Hadoop 作者?

a)Martin Fowler

b)Kent Beck
c)Doug cutting

答案 C Doug cutting

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

a)SecondaryNameNode

b)DataNodeb)DataNode

c)TaskTracker

d)Jobtracker

答案:D

此题分析: 

hadoop 的集群是基于 master/slave 模式,namenode 和 jobtracker 属于 master,datanode 和 tasktracker 属 于 slave,master 只 有 一 个 , 而 slave 有多个SecondaryNameNode 内存需求和 NameNode 在一个数量级上,所以通常 secondary ,NameNode(运行在单独的物理机器上)和 NameNode 运行在不同的机器上。

JobTracker 和 TaskTracker,JobTracker 对应于 NameNode,TaskTracker 对应于 DataNode,DataNode 和 NameNode 是针对数据存放来而言的,JobTracker 和 TaskTracker 是对于 MapReduce 执行而言的,mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:obclient,JobTracker 与 TaskTracker。

JobClient会在用户端通过JobClient类将应用已经配置参数打包成jar文件存储到hdfs,并把路径提交到 Jobtracker,然后由 JobTracker 创建每一个 Task(即 MapTask 和ReduceTask)并将它们分发到各个 TaskTracker 服务中去执行。JobTracker 是一个 master 服务,软件启动之后 JobTracker 接收 Job,负责调度 Job的每一个子任务 task 运行于 TaskTracker 上,并监控它们,如果发现有失败的 task 就重新运行它。一般情况应该把 JobTracker 部署在单独的机器上。TaskTracker 是运行在多个节点上的 slaver 服务。TaskTracker 主动与 JobTracker 通信,接收作业,并负责直接执行每一个任务。TaskTracker 都需要运行在 HDFS 的 DataNode上。

5、下列哪项通常是集群的最主要瓶颈:

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

答案:C 磁盘

此题解析:

首先集群的目的是为了节省成本,用廉价的 pc 机,取代小型机及大型机。小型机和大型机有什么特点?

  1. cpu 处理能力强

  2. 内存够大。所以集群的瓶颈不可能是 a 和 d

  3. 网络是一种稀缺资源,但是并不是瓶颈。

  4. 由于大数据面临海量数据,读写数据都需要 io,然后还要冗余数据,hadoop 一般备 3份数据,所以 IO 就会打折扣。

6、 HDFS 默认 Block Size 

a)32MB
b)64MB
c)128MB

答案:B

7、关于 SecondaryNameNode 哪项是正确的?

a)它是 NameNode 的热备

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

答案:C

02 多选题

1、下列哪项可以作为集群的管理?

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

答案:ABD

2、配置机架感知的下面哪项正确:

a)如果一个机架出问题,不会影响数据读写
b)写入数据的时候会写到不同机架的 DataNode 中
c)MapReduce 会根据机架获取离自己比较近的网络数据

答案 :ABC

3、Client 端上传文件的时候下列哪项正确?

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

答案: B

此题分析:

lient 向 NameNode 发起文件写入的请求。

NameNode 根据文件大小和文件块配置情况,返回给 Client 它所管理部分 DataNode 的信息。Client 将文件划分为多个 Block,根据 DataNode 的地址信息,按顺序写入到每一个DataNode 块中。

4、下列哪个是 Hadoop 运行的模式:

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

答案:ABC

5、Cloudera 提供哪几种安装 CDH 的方法?

a)Cloudera manager
b)Tarball
c)Yum
d)Rpm

答案:ABCD

03 判断题

1、 Ganglia 不仅可以进行监控,也可以进行告警。

正确

此题分析:此题的目的是考 Ganglia 的了解。严格意义上来讲是正确。ganglia 作为一款最常用的 Linux 环境中的监控软件,它擅长的的是从节点中按照用户的需求以较低的代价采集数据。但是 ganglia 在预警以及发生事件后通知用户上并不擅长。最新的 ganglia 已经有了部分这方面的功能。但是更擅长做警告的还有 Nagios。Nagios,就是一款精于预警、通知的软件。通过将 Ganglia 和 Nagios 组合起来,把 Ganglia 采集的数据作为 Nagios 的数据源,然后利用 Nagios 来发送预警通知,可以完美的实现一整套监控管理的系统。

2、Block Size 是不可以修改的。

错误 

此题分析:它是可以被修改的 Hadoop 的基础配置文件是 hadoop-default.xml,默认建立一个 Job 的时候会建立 Job 的 Config,Config 首先读入 hadoop-default.xml 的配置,然后再读入 hadoop-site.xml 的配置(这个文件初始的时候配置为),hadoop-site.xml 中主要配置需要覆盖的 hadoop-default.xml 的系统级配置。

3、Nagios 不可以监控 Hadoop 集群,因为它不提供 Hadoop 支持。

错误 

此题分析:Nagios 是集群监控工具,而且是云计算三大利器之一

4、如果 NameNode 意外终止,SecondaryNameNode 会接替它使集群继续工作。

错误 

此题分析:SecondaryNameNode 是帮助恢复,而不是替代,如何恢复,可以查看

5、Cloudera CDH 是需要付费使用的。

错误 

此题分析:第一套付费产品是 Cloudera Enterpris,Cloudera Enterprise 在美国加州举行的Hadoop 大会 (Hadoop Summit) 上公开,以若干私有管理、监控、运作工具加强Hadoop 的功能。收费采取合约订购方式,价格随用的 Hadoop 叢集大小变动。

6、Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。

错误 

此题分析:rhadoop 是用 R 语言开发的,MapReduce 是一个框架,可以理解是一种思想,可以使用其他语言开发。

7、Hadoop 支持数据的随机读写。

错误

此题分析:lucene是支持随机读写的,而 hdfs 只支持随机读。但是 HBase 可以来补救。HBase提供随机读写,来解决 Hadoop 不能处理的问题。HBase自底层设计开始即聚焦于各种可伸缩性问题:表可以很“高”,有数十亿个数据行;也可以“宽”,有数百万个列;水平分区并在上千个普通商用机节点上自动复制。表的模式是物理存储的直接反映,使系统有可能提高高效的数据结构的序列化、存储和检索。

8、NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。

错误

此题分析:

NameNode 不需要从磁盘读取 metadata,所有数据都在内存中,硬盘上的只是序列化的结果,只有每次 namenode 启动的时候才会读取。

1)文件写入

Client 向 NameNode 发起文件写入的请求。

NameNode 根据文件大小和文件块配置情况,返回给 Client 它所管理部分 DataNode 的信息。

Client 将文件划分为多个 Block,根据 DataNode 的地址信息,按顺序写入到每一个DataNode 块中。

2)文件读取

Client 向 NameNode 发起文件读取的请求。

9、NameNode 本地磁盘保存了 Block 的位置信息。

个人认为正确,欢迎提出其它意见

此题分析:DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。NameNode返回文件存储的DataNode的信息。Client读取文件信息。

10、DataNode 通过长连接与 NameNode 保持通信。

这个有分歧:具体正在找这方面的有利资料。下面提供资料可参考。

首先明确一下概念:

(1)长连接

Client方与Server方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在,此种方式常用于点对点通讯。

(2)短连接

Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点通讯,比如多个Client连接一个Server.

11、Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。

错误

此题分析:hadoop只能阻止好人犯错,但是不能阻止坏人干坏事。

12、Slave 节点要存储数据,所以它的磁盘越大越好。

错误

此题分析:一旦Slave节点宕机,数据恢复是一个难题。

13、hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。

错误

14、 Hadoop 默认调度器策略为 FIFO

正确

15、 集群内每个节点都应该配 RAID,这样避免单磁盘损坏,影响整个节点运行。

错误

此题分析:首先明白什么是RAID,可以参考百科磁盘阵列。这句话错误的地方在于太绝对,具体情况具体分析。题目不是重点,知识才是最重要的。因为hadoop本身就具有冗余能力,所以如果不是很严格不需要都配备RAID。具体参考第二题。

16、因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。

错误

17、每个 map 槽就是一个线程。

错误 

此题分析:首先我们知道什么是map 槽,map 槽->map slotmap slot 只是一个逻辑值 ( org.apache.hadoop.mapred.TaskTracker.TaskLauncher.numFreeSlots ),而不是对应着一个线程或者进程。

18、Mapreduce 的 input split 就是一个 block。

错误

19、NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。

错误

20、Hadoop 环境变量中的 HADOOP_HEAPSIZE 用于设置所有 Hadoop 守护线程的内存。它默认是 200 GB。

错误

此题分析:hadoop为各个守护进程(namenode, secondarynamenode, jobtracker, datanode, tasktracker)统一分配的内存在hadoop-env.sh中设置,参数为HADOOP_HEAPSIZE,默认为1000M。

21、DataNode 首次加入 cluster 的时候,如果 log 中报告不兼容文件版本,那需要 NameNode执行“Hadoop namenode -format”操作格式化磁盘。

错误

此题分析:

首先明白介绍,什么ClusterID。

ClusterID

添加了一个新的标识符ClusterID用于标识集群中所有的节点。当格式化一个Namenode,需要提供这个标识符或者自动生成。这个ID可以被用来格式化加入集群的其他Namenode。

二次整理

有的同学问题的重点不是上面分析内容,内容如下:

这个报错是说明 DataNode 所装的Hadoop版本和其它节点不一致,应该检查DataNode的Hadoop版本 。

来源:36大数据(dashuju36)、网络大数据(ID:raincent_com)

感谢你读到这里

所以我们要给你发福利

请在后台回复20查看详情

推荐阅读

日本老爷爷坚持17年用Excel作画,我可能用了假的Excel···

180页PPT,讲解人工智能技术与产业发展

终于有人把云计算、大数据和人工智能讲明白了!

数据告诉你:跟缺“芯”相比,中国当前的这个问题更致命!

Q: 你都有哪些面试的经验和教训?

欢迎留言与大家分享

觉得不错,请把这篇文章分享给你的朋友

转载 / 投稿请联系:baiyu@hzbook.com

更多精彩文章,请在公众号后台点击“历史文章”查看

成为大数据顶尖程序员,先过了这些Hadoop面试题!(附答案解析)相关推荐

  1. 大数据培训程序员面试屡次碰壁怎么办

    碰壁是每个大数据程序员在面试过程中都需要经历的,即使有面试第一家公司就成功的案例,那也是比较少的,首先小伙伴不要慌神,也不要过于的气馁,稳下心神来考虑这么一个问题,自己面试屡次碰壁的原因是什么,自己有 ...

  2. 计算机软考 下午试题,2011年计算机软考程序员考试(下午题)模拟试题及答案(2)...

    下午试卷 (考试时间 14:00~16:30 共150分钟) 本试卷共8道题,考生需解答5道题,其中试题1~试题3是必答题,试题4和试题5两题任选1道题,试题6至试题8三题任选1道解答.对于任选题,如 ...

  3. Android程序员必备!海量算法高频面试题精编解析,真香

    前言 这里是我整理的2019年至2021年期间通过各个渠道花时间专门整理的面试题,其中面试重点和难点都有详细解析,重点讲的是Android各方面的专题讲解包括Java小部分的技术讲解.这些题目有点技术 ...

  4. 程序员趣味儿逻辑测题-2(附答案)这次的题稍难,快来挑战吧!

    佛祖的灯油被老鼠精偷吃了,悟空抓来四个女妖精来审问, 分别是:白骨精.蜘蛛精.玉兔精.老鼠精. 但是这些女妖精都会变化,悟空的火眼金睛也分不清哪个才是老鼠精. 于是对其中三个女妖进行了询问: 女妖A: ...

  5. 官方数据:程序员年纪越大越出色、越稀有

    导读:本文是从<It's official: developers get better with age. And scarcer>这篇文章翻译而来,译文来自外刊IT评论<官方数据 ...

  6. 全球最厉害最有钱的24位顶尖程序员及其代表项目(公号回复“顶尖程序员”下载PDF资料)

    全球最厉害最有钱的24位顶尖程序员及其代表项目(公号回复"顶尖程序员"下载PDF资料) 原创: 秦陇纪 数据简化DataSimp 今天 数据简化DataSimp导读:全球最厉害最有 ...

  7. 12本大神级程序员必读书籍,从菜鸟走向牛逼!

    很多人问我这个问题,尤其是那些刚开启软件工程生涯的同事和朋友.要成为一个更好的开发人员,我应该读哪些书?我真的需要读书吗?这是一个很值得探讨的问题,而且也是我在成为软件工程师之时问了很多导师的一个问题 ...

  8. 怎么锻炼出顶尖程序员的编码套路(转)

    个人比较欣赏的一篇文章,值得细细品味. 以下内容为转载,修改了部分标点符号及文字等(原谅我看到有些内容时有些洁癖),链接在文章末尾. 怎么锻炼出顶尖程序员的编码套路 我每天都开车去上班,但我的驾驶水平 ...

  9. 顶尖程序员不同于常人的 5 个区别

    2019独角兽企业重金招聘Python工程师标准>>> <The Effective Engineer>的作者在写书的过程中,为了了解那些顶级程序员和普通程序员的区别,采 ...

最新文章

  1. Cmake,source_group
  2. bcftools合并vcf文件
  3. java 类 赋值_Java实现不同的类的属性之间相互赋值
  4. python穷举法搬砖_python 穷举法 算24点(史上最简短代码)-阿里云开发者社区
  5. BUU_刷题之旅(One)
  6. IDEA 正式版终于支持中文版和 JDK 直接下载了(太方便了)附介绍视频
  7. 封网后聊天就用“飞秋”
  8. Response.Redirect()和Response.RedirectPermanent()区别
  9. Java1009_疯狂java学习笔记1009---异常
  10. Windows Server 2008 R2+SQL Server 2014 R2升级到Windows Server 2016+SQL Server 2016
  11. si4463 WDS配置参数详解
  12. 智能电视软件安装(WIFI上网)
  13. 自动化专业现在行业前景如何,吃香吗?
  14. Windows图片查看器不见了注册表可以帮你修复
  15. edge浏览器登录谷歌账号显示此浏览器或应用可能不安全
  16. Android开发—基于OpenCV实现相机实时图像识别跟踪
  17. 2021SC@SDUSC Zxing开源代码(四)QR码的编码(一)
  18. python 微信撤回消息
  19. SQL自动检查神器项目,吊炸天的功能
  20. 人工智能入门算法逻辑回归学习笔记

热门文章

  1. C++工作笔记-3种方法对数据类型进行拆分(可用于各种协议)
  2. Qt|OpenGL学习笔记-绕X轴、Y轴、以及XY轴旋转的四边体
  3. linux脚本 sed,Linux脚本利器sed
  4. 控制寄存器:指令指针寄存器IP:存放下一条指令的地址的偏移量,标志寄存器FR(16):
  5. (王道408考研操作系统)第四章文件管理-第一节3:文件目录
  6. Detours的作用和实例(hook、钩子)
  7. kvm虚拟化网卡、virbr0、网段修改
  8. linux安装selenium、chromedriver、Chrome浏览器、BrowserMob Proxy(代理)爬虫爬站环境安装及测试实例
  9. twisted系列教程五–改进twisted poetry client
  10. 递归应用:八皇后问题