收获满满的一次好未来大数据开发面试(已意向)
希望能够对学大数据开发的同学有帮助,少走弯路!
一面
老刘在一面遇到了大佬,他是从事数据仓库开发,有着很多年的经验,老刘的项目是一个特别简单的数据仓库项目,为什么会有这个数据仓库项目?原因也特别简单,就是想让简历上的内容多一点,就根据某培训机构的资料,按照自己的理解对它进行了一些更改和创新,但它依然是一个特别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面
这就是网上都能搜到的内容了,如下:- 你的专业和大数据开发不一样,你为什么要做大数据开发(我心里想我愿意学啥就学啥)
- 你怎么学大数据开发的?
- 你的优缺点?