去哪儿数仓实习面试

岗位职责:

1、机票业务数据仓库的建设与优化以及日常数据需求开发。

2、有业务sense,理解并合理抽象业务需求,构建面向产品策略等相关的数据模型。

3、协助产品人员基于数据驱动产品迭代。

4、参与数据治理工作,提升数据易用性及数据质量,统一数据口径,制定数据标准化规则。

5、负责 ETL 流程的优化及解决 ETL 相关技术问题。

6、负责日常数据仓库的监控、分析、性能调优、故障诊断与排除等工作。

职位要求:

1、本科或以上学历,计算机相关专业:

2、熟悉数据仓库各类建模理论,以及数据仓库数据层级关系,具备数据仓库逻辑模型和物理模型设计经验。

3、熟练掌握 Java、Scala、Python、SQL、Shell 等一种或多种语言,具备编码能力。

4、理解 Hadoop MR、Hive、Flink、Spark 等常用组件工作原理及熟练使用。

5、熟悉数据标准管理,元数据管理,有数据治理相关经验优先。

一面

  1. 自我介绍
  2. 数仓分层是怎么样的 每层的功能
  3. DWD层有哪些表
  4. 数据倾斜有遇到过吗 怎么解决
  5. 自己扯到优化去了 具体说下优化
  6. 最后是两道sql题
  7. 后面反问,面试官对我有些什么建议,如果要通过接下来的面试或者是数仓面试

反问回:

  1. 之前做过的要梳理一遍 细节
  2. sql题刷完 多练练
  3. 框架原理 相关的知识概念 多了解了解

SQL题

订单表:flightorder 字段名: orderno --订单号,username --用户名 ,depcity --出发城市,arrcity --到达城市 ,flightno --航班号,depdate --起飞日期 ,orderdate --订单日期

1、统计下单最多的top100用户

select user_name,count(order_no) num
from flight_order
group by user_name
order by num desc
limit 100

2、按订单日期统计每天前100热门航线

select order_date, dep_city, arr_city, route_count
from (
    select order_date, dep_city, arr_city, count(*) route_count,
           row_number() over (partition by order_date order by count(*) desc) as row_num
    from flight_order
    group by order_date, dep_city, arr_city
) ranked
where row_num <= 100
order by dep_date, route_count desc

全部评论

相关推荐

4 21 评论
分享
牛客网
牛客企业服务