一、项目架构
1.1、数仓概念
数据仓库的输入数据源和输出系统分别是什么?
输入系统:埋点产生的用户行为数据、JavaEE后台产生的业务数据。
输出系统:报表系统、用户画像系统、推荐系统
1.2、系统数据流程设计
1.3、框架版本选型
1)Apache:运维麻烦,组件间兼容性需要自己调研。(一般大厂使用,技术实力雄厚,有专业的运维人员)
2)CDH:国内使用最多的版本,但 CM不开源,但其实对中、小公司使用来说没有影响(建议使用)
3)HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少
1.4、服务器选型
服务器使用物理机还是云主机?
1)机器成本考虑:
- (1)物理机:以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,单台报价4W出头,需考虑托管服务器费用。一般物理机寿命5年左右
- (2)云主机,以阿里云为例,差不多相同配置,每年5W
2)运维成本考虑:
- (1)物理机:需要有专业的运维人员
- (2)云主机:很多运维工作都由阿里云已经完成,运维相对较轻松
1.5、集群规模
1.6、人员配置参考
1.6.1 整体架构。
&mesp;属于研发部,技术总监下面有各个项目组,我们属于数据组,其他还有后端项目组,基础平台等。总监上面就是副总等级别了。其他的还有产品运营部等。
1.6.2 你们部门的职级等级,晋升规则
职级就分初级,中级,高级。晋升规则不一定,看公司效益和职位空缺。
1.6.3 人员配置参考
小型公司(3人左右):组长1人,剩余组员无明确分工,并且可能兼顾javaEE和前端。
中小型公司(3~6人左右):组长1人,离线2人左右,实时1人左右(离线一般多于实时),JavaEE 1人(有或者没有人单独负责JavaEE,有时是有组员大数据和JavaEE一起做,或者大数据和前端一起做)。
中型公司(5 ~ 10人左右):组长1人,离线3~5人左右(离线处理、数仓),实时2人左右,JavaEE 1人左右(负责对接JavaEE业务),前端1人左右(有或者没有人单独负责前端)。
中大型公司(5 ~ 20人左右):组长1人,离线5~10人(离线处理、数仓),实时5人左右,JavaEE2人左右(负责对接JavaEE业务),前端1人(有或者没有人单独负责前端)。(发展比较良好的中大型公司可能大数据部门已经细化拆分,分成多个大数据组,分别负责不同业务)
上面只是参考配置,因为公司之间差异很大,因此根据所选公司规模确定一个合理范围,在面试前必须将这个人员配置考虑清楚,回答时要非常确定。