字节跳动-数据仓库高级工程师面试
The following article is from 数据爱好者社区 Author 云碟B
写在前面:
2020.05月份疫情期间面试整理,已斩offer,试用期现已转正。此时,借社区平台分享给大家!金三银四,2021加油!
思想和方法论:
如何建设数仓,如何构建主题域
缓慢变化维 几种处理方式
什么是维度建模,星型模型与雪花模型的区别
数仓的好处
分层的好处
怎么做数据质量,怎么保证及时性和准确性
什么是维度,什么是度量
如何数据治理?
三范式
数据仓库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栈
布隆过滤器
Bitmap
B+树
LSM Tree
跳表
Hyperloglog
sql题:
手写7日留存
手写连续3日登陆
1000亿userid如何最高性能求uv
业务:
讲一个最复杂的业务场景
数据赋能,你如何体现数仓职位的价值
你能为我们带来什么?
实时:
实时PV,UV统计
实时TOP N 统计
广告曝光流和点击流实时join
Spark Streaming 与Flink的对比
Flink怎么做到Exactly Once
Flink的StateStore有哪些,工作中用过哪些
做过Flink内存调优吗
讲讲Spark Streaming 与Flink的反压机制
Flink的窗口函数,时间机制,CheckPoint机制,两阶段提交
Flink 双流Join
Flink State TTL怎么设置
Flink 维表关联有哪些方式,数据量大时怎么处理