请描述一个你用Flink做过的项目
总结
这道题用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作业开发:
- ODS→DWD:清洗埋点数据(JSON解析、字段标准化、维度关联)
- DWD→DWS:分钟级聚合(礼物流水GMV、在线人数、活动参与率)
- 实时用户画像:用MapState存储每个用户的多个标签(活跃度、充值等级、常用功能)
- 全部用RocksDB StateBackend,Checkpoint间隔60秒,开启增量Checkpoint
性能优化:
- 倾斜处理:某大V主播的礼物数据占总量40%,用加盖打散解决
- Sink优化:Doris Sink从逐条写改为批量写(每5000条或每5秒),TPS从几百提升到10万/秒
- Checkpoint优化:增量Checkpoint开启后时间从45秒降到5秒
- Watermark策略:从5分钟调整到30秒 + allowedLateness 5分钟 + sideOutput迟到修正
(Result / 结果)
- 从0搭建完整的实时数据平台,服务了产品、运营、财务三个团队
- 数据延迟从小时级(离线报表)降到分钟级(实时看板)
- 礼物流水实时统计准确率超过99.5%(实时vs离线对账差异<0.5%)
- Doris Sink的TPS从几百提升到10万/秒
这道题的核心要点
- 串联了前19篇的知识点: Checkpoint、Watermark、窗口、倾斜、反压、State、Doris Sink批量写、增量Checkpoint——每一个都能展开讲。
- 有架构设计能力: 为什么选Doris而不是ClickHouse、为什么中间层用Kafka而不是Doris、为什么用Flink而不是Spark——每个选型都有理由。
- 有具体数字和可量化结果: 几百万日活、TPS 10万/秒、准确率99.5%、Checkpoint 45秒→5秒。