记录一下 2021-03
最近在面试,总结一下面试技巧,我应聘的是数仓工程师,其实技术含金量不是很高,好几个同学连SQL都没写,连spark都没问,算法也没有就直接入职了,啊这,,,,我很羡慕.....,很多大/中型公司的数仓都还在建,比如喜马拉雅去年才开始建,游族网络甚至是从零开始,米哈游也是从零开始.....,有完善的数仓还得是银行系/保险系/阿里系.....个人喜欢二次元......不知道有没有有希望......,总结一下回答技巧,分享给读者
1.杂项
1.如何自我介绍
1.基本情况
2.最近一段时间的工作经验
介绍一个你最熟悉 技术栈最丰富的项目(当前项目的价值及项目的技术体系 你负责的主要模块以及你解决的主要问题)
3.对该公司的了解,行业解决方案
2.如何陈述自己的项目
我要改进一下我的项目,项目太拉胯了......
如何陈述我的项目:
核心部分,技术栈
3.如何回答自己会的题目
总分
4.如何回答自己不会的题目
5.如何谈薪资
6.你有什么要问我的吗
HR:内部的福利内容 晋升机制 公司的规模(技术组)
技术官:内部的技术培训 有没有内部的技术分享 公司在当前行业解决方案中用了哪些技术,我回去学习一下
2.引导面试官
大表join大表的问题怎么处理
hive数据倾斜的处理方法
spark中的shuffle机制 join机制 shuffle底层的shufflerdd算法等
维度建模的方法论与实际生产结合起来
表和表之间的关系
3.描述(照着我这个改改就行了)
基本介绍
您好面试官,我叫.....,来自....我面试的岗位是数仓工程师
我在上一家公司主要做的是ETL的开发,与业务系统的DBA同事沟通交流,处理数据的增量和全量的导入问题,与前端同时沟通数据的埋点相关工作,以及处理数据完整性和规范性的问题,用户主题模块的维护和报表的开发工作,用户连续登陆,留存问题,活跃度问题,访问间隔问题,访问偏好问题,用户的基本画像标签的开发工作,指标报表的开发(例如哪类书籍阅读的人数多,由电子书转化到实体书的转化率是多少),还有平时一些活动指标的开发(这次的活动做的怎么样).第三个部分是负责库存模块的开发和设计,与零售模块的统一,是我做的最有挑战的事情
我对....你们公司的了解,大学期间我也考取了相关的证书,对你们的行业业务也有所了解,我认为精准营销和质量的指标分析和建模是重要的
对于我的技术栈(主要的) hadoop hive spark flink(目前正在学习)
项目介绍
首先提出难题:沟通的问题 大表和大表的join的性能问题 对shuffle的处理 数据倾斜的处理 SQL可解释性和结构化的处理 数据仓库系统的可迭代工作 spark算子的优化工作 缓慢变化维的处理 (引导面试官来问你这些问题)
有一个重要的注意事项是:要结合公司的业务来讲述项目.避免空洞
重点介绍维度建模(库存的方法论),照着我那个库存模块的示例来讲就行了
对于用户主题模块的报表的分析与逻辑化(好好梳理一下)
基于流量用户主题的分析,基于日志采集enent_app_detail表进行轻度的聚合(按照session字段)生成我们的数仓架构的一张非常重要的一张表traffic_aggr_session
,基于这样表我们可以衍生出流量聚合表,多维组合表,同时我们可以对用户进行分析,例如生成我们的用户活跃度表(我们可以分析的指标有用户留存 转化 连续登陆 连续活跃 访问间隔 新用户留存报表以及用户事件分析报表的开发 ),同时我们经常会有一些优惠的活动我们就需要对该活动进行分析,例如是漏斗分析 归因分析 点击分析,行为路径 等(基于我hexo上的博客)
我在工作中的一些困难,例如数据质量的问题(数据治理),对于多源数据过程的数据捕获的问题,还有归因分析的处理
对于整个数仓架构的描述:
我们的项目分为这样几个部分:数据的采集和埋点 业务数据系统数据的增量和全量的导入 DWD层维度建模的方法论 DWS层的大宽表的建立
待补充.......
用户获取、用户激活、用户留存、用户收益以及用户传播。(AARRR)
表名的设计
数据采集标签
ABT
DNA