分享

数仓开发面试经验

admin 发表于 2020-7-6 10:59:28 [显示全部楼层] 回帖奖励 倒序浏览 阅读模式 关闭右栏 0 1738

前言

虽然现处于疫情期间,可能很多童鞋现在正在找工作,或是想要入行,或是待业ing……

细心的童鞋如果你观察一下各大招聘网站,你会发现机会也开始复苏,也开始多起来的趋势。

面试准备
先说说目前市场情况:由于疫情,目前的市场确实不如以前,现在大多数公司一般招两种人,一种是技术很厉害的,一种是工资低的;

技术一般还想要高工资比较难了,技术过硬要高工资也是相对容易的。有很多面到最后,谈了工资没有下文的。一般hr让你回去等消息,有可能是等不到,所以还得接着面试,不要在挂在一棵树上;

所以大家还是要好好准备,提高技术,整理总结,找到满意的岗位。

面试经历
大家都知道大数据分为:平台、数仓、数分和挖掘。投简历要看清到底是哪个岗位,特别是大厂的岗位;

因为我之前搞数仓,但是想搞平台开发就投了一个大厂,结果被虐的很惨。

面试主要聊源码,hadoop和spark源码(因为我项目中没用flink,所以没问flink)。

大概四十分钟,问的很细很底层,还有jvm相关的,中间夹杂算法;

其余的面的大多是数仓开发,模型与架构,离线与实时,也都还好一些。

如果面平台开发,首先要通读过源码,特别是spark和flink的,仅仅会用是不行的,因为一般大厂都会进行源码调优和二次开发;

如果面数仓开发,一般会问一些spark、hive调优,数仓建模和分层架构,数据质量和数据治理等问题,还有就是项目中出现的问题,怎么解决的;

这个大家在准备面试时,建议每个项目都提前准备好几个问题,方便回答,hold住面试官;

在面试过程中,也请教了一些大佬和群友,建议就是简历要突出精和专,而不是广。大厂不需要广而不精的人。你写的越广,面试官会问的越多,你就越容易暴露自己的弱环。

还有就是搞数仓的兄弟姐妹们,平时除了写sql,可以多看看源码,对面试有帮助。


面试题目

1.什么是数据仓库?如何构建数据仓库?(如果这个问题回答的好,后面很多问题都不需要再问)

2.如何建设数据中台?可简单说下理解与思路

3.数据仓库、数据中台、数据湖的理解

4.传统数仓的程度(建模工具、ETL工具、BI报表工具、调度系统)

5.传统数仓和大数据数仓的异同?有哪些大的变化?

6.印象最深刻的项目?为什么?亮点与优势?

7.数仓最重要的是什么?

8.实时数仓做过吗?采用什么架构?lambda有哪些优缺点?

9.如何看待kappa架构?iota架构呢?

10.责任心?沟通能力?团队协作?数据思维?

11.用户画像(静态、动态标签,统计、规则、预测标签,衰退系数、标签权重)

12.推荐系统(协同过滤,基于用户、商品,SVD,各种距离算法等)

13.数仓基础理念理解

   (主题域 血缘关系 拉链表 代理键 维度退化 缓慢变化维SCD 事实表类型 增量dwd处理 星型/雪花/星座模型 事实 维度 粒度 原子/派生指标 OLAP)

14.数仓如何确定主题域?CDM?

15.数仓如何分层的?及每一层的作用?思考:为什么要这么分层?

16.数仓有哪几种建模思想?维度建模、范式建模、datavault?.. 有什么优劣,如何选择?

17.SCD的常用处理方式?优劣?与SCD2与拉链表有什么异同?

18.元数据的理解?元数据管理系统?

19.如何控制 数据质量?

20.如何做 数据治理?数据资产管理呢?

21.Hive优化?SQL优化,参数优化
(mapjoin、列裁剪、分区、分桶、Map数、Reduce数、常用参数等)

22.数据倾斜     

23.小文件问题

24.order by、sort by、distribute by、cluster by

25.udf、udtf?处理的问题?

26.shuffer优化

27.MySQL如何改写row_number

28.连续n天登录用户

29.用户留存、用户活跃、沉默用户、回流用户

30.lag/lead()over()函数、ntile() 等分析函数

31.rollup、cube、grouping sets  grouping_id

32.partition和分桶 order by和sort by



对于以上可自己找答案,答案可参考:
https://mp.weixin.qq.com/s/iZs7zEb-yoiSnlG2q74Fvg

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /5 下一条