1、你为什么要学习大数据开发?
其实这个问题只是面试官想要知道应聘者的态度而已。通过应聘者的回答,面试官一方面可以初步了解应聘者对大数据开发的认知程度,另一方面能从应聘者的话里面判断出他们对大数据开发是什么样的态度。优就业建议大家,不论应聘者学习大数据开发的初衷如何,给予面试官的回答都应该呈现积极的学习心态。
2、你未来几年的规划是怎么样的?
回答这个问题,一定不能说不知道自己的未来在哪里,否则会显示出应聘者缺乏计划,并且对自己未来的职业好像漠不关心。优就业建议,如果应聘者对这个问题没有明确的答案,可以跟面试官交流在大数据行业的职业目标以及准备做些什么去实现目标,至少要让面试官看到应聘者对选择这个职业的热情,甚至是对选择这份工作的热情
3、RDD中reduceBykey与groupByKey哪个性能好,为什么
reduceByKey:reduceByKey会在结果发送至reducer之前会对每个mapper在本地进行merge,有点类似于在MapReduce中的combiner。这样做的好处在于,在map端进行一次reduce之后,数据量会大幅度减小,从而减小传输,保证reduce端能够更快的进行结果计算。
groupByKey:groupByKey会对每一个RDD中的value值进行聚合形成一个序列(Iterator),此操作发生在reduce端,所以势必会将所有的数据通过网络进行传输,造成不必要的浪费。同时如果数据量十分大,可能还会造成OutOfMemoryError。
通过以上对比可以发现在进行大量数据的reduce操作时候建议使用reduceByKey。不仅可以提高速度,还是可以防止使用groupByKey造成的内存溢出问题。
4、讲述一下hdfs上传文件的流程。
答:这里描述的 是一个256M的文件上传过程
① 由客户端 向 NameNode节点节点 发出请求;
②NameNode 向Client返回可以可以存数据的 DataNode 这里遵循机架感应原则;
③客户端 首先 根据返回的信息 先将 文件分块(Hadoop2.X版本 每一个block为 128M 而之前的版本为 64M;
④然后通过那么Node返回的DataNode信息 直接发送给DataNode 并且是 流式写入同时会复制到其他两台机器;
⑤dataNode 向 Client通信 表示已经传完 数据块 同时向NameNode报告
⑥依照上面(④到⑤)的原理将 所有的数据块都上传结束 向 NameNode 报告 表明 已经传完所有的数据块 。
5、fsimage和edit的区别?
当NN,SN要进行数据同步时叫做checkpoint时就用到了fsimage与edit,fsimage是保存最新的元数据的信息,当fsimage数据到一定的大小事会去生成一个新的文件来保存元数据的信息,这个新的文件就是edit,edit会回滚最新的数据。
6、hadoop的TextInputFormat作用是什么,如何自定义实现?
InputFormat会在map操作之前对数据进行两方面的预处理。
6.1.是getSplits,返回的是InputSplit数组,对数据进行Split分片,每片交给map操作一次。
6.2.是getRecordReader,返回的是RecordReader对象,对每个Split分片进行转换为key-value键值对格式传递给map常用的InputFormat是TextInputFormat,使用的是LineRecordReader对每个分片进行键值对的转换,以行偏移量作为键,行内容作为值。
自定义类继承InputFormat接口,重写createRecordReader和isSplitable方法在createRecordReader中可以自定义分隔符。
7、Hive与关系型数据库的关系?
没有关系,hive是数据仓库,不能和数据库一样进行实时的CRUD操作。
是一次写入多次读取的操作,可以看成是ETL的工具。
8、HBase的特点是什么?
(1)hbase是一个分布式的基于列式存储的数据库,基于hadoop的HDFS存储,zookeeper进行管理。
(2)hbase适合存储半结构化或非结构化数据,对于数据结构字段不够确定或者杂乱无章很难按一个概念去抽取的数据。
(3)hbase为null的记录不会被存储。
(4)基于的表包括rowkey,时间戳和列族。新写入数据时,时间戳更新,同时可以查询到以前的版本。
(5)hbase是主从结构。Hmaster作为主节点,hregionserver作为从节点。
9、为什么要离职?
回答提示:①回答这个问题时一定要小心,就算在前一个工作受到再大的委屈,对公司有多少的怨言,都千万不要表现出来,尤其要避免对公司本身主管的批评,避免面试官的负面情绪及印象。建议此时最好的回答方式是将问题归咎在自己身上,例如觉得工作没有学习发展的空间,自己想在面试工作的相关产业中多加学习,或是前一份工作与自己的生涯规划不合等等,回答的答案最好是积极正面的。②我希望能获得一份更好的工作,如果机会来临,我会抓住。我觉得目前的工作,已经达到顶峰,即没有升迁机会。
10、对工作的期望与目标何在?
回答提示:这是面试者用来评断求职者是否对自己有一定程度的期望、对这份工作是否了解的问题。对于工作有确实学习目标的人通常学习较快,对于新工作自然较容易进入状况,这时建议你,最好针对工作的性质找出一个确实的答案,如业务员的工作可以这样回答:“我的目标是能成为一个超级业务员,将公司的产品广泛的推销出去,达到最好的业绩成效;为了达到这个目标,我一定会努力学习,而我相信以我认真负责的态度,一定可以达到这个目标。”其他类的工作也可以比照这个方式来回答,只要在目标方面稍微修改一下就可以了。
上一篇: 前端培训出来是否面临失业
下一篇: Java培训课程之类的加载与ClassLoader的理解