问题导读
1.字节跳动关于思想和方法论问了哪些问题?
2.Spark问了哪些问题?
3.Shell问了哪些问题?
4.数据结构和算法常问的有哪些?
写在前面:
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
关于数据结构是名企最常问的,可参考
阿里面试宝典(十五):数据结构与算法【跳表】
https://www.aboutyun.com/forum.php?mod=viewthread&tid=30093
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 维表关联有哪些方式,数据量大时怎么处理
|
|