查看原文
其他

字节跳动-数据仓库高级工程师面试

云碟B 大数据技术团队 2022-08-17


写在前面:

2020.05月份疫情期间面试整理,已斩offer,试用期现已转正。此时,借社区平台分享给大家!



思想和方法论:


  • 如何建设数仓,如何构建主题域

  • 缓慢变化维 几种处理方式

  • 什么是维度建模,星型模型与雪花模型的区别

  • 数仓的好处

  • 分层的好处

  • 怎么做数据质量,怎么保证及时性和准确性

  • 什么是维度,什么是度量

  • 如何数据治理?

  • 三范式

  • 数据仓库vs数据中台vs数据湖

  • 做过实时数仓吗,讲一下


hadoop:


  • MapReduce原理,map数、reduce数的参数

  • 说一下 map join 与 reduce join

  • hive sql怎么优化

  • spark和hive的区别

  • 数据倾斜几种解决方式

  • 数据如何清洗

  • 说一下udf、udtf、udaf ,集成的类、接口,怎么写

  • hive文件存储格式,对比

  • 内外表区别

  • hive执行的job数是怎么确定的



Spark:


  • join 实现有几种呢,源码有研究过吗?底层是怎么实现的

  • shuffle形式有几种?都做哪些优化

  • 是通过什么管理shuffle中的内存,磁盘的

  • 讲讲spark内存模型?说说你了解这些,对实际的工作有什么帮助?

  • rdd有哪些特性?

  • 宽依赖,窄依赖都是什么?有什么不同?除了大家都认为的不同点以外,还有哪些不同?

  • spark为什么比hive快

  • 讲讲sparksql优化

  • 讲讲RDD, DAG, Stage

  • 说说groupByKey, reduceByKey

  • spark是怎么读取文件的?

  • 有没有遇到过spark读取文件,有一些task空跑的现象?

  • 窗口函数中几个rank函数有啥不同

  • parquet文件和orc文件有啥不同



shell:


  • 字符串替换(sed)

  • 本文逗号分隔输出第二列(awk)

       注:新浪也考过 awk输出并求和


python:


  • 数组和列表的区别,什么是字典

  • 什么是模块,有哪些内置模块

  • 全局变量与局部变量


算法:


  • 几种排序算法,说一下冒泡排序

  • 堆vs栈


sql题:


  • 手写7日留存

  • 手写连续3日登陆

  • 1000亿userid如何最高性能求uv



业务:


  • 讲一个最复杂的业务场景

  • 数据赋能,你如何体现数仓职位的价值

  • 你能为我们带来什么?




往期推荐 



Spark性能优化指南——基础篇


Spark性能优化指南——高级篇


那些年,我在阿里当数据开发


系列 | 漫谈数仓第三篇NO.3 『数据ETL』


大数据资产管理平台实践.ppt


大数据、数仓、数开面试真题总结(一)



关注公众号回复:"资料",即可获得ClickHouse资料合集。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存