美文网首页大数据面试程序员玩转大数据
大数据工程师(ETL)面试系列(1)

大数据工程师(ETL)面试系列(1)

作者: 司小幽 | 来源:发表于2017-03-19 14:16 被阅读379次

    1. 你觉得Spark和Hadoop的区别是什么,请简要说一说?

    :Hadoop适合离线分析,是批处理;Spark适合实时分析,是近实时流,微批处理。

    2. 你觉得Python和Java在使用起来,有什么区别?

    :其实自己在平时使用的时候,并没有过度割裂开这两种,因为毕竟自己是结果导向所以无论Python的缩进格式还是Java的要加逗号,最后可以实现我的需求就可以了。
    :如今,再来审视这个问题,会发现其实在使用过程中,Python,Java确实有一些需要你拐个弯注意下的,比如【Python】list的remove函数和【Java】list的remove方法,同名异能。以及Python一些轮子如何用Java去实现也是要注意的。

    3. 给你两张表,表A和表B,其中表A有3条数据,表B有5条数据,问:表A left join 表B后有几条?

    :小于等于A表条数,也就是小于等于3条
    :现在看来,当时陷入了工作中带来的一个误区,就是面试官可没说join的字段是主键,它可以不唯一哈,不唯一就会导致大于3条,因为有重复,而B表记录不足的地方均为NULL,所以可能小于吗?不信客官你看:
    例1
    A表的记录数在B表中全都有且B表id唯一

    A表数据 B表数据 A left join B

    例2
    A表的记录在C表中有缺失但C表记录唯一

    A表数据 C表数据 A left join C

    例3
    A表的记录在D表中全都有但D表id不唯一

    A表数据 D表数据 A left join D

    所以正解应该是大于等于A表的条数

    相关文章

      网友评论

        本文标题:大数据工程师(ETL)面试系列(1)

        本文链接:https://www.haomeiwen.com/subject/grvmnttx.html