• 回答数

    3

  • 浏览数

    121

难般聊聊
首页 > 工程师考试 > 数据仓库工程师面试题

3个回答 默认排序
  • 默认排序
  • 按时间排序

牛头梗小城堡

已采纳

一般数据仓库面试会面两轮,第一轮一般是sql技术面,第二轮就是 维度建模 和 数据治理 的问题。 一轮技术面(待补充): 1、数据倾斜: 数据倾斜一般产生的原因是数据在map端hash分配到reduce端时,某一个key的数量远大于其他的key,导致某一个reduce的处理时间较长。 1)key分布不均匀 2)数据本身就是如此 3)数据关联时没有把握好关联键 解决方案 1)参数调整: = true;;  当存在数据倾斜时开启负载均衡,此时会生成两个MapReduce任务,第一个MR任务会将map端产生的key随机的分配到reduce,先进行一次聚合,第二个MR任务会将第一个任务的预处理结果作为输入,将相同的key分配到同一个reduce当中。 2)sql调整:在处理大量空值导致数据倾斜的情况下,可以先将空值附一个特殊值去处理,比如给一个随机数加字符串的方式,因为空值数据是关联不上的,不会影响后期处理。 2、order by,sort by,cluster by,distribute by的区别 1)order by是全局排序,排序过程在一个reduce中进行,在数据量较大时就会很慢 2)sort by是局部排序,排序结果在同一个reduce中使有序的 3)distribute by是将数据按照字段划分到一个reduce中,一般与sort by连用进行分组排序的作用 4)cluster by除具有distribute by功能外还具有sort by的功能 order by优化(阿里面试): 1)开启严格模式,order by之后添加limit子句 2)利用sort by,在每个reduce中先排序取出top项,再把预处理结果order by输出 3、hive中内部表和外部表的区别 1)在创建表的时候,内部表是将数据移动到数据仓库指向的路径,外部表仅记录数据所在的路径,不对数据的位置做任何改变。 2)在删除表的时候,内部表会将元数据和数据都删除,外部表只删除元数据。 4、列转行、行转列 1)列转行:lateral view explode(split('column_name',','))作为一个新表 2)行转列:concat_ws(',',collect_set(column_name)) 5、mapreduce运行原理 6、数据仓库分层原理(阿里面试) 7、维度建模中三种事实表的应用场景(阿里面试) 二轮面试(待补充)

数据仓库工程师面试题

146 评论(12)

smilejoyce922

【导语】近年来,大数据发展如火如荼,很多人都选择学习大数据专业或者转行大数据,大数据里又包含很多就业岗位,所以在进行岗位选择的时候,还是需要大家合理选择,为了帮助大家更好的进入大数据行业执业,下面就把2021年大数据工程师面试内容给大家进行一下具体介绍。

1、自我介绍

一般上来就是自我介绍,谈下工作经历和项目经验,面试官会根据你的项目经验对你进行技术面试。在自我介绍时,一定要抓住核心说,不要太啰嗦,尽量放大自己的价值,让面试官感受到你对工作的热情,以及以后对公司贡献的能力。

2、数仓开发知识技能

(1)Java是必问的,不过问的不深,把Javase部分吃透,足以应付Java部分的面试。

(2)Hadoop生态,Yarn、Zookeeper、HDFS这些底层原理要懂,面试经常被问。

(3)Mapreduce的shuffle过程这个也是面试被常问的。

(4)Hbase和HIve,搞大数据这些不懂真的说不过去。

(5)Mysql、Oracle和Postgres数据库操作要回,Sql要会写。

(6)linux操作系统,这个简单得命令必须要懂,会写shell脚本更好了。

(7)Kettle或Sqoop这种数据处理工具至少要会一个。8,数据仓库建模、数据模型的问题。

3、技术方面知识技能

(1)SparkSql和SparkStreaming,底层原理、内核、提交任务的过程等等,尽量深入内幕,这个经常会跟MapReduce作比较的。当然也要了解Storm和Flink,Flink这个建议要学会,以后用处会越来越广。

(2)Redis、Kafka、ElasticSearch这些都得懂原理,深入了解,会使用,会操作,会调优。

(3)impala和kylin这些尽量也要了解会用

(4)Python这个要是有能力,有精力,建议也要往深处学习,我目前正在自学中。

(5)集群的问题,包括一些简单的运维知识。

(6)大数据数据倾斜的问题,包括Spark JVM内存调优问题等等。

关于2021年大数据工程师面试内容,就给大家介绍到这里了,希望对大家能有所帮助,当然进入大数据行业,还需要大家在平时不断进行技能提升,这样才能更好的拥有一席之地。

122 评论(11)

A可儿她姑

他们公司是做什么行业的? 使用什么数据仓库工具还是自行研发?搞清楚这两个方面的内容先。。。 然后如果这个岗位是自行研发数据仓库工具,或者自己编写C++代码自行开发etl程序那考试C++就可以理解。 如果不是,那么也就是考察你是否有写代码的能力以及算法等基础知识还有逻辑思维。因为现在很多搞数据仓库的除了sql,其他程序都不会写。数据仓库人员需要逻辑思维清晰,看问题全面。

235 评论(8)

相关问答