收获满满的一次好未来大数据开发面试(已意向)

    作者:努力的老刘
    链接:https://www.nowcoder.com/discuss/712781?source_id=discuss_experience_nctrack&channel=-1
    来源:牛客网

    希望能够对学大数据开发的同学有帮 助,少走弯路!

    一面
    老刘在一面遇到了大佬,他是从事数据仓库开发,有着很多年的经验,老刘的项目是一个特别简单的数据仓库项目,为什么会有这个数据仓库项目?原因也特别简单,就是想让简历上的内容多一点,就根据某培训机构的资料,按照自己的理解对它进行了一些更改和创新,但它依然是一个特别low项目。
    大佬先让我讲了讲数据仓库的项目流程,然后开始了下面这段对话:
    如何保证数据一致性或者说维度一致性
    如何保证数据质量
    总线矩阵
    维度建模和关系建模一些知识(这个我知道)
    数据如何治理,元数据数仓怎么做之类的
    老刘听到上面的内容,立马头大了,我只是做了一个特别简单的数仓项目,没想到面试官从这么专业的角度来问我,我心里想我只是一个应届生,哪有数仓经验啊,我就网上随便找了一个,它里面也没说到这些啊!
    (这里想说的是我数据开发框架的部分答得挺好的)
    面试官最后也没为难我,然后大致给我讲了讲如何从企业的角度构建数据仓库,它远远不是我这种数仓级别,我真的在这场面试中收获了很多东西,具体如何从企业角度构建数据仓库,我推荐大家看看看那本书叫《阿里巴巴大数据实践》
    老刘也是太大意了,从来也没想到我的数仓小项目会反复问来问去,也希望大家能够对自己的项目有更深层次的理解

    二面
    问了三个问题
    给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 这个就是分小文件了

    每个数在[-100,100]之间,给定100万个数,请按从大到小的顺序输出他们?我想的是用hashmap

    “A(id) values(1,1), B(id) values(1)” select a.id as aid,b.id as bid from a join b on a.id = b.id

    返回结果是什么,替换为left join 或right join呢?
    最后问了问ZooKeeper选举的全新选举和非全新选举以及ZAB协议

    HR面
    这就是网上都能搜到的内容了,如下:
    你的专业和大数据开发不一样,你为什么要做大数据开发(我心里想我愿意学啥就学啥)
    你怎么学大数据开发的?
    你的优缺点?
    在8月19号收到了意向书,我其实感觉一面应该挂了,但面试官给机会了,也挺感激他的!