订阅更新

请描述一个你用Flink做过的项目

Flink手册 第 20 题 约 3 分钟读完

本文目录
  1. 总结
  2. 参考回答:从0搭建Flink+Doris实时数据平台
  3. 这道题的核心要点

总结

这道题用STAR法则组织。提前准备好你最拿得出手的Flink项目,确保有背景、有架构设计理由、有性能优化细节、有可量化结果。反复练习到5分钟能流畅讲完。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

这是所有Flink面试题里最重要的一道。前靂19道考技术原理,这道考项目经验和表达能力。今天用我的真实项目做一个完整示范。

参考回答:从0搭建Flink+Doris实时数据平台

(Situation / 背景)

“我在某元宇宙社交App负责实时数据平台。这是一个有几百万日活的社交应用,核心业务是虚拟礼物交易。之前没有实时数据平台,所有数据分析都用离线报表(T+1),业务方无法实时看到礼物流水和用户行为数据。”

(Task / 任务)

“我负责从0搭建整套实时数据平台,包括:实时数仓分层架构设计、Flink作业开发、OLAP引擎选型和搭建、实时看板开发。”

A(Action / 行动)

架构设计:

选择了Kafka + Flink + Doris的架构。Kafka作为ODS和DWD层的存储,Flink做实时清洗和聚合,Doris作为OLAP引擎服务查询。选Doris而不是ClickHouse,因为Doris支持标准SQL、支持实时更新(Unique模型)、遍维成本低。

Flink作业开发:

  1. ODS→DWD:清洗埋点数据(JSON解析、字段标准化、维度关联)
  2. DWD→DWS:分钟级聚合(礼物流水GMV、在线人数、活动参与率)
  3. 实时用户画像:用MapState存储每个用户的多个标签(活跃度、充值等级、常用功能)
  4. 全部用RocksDB StateBackend,Checkpoint间隔60秒,开启增量Checkpoint

性能优化:

  1. 倾斜处理:某大V主播的礼物数据占总量40%,用加盖打散解决
  2. Sink优化:Doris Sink从逐条写改为批量写(每5000条或每5秒),TPS从几百提升到10万/秒
  3. Checkpoint优化:增量Checkpoint开启后时间从45秒降到5秒
  4. Watermark策略:从5分钟调整到30秒 + allowedLateness 5分钟 + sideOutput迟到修正

(Result / 结果)

  1. 从0搭建完整的实时数据平台,服务了产品、运营、财务三个团队
  2. 数据延迟从小时级(离线报表)降到分钟级(实时看板)
  3. 礼物流水实时统计准确率超过99.5%(实时vs离线对账差异<0.5%)
  4. Doris Sink的TPS从几百提升到10万/秒

这道题的核心要点

  1. 串联了前19篇的知识点: Checkpoint、Watermark、窗口、倾斜、反压、State、Doris Sink批量写、增量Checkpoint——每一个都能展开讲。
  2. 有架构设计能力: 为什么选Doris而不是ClickHouse、为什么中间层用Kafka而不是Doris、为什么用Flink而不是Spark——每个选型都有理由。
  3. 有具体数字和可量化结果: 几百万日活、TPS 10万/秒、准确率99.5%、Checkpoint 45秒→5秒。
刷题进度保存在当前浏览器