Flink 对线面试官:6 个面试高频实战问题

Flink 对线面试官:6 个面试高频实战问题_第1张图片

1.前言

本文主要是整理博主收集的 Flink 高频面试题。 之后 每周 都会有一篇,助力大家拿下面试 

这一期的主题是 实战经验 ,这一期讲的内容其实是面试官非常看重的,为什么这么说呢?

因为这一期涉及到的几个问题,基本就能问出来候选人有没有实战经验了。

博主把这一期的面试题先贴出来,大家自己感受感受。

  1. :star: 架构设计的能力:在实时数仓的分层设计中,具体的分层设计方案是怎样的?和离线数仓又有什么区别?你设计的实时数仓是怎么兼顾时效性和通用性的?

  2. :star: 架构设计的能力:你们公司的实时数仓用到的维表都有哪些类型?分别是通过什么样的方式构建的?

  3. :star: 架构设计的能力:你碰到过哪些数据倾斜的问题,又是怎么缓解或避免数据倾斜问题的?

  4. :star: 架构设计的能力:你一般是将实时数据存储到哪里提供对外服务?为什么这么选择?flink 写入的链路是怎样的,遇到过什么坑嘛?

  5. :star: 数据保障的能力:你们公司在遇到大促时是怎么估算实时任务资源的,有没有成体系的方案可以参考?

  6. :star: 解决问题的能力:ValueState 和 MapState 各自适合的应用场景?

下面的答案都是博主收集小伙伴萌的答案 + 博主自己的理解进行的一个总结,博主认为是大家可以拿去细品的。

3.先分享一个面试技巧

在面试时,拿到问题的第一步,很多小伙伴可能没有想好,就急于作答,最终导致自己的答案稀里糊涂,前后没有逻辑关系。

其实是 非常不建议这样 的,建议小伙伴们可以多花点时间想一想问题的回答思路,然后形成一套体系之后再回答。

2.在实时数仓的分层设计中,具体的分层设计方案是怎样的?和离线数仓又有什么区别?你设计的实时数仓是怎么兼顾时效性和通用性的?

这个问题可以按照以下思路进行分析:

  1. :star: 陈述事实:离线数仓的分层设计的目标以及一般的设计方式是怎样的?

  2. :star: 分析差异:实时数仓和离线数仓的核心区别是怎样的?(只有我们准确的识别出这个区别,才能对实时数仓的分层设计有更准确的理解)

  3. :star: 分析差异:构建实时数仓肯定会参考离线数仓构建方法,但是如果实时数仓按照离线数仓分层设计去做会存在什么问题?

  4. :star: 解决方案:实时数仓怎么分层设计才能兼顾时效性和通用性?

接下来来看看具体答案:

  1. :star: 离线数仓的分层设计的目标以及一般的设计方式是怎样的?

  • :star: 清晰数据结构: 每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。源系统间存在复杂的数据关系,比如客户信息同时存在于核心系统、信贷系统、理财系统、资金系统,取数时该如何决策呢?数据仓库会对相同主题的数据进行统一建模,把复杂的数据关系梳理成条理清晰的数据模型,使用时就可避免上述问题了。

  • :star: 数据血缘追踪: 简单来讲可以这样理解,我们最终给业务呈现的是一能直接使用的业务表,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。

  • :star: 数据复用,减少重复开发:

你可能感兴趣的:(flink,面试,java,spring,boot,后端)