大数据工程师(开发)面试系列(3)

1. 你觉得大数据处理技术分为几类?

:大致分为3类,Hadoop为代表的批处理;Impala,Hbase为代表的基于历史数据的交互式处理;Storm,Spark,Flink为代表的流式处理。

2. Linux系统命令你熟悉的有哪些?

:cat,tree….etc

3. 说说你眼里的数据开发究竟是一种什么样的岗位?

:当时刚好看完ETLStorm系列的视频,所以就学习的这两系列视频对数据开发这个职能的概念说了浅薄的见解:①ETL,利用ELK或者其他ETL栈进行数据的抽取,转换,清洗至入仓。②以Storm为例,bolt逻辑的实现以及topology的调度也算是一种数据开发吧。

①以下是百度百科对数据开发的注解,个人感觉更偏向于大数据时代来临前的传统意义上的数据开发,当然这种传统也是我们当下必备的基础:
数据开发百度百科

②[大数据工程师技能图谱]

大数据技能图谱

4. 说一说Hadoop框架的角色有哪些?

:那我就说说Hadoop2.0+的吧:NameNode,DataNode,JournalNode,Yarn框架的:ResourceManager,NodeManager,DFSZKfailovercontroller.

5. 假定一个应用场景,我们有一个客户,本来我们协商好数据模型是基于四个字段建立的,但以后可能由于其他原因会有新的字段增入怎么办?

:HBase,NoSQL列式数据库,当新字段增入时没有关系型的烦恼。
面试官:想到NoSQL这点很好,我们采取的方案是Elasticsearch + Hive(数仓)。

灵活的数据模型
NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。这点在大数据量的web2.0时代尤其明显。

相关内容推荐