头条大数据开发三面面经
看面经里都没有与 Flink 相关的,由于我实习做的主要是用 Flink 开发实时任务,我来补充一下
这部分是问的问题,基本官方文档都有
- Flink 的 Exactly Once 语义怎么保证
- Flink 的 checkpoint 流程,都是同步 checkpoint 吗?
- Flink 任务故障重启流程,full restart 和 region restart 区别,举例 region restart
- Window 的概念
这部分是实习项目里用到的比较有价值的点
- Flink 的 operator chain 机制一般会提升性能,但有耗时逻辑时把对应的 operator 拆开来跑,可以提高性能
- 上游数据不均匀的情况下,采用 rebalance 的连接方式均衡消费
- 多流 Join 的实现, connect stream + keyBy + CoProcessFunction + state
- state 和 timerService 的使用,很关键的一点是延时任务是 per key per timestamp 的,这里踩过坑
其它主要问的是 Java 基础和算法题
- 实现 ImmutableStack 即 pop 和 push 都要生成新的 stack,要求复杂度为 O(1)
- 二叉树中序和先序遍历数组,求后序遍历数组
- 实现 36 进制加法 "1z"+"1" = "20"
推荐学习 Flink 的博客:http://wuchong.me/
#字节跳动##大数据开发工程师##面经##校招#