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

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唯一

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

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

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

你可能感兴趣的:(大数据学习笔记,SQL数据库学习笔记,面试学习笔记)