Hadoop自测题及参考答案(持续更新中--2015.6.14)

单选题

1、与其他几项不同的是

A. Mesos

B. Mongodb

C. Corona

D. Borg

E. YARN

注:其他几项都是资源统一管理系统或者资源统一调度系统,而 Mongodb一种非关系型数据库。

2、[java基础] 以下不属于线程安全的数据结构是

A. HashMap

B. HashTable

C. CopyOnWriteArrayList

D. ConcurrentHashMap

3、hadoop2.x采用什么技术构建源代码

A. ant

B. ivy

C. maven

D. makefile

4、Apache Tez是由哪个公司首先开发的

A. Cloudera

B. MapR

C. Hortonworks

D. Intel

5、DistributedFileSystem调用create方法后的返回类型是

A. FSDataOutputStream

B. DataOutputStream

C. DFSOutputStream

D. FSDataInputStream

6以下哪种不是hadoop对于小文件的处理方式

A. SequenceFile

B. CombinedInputFormat

C. Archive

D. MapFile

E. ByteBuffer

7、关系型数据库与HDFS之间相互数据迁移的工具是

A. distcp

B. fsck

C. fastcopy

D. sqoop

8、SecondaryNamenode的作用是

A. 监控Namenode

B. 管理Datanode

C. 合并fsimage和editlogs

D. 支持Namenode HA

9、[linux基础] 表示主机名与IP地址映射关系的文件是

A. /etc/host.conf

B. /etc/hostname

C. /etc/hosts

D. /etc/resolv.conf

10、以下属于oozie作用的是

A. 作业监控

B. 日志收集

C. 工作流调度

D. 集群管理

11、hadoop处在云计算三层模型中哪一层

A. PaaS

B. SaaS

C. IasS

D. 介于IaaS和PaaS之间

12、以下哪个数据结构是java中对文件读取速度最快的

A. RandomAccessFile

B. FileChannel

C. BufferedInputStream

D. FileInputStream

FileChannel 用于读取、写入、映射和操作文件的通道。多个并发线程可安全地使用文件通道。

RandomAccessFile 此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。

BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。在创建 BufferedInputStream 时,会创建一个内部缓冲区数组。

FileInputStream从文件系统中的某个文件中获得输入字节。

13、默认的Namenode web管理端口是

A. 50070

B. 8020

C. 50030

D. 22

14、Client端与Namenode之间的RPC通信协议是

A. ClientNamenodeProtocol

B. NamenodeProtocl

C. DatanodeProtocol

D. ClientProtocol

15、FSDataOutputStream实现了哪个接口

A. DataOutputStream

B. FilterOutputStream

C. OutputStream

D. Syncable

public class FSDataOutputStream extends DataOutputStream implements Syncable, CanSetDropBehind{}

16、关于DirectByteBuffer和ByteBuffer描述错误的是

A. ByteBuffer在heap上分配内存

B. DirectByteBuffer的字节访问速度比ByteBuffer块

C. ByteBuffer需要通过wrap方法来封装字节数组

D. DirectByteBuffer由jvm负责垃圾回收

ByteBuffer需要通过wrap方法来封装字节数组,ByteBuffer在heap上分配内存,DirectByteBuffer的字节访问速度比ByteBuffer快。

ByteBuffer由JVM负责垃圾回收(DirectByteBuffer不是)

17、没有提供FUSE功能的分布式文件系统有

A. lustre

B. glusterfs

C. fastdfs

D. moosefs

mogileFS:Key-Value型元文件系统,不支持FUSE,应用程序访问它时需要API,主要用在web领域处理海量小图片,效率相比mooseFS高很多。

fastDFS:国人在mogileFS的基础上进行改进的key-value型文件系统,同样不支持FUSE,提供比mogileFS更好的性能。

mooseFS:支持FUSE,相对比较轻量级,对master服务器有单点依赖,用perl编写,性能相对较差,国内用的人比较多。

glusterFS:支持FUSE,比mooseFS庞大

ceph:支持FUSE,客户端已经进入了linux-2.6.34内核,也就是说可以像ext3/rasierFS一样,选择ceph为文件系统。彻底的分布式,没有单点依赖,用C编写,性能较好。基于不成熟的btrfs,其本身也非常不成熟。

lustre:Oracle公司的企业级产品,非常庞大,对内核和ext3深度依赖。

NFS:老牌网络文件系统。

18、下面哪个类的声明是正确的

A. abstract final class A{}

B. abstract private B(){}

C. protected private C;

D. public abstract class D{}

19、FileSystem类是一个

A. 接口

B. 抽象类

C. 普通类

D. 内部类

public abstract class FileSystemextends Configuredimplements Closeable{}



20、使用javap命令的哪个参数可以查看java内部类型的签名

A. -p

B. -l

C. -s

D. -c

21、使用snappy-java,需要的native库是

A. libhadoop.so

B. libsnappyjava.so

C. libsnappy.so

D. libjavasnappy.so

22、下列压缩算法支持splitable,能作为mapreduce输入的是

A. deflate

B. gzip

C. bzip2

D. snappy

23、禁用本地文件系统的校验功能可以设置属性是

A. fs.file.impl

B. fs.hdfs.impl

C. fs.local.impl

D. fs.raw.impl

设置fs.file.impl的值为org.apache.hadoop.fs,RawLocalFileSystem

24、linux默认情况下,一个进程最多能打开多少文件

A. 64

B. 128

C. 512

D. 1024

25、linux中使用tar归档命令,以下哪个命令可以列出详细列表

A. tar -cv

B. tar -r

C. tar -cvf

D. tar –t

t 列出档案文件的内容,查看已经备份了哪些文件。

26、和网络字节序一样的字节序是

A. Big Endian

B. Little Endian

C. BigLittle

D. Misc

不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序,最常见的有两种:

1. Little endian:将低序字节存储在起始地址

2. Big endian:将高序字节存储在起始地址

网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用big endian排序方式

27、Namenode发送给Datanode什么命令可以让Datanode对坏块进行删除

A. DNA_TRANSFER

B. DNA_FINALIZE

C. DNA_INVALIDATE

D. DNA_RECOVERBLOCK

28、数据节点通过运行什么后台线程来检测是否有数据损坏

A. DataXceiver

B. ReplicationManager

C. BlockPoolManager

D. DataBlockScanner



29、以下正确的语句是

A. new InputStreamReader(new FileReader(“data”))

B. new InputStreamReader(new BufferedReader(“data”))

C. new InputStreamReader(“data”)

D. new InputStreamReader(System.in)

30、以下哪个Set**默认是排序**的

A. HashSet

B. TreeSet

C. AbstractSet

D. LinkedHashSet

31、以下描述正确的是

A. Comparable在java.util.*包下

B. Comparator用于集合内对数据的比较

C. WritableComparable继承了WritableComparator

D. 实现了Comparable接口的类需要实现compareTo方法

32、以下描述正确的是

A. NullWritable可以用来表示一个空的Writable对象

B. fix()方法是MapFile的静态成员方法

C. Text的值不可以被修改

D. WritableComparator继承了WritableComparable

This method attempts to fix a corrupt MapFile by re-creating its index.

public static long fix(参数省略) {}

33、以下7层OSI网络模型按照正确顺序排序的是

A. 物理层 数据链路层 传输层 网络层 会话层 表示层 应用层

B. 物理层 数据链路层 会话层 网络层 传输层 表示层 应用层

C. 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层

D. 网络层 传输层 物理层 数据链路层 会话层 表示层 应用层

34、以下描述错误的是

A. MapFile的key是Writable类型

B. SequenceFile中如果采用记录压缩方式,key是不压缩的

C. SequenceFile.Writer类支持append方法

D. SequenceFile中如果采用块压缩方式,key也要被压缩

35、以下说法的错误是

A. 使用Writable序列化方法不满足可扩展的需求

B. BytesWritable是不可变长度的

C. VIntWritable是可变长度的

D. 使用protocobuffer需要自定义消息类型

36、设计模式中注重接口或抽象与具体实现分离的是

A. Bridge模式

B. Facade模式

C. Proxy模式

D. Adapter模式

37、以下描述正确的是

A. LinkedHashMap.keySet()默认是按降序排序的

B. Hashtable.keySet()默认是按升序排序的

C. HashMap.keySet()默认是按乱序排序的

D. TreeMap.keySet()默认是顺序排序的

TreeMap.keySet()默认是升序排序的

LinkedHashMap.keySet()默认是按顺序排序的

38、DAO模式一般采用以下哪种设计模式

A. Proxy模式

B. Factory模式

C. Prototype模式

D. Observer模式

—2015.6.8



39、一个作业的map个数是怎么确定的

A. 属性mapred.map.tasks设定

B. JobTracker计算得出

C. InputSplit分片的个数

D. TaskTracker通过配置map的个数

40、TaskTracker与JobTracker之间的通信协议是

A. JobSubmissionProtocol

B. ClientProtocol

C. TaskUmbilicalProtocol

D. InterTrackerProtocol

在Hadoop中JT(JobTracker)与TT(TaskTracker)之间的通信是通过心跳机制完成的。JT实现InterTrackerProtocol协议,该协议定义了JT与TT之间的通信机制——心跳。心跳机制实际上就是一个RPC请求,JT作为Server,而TT作为Client,TT通过RPC调用JT的heartbeat方法,将TT自身的一些状态信息发送给JT,同时JT通过返回值返回对TT的指令。

41、默认的mapreduce输入格式是

A. TextInputFormat

B. KeyValueTextInputFormat

C. NLineInputFormat

D. SequenceFileInputFormat

42、以下描述错误的是

A. SequenceFile可以用来作为小文件的合并存储容器

B. TextInputFormat的key是LongWritable类型的

C. CombineFileInputFormat是抽象类

D. TextInputFormat的key是指该记录在文件中的行号

43、以下关于新旧mapreduce API的描述错误的是

A. 新API放在org.apache.hadoop.mapreduce包中,而旧API则是放在org.apache.hadoop.mapred中

B. 新API倾向于使用接口方式,而旧API倾向于使用抽象类

C. 新API使用Configuration,而旧API使用JobConf来传递配置信息

D. 新API可以使用Job对象来提交作业

44、map中环形缓冲区的大小可以由以下哪个属性确定

A. io.sort.spill.percent

B. io.sort.factor

C. io.sort.mb

D. mapred.reduce.parallel.copies

每个map都有一个环形缓冲区,默认大小100M,大小可以由属性io.sort.mb来修改。

一旦内存缓冲区达到一个溢写阀值(io.sort.spill.percent),就会新建一个溢写文件。

io.sort.factor控制着一次最多可以合并多少个分区。

45、以下描述错误的是

A. 输入分片InputSplit其实是对数据的引用

B. MultipleInputs可以设置多个数据源以及它们对应的输入格式

C. 可以通过重载isSplitable()方法来避免文件分片

D. ReduceTask需要等到所有的map输出都复制完才进行Merge

46、Task与TaskTracker直接的通信协议是

A. JobSubmissionProtocol

B. ClientProtocol

C. TaskUmbilicalProtocol

D. InterTrackerProtocol

InterDatanodeProtocol:Datanode内部交互的接口,用来更新block的元数据;

InnerTrackerProtocol:TaskTracker与JobTracker交互的接口,功能与DatanodeProtocol相似;

JobSubmissionProtocol:JobClient与JobTracker交互的接口,用来提交Job、获得Job等与Job相关的操作;

TaskUmbilicalProtocol:Task中子进程与母进程交互的接口,子进程即map、reduce等操作,母进程即TaskTracker,该接口可以回报子进程的运行状态(词汇扫盲: umbilical 脐带的,关系亲密的) 。

—2015.6.11



47、以下哪个组件可以指定对key进行Reduce分发的策略?

A. RecordReader

B. Combiner

C. Partitioner

D. FileInputFormat

48、以下描述正确的是

A. 只要设置了job.setCombinerClass(),那么Combiner函数一定会被执行

B. LineRecordReader类内部成员变量end变量是指这个输入分片的位置

C. M/R集群中Map的数量可以设置

D. M/R集群中Reduce的数量可以设置

49、在NameNode解决方案中,以下哪种方案不可以用来存储元数据信息

A. QJM

B. Bookeeper

C. NFS

D. Zookeeper

BookKeeper是Apache ZooKeeper项目的一个子项目。它是一个用来可靠地记录流数据的系统,主要用于存储WAL(Write Ahead Log)。我们知道,Hadoop Namenode用来存储HDSF集群的元数据,其中存在一个用于写就花数据的EditLog文件和一个存在于内存中的FsImage镜像,每当客户端与HDFS集群交互时,对于集群中数据的变更都会记录在Namenode的EditLog文件中,然后再将该变更同步到内存的FsImage镜像上。

在BookKeeper中,服务节点(多个)称为Bookie,日志流(Log Stream)称为Ledger,每个日志单元(如一条记录)被称为Ledger条目。一组服务节点Bookie主要存储Ledger,Ledger的类型非常复杂多样,那么可能某一个Bookie节点可能发生故障,然而只要我们的BookKeeper系统的多个服务节点Bookie存储中存在正确可用的节点,整个系统就可以正常对外提供服务,BookKeeper的元数据存储在ZooKeeper中(使用ZooKeeper存储的只是元数据,实际日志流数据存储在Bookie中)。

50、在M/R系统中,考虑以下情况: HDFS采用默认数据块大小(64M); InputFormat采用的是FileInputFormat; 现在有三个文件大小分别是64K,65M和127M,那么会有几个map任务产生?

A. 3个

B. 4个

C. 5个

D. 6个

—2015.6.14


时间: 2024-10-09 23:00:13

Hadoop自测题及参考答案(持续更新中--2015.6.14)的相关文章

Hadoop自测题及参考答案(持续更新中--2015.6.15)

与其他几项不同的是 A. Mesos B. Mongodb C. Corona D. Borg E. YARN注:其他几项都是资源统一管理系统或者资源统一调度系统,而 Mongodb一种非关系型数据库.2.[java基础] 以下不属于线程安全的数据结构是 A. HashMap B. HashTable C. CopyOnWriteArrayList D. Concur... www.worlduc.com/blog2012.aspx?bid=34337742 www.worlduc.com/bl

网络流题目详讲+题单(提高版)(持续更新中......)

PS:如果你觉得自己还不够强(和我一样弱),可以去入门版看看 写在前面的话(潦草) 这篇博客不会讲定义,理解啊什么的,那些知识点网络上......仅仅是题目详讲 但是每一道题的题解和知识点还是会涵盖的 笔者还很菜,还有很多不会,只是想让自己会了的题目大家更容易懂 建议使用博客右边的主题切换,换成夜间模式可能看起来更舒服(随性) 笔者根据自己的感受(也有一定参考性的)给题目编了个难度,有主观色彩,可以根据实际需要来选择 前置知识点: 网络流题目详讲(入门版) 题目来了: PS:若无特殊说明,均为l

算法之路——POJ刷题(Java,持续更新中)

先拿一些水题来练手了 1.POJ1000 import java.util.Scanner; /** * Created by mxcsky on 2015/1/25. */ public class POJ1000 { public static void main(String[] args){ Scanner in = new Scanner(System.in); int a = in.nextInt(); int b = in.nextInt(); System.out.println

Hadoop学习笔记系列文章导游【持续更新中...】

一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼数成金成为当务之急.但数据增长的速度往往比cpu和内存性能增长的速度还要快得多.要处理海量数据,如果求助于昂贵的专用主机甚至超级计算机,成本无疑很高,有时即使是保存数据,也需要面对高成本的问题,因为具有海量数据容量的存储设备,价格往往也是天文数字.成本和IT能力成为了海量数据分析的主要瓶颈. Hadoop这个开源产品的出现,打破

2017年广东省公务员录用考试《行测》真题及参考答案

2017年广东省公务员录用考试<行测>真题及参考答案 一.言语理解与表达.本部分包含选词填空和阅读理解 1.党的十八大以来,中央以猛药去疴.重典治乱的_____,以刮骨疗毒.壮士断腕的_____,不断加大党风廉政建设和巡视的力度,效果显著. 依次填入画横线部分最恰当的一项是: A.意念底气 B.恒心气势 C.意志气魄 D.决心勇气 2.这些亮相于世界互联网大会的中国创新成果,勾勒出未来生活的诱人______,也______着"创新中国"的蓬勃生机. 依次填入画横线部分最恰当

2016年上半年网络工程师考试下午真题,参考答案,详细解答发布

2016年上半年网络工程师考试下午真题,参考答案,详细解答发布http://down.51cto.com/data/2221024

阿里笔试题(2015)持续更新中

第一次做阿里笔试题,除了ACM题之外从来没有做过校招网络题呀,完全是裸考,总体感觉吧,对于我来说,感觉时间不够用,不是题不会,感觉时间紧,大脑很混乱,总结这一次的笔试题 废话不多说,直接上题和答案 平均每个人逗留时间为20分钟,那么开场前20分钟一共来了400人,且有20个人逗留时间已经到,但他们不一定出去,注意是平均时间,所有博物馆最少应该容纳500人 双向循环列表,从任何一个元素开始可以遍历全部元素 先和后面的元素相连 s->next=p->next; p->next->pre

资源向导之 JOS 计划 #持续更新中# MIT 6.828

JOS 计划 #持续更新中# 童鞋,上网要科学上网,做lab也要科学的做. 之前我一上来就做实验,很多资料都不知道.现在打算重新来过 方法: 0.xv6源码不要用MIT官网的那份,我的主机是Linux/Ubuntu 14.0各种编译error,我都改的想吐.后来直接用github上别人改好的,直接能跑起来没有编译错误的xv6. 1.按照MIT给出的课程安排表,每一次课的相关lecture必须全部过一遍. 2.要求的课堂作业必须完成,很多时候课程要求的任务是很轻松的,只要修改部分代码就行了.这里我

C 语言的若干问题(持续更新中)

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump