脉脉大数据开发实习生一面
岗位JD
使用大数据组件对海量数据进行建模,参与数据仓库的的开发、维护及优化
岗位要求
- 计算机相关专业,对大数据有浓烈的兴趣
- 扎实的计算机基础,熟练使用python/java/scala其中至少一种语言
- 熟悉Hadoop生态体系,包括但不限于Hadoop/Hive/Spark/Clickhouse
- 学习能力强,强烈的责任心,具有较强的沟通能力及团队合作精神,细致耐心、积极主动
- 有大规模数据/日志处理经验,熟悉离线计算者优先
一面
- 自我介绍
- 对数仓分层、维度建模有什么相关的了解。数仓分层答的不是很好 磕磕绊绊 得加强 维度建模还行
- 项目是都跟着走完了还是?
- 维度建模分数据域和分层 主题域 分了哪些数据域 数据是怎么流向的 大概讲解下 数据域(交易域 流量域 用户域 工具域 互动域)
- 对hive的优化有什么了解?具体的优化措施
- 本科和硕士都是大数据相关 数仓大数据类相关的知识学过哪些
- hadoop三大件有哪些
- 简单讲一下mapreduce怎么跑起来的 mapreduce的流程 这个没讲好
- 简单讲一下shuffle的原理?
- 两道hive sql题 简单题 1:排名函数 2 多行转多列
- 反问:我问了 工作时间(早10晚7)和工作氛围(和蔼平和)怎么样?最近部分有项目在忙吗?
以后可以问 面试官对我有一些什么建议吗?技术上,简历上,面试上等?
SQL题总结
第一题 窗口函数
select a,second_c from ( select a,second_c, row_number() over (partition by a order by b) rank from t2 where rank=2 )t group by a 问题 子查询里面的 where 不能直接用rank判断 这样会报错 where 应该写在外面 且是c列 不是second_c
第二题
select year, concat_ws(',', collect_list(case when department = 'A' then person_count else null end)) col_A, concat_ws(',', collect_list(case when department = 'B' then person_count else null end)) col_B from t group by year;