现代数据管道剖析测验
最后更新:2026 年 9 月 12 日
- 重放 Kafka offset 前必须检查什么?
- A) 保留期/压缩之后所需记录是否仍然存在
- B) Kafka 是否会自动对每个外部接收端去重
- C) 所有批处理输入是否都已删除
- D) 每个事件是否总会永久保留
显示答案
答案:A) 保留期/压缩之后所需记录是否仍然存在
重放需要保留输入并一致地恢复状态。端到端的 exactly-once 还取决于接收端事务、幂等性和外部副作用。
- ETL 与 ELT 有什么区别?
- A) 是否使用数据湖
- B) ETL 在加载到目标之前进行转换;ELT 在加载到目标之后进行转换
- C) 是否使用 Kafka
- D) ELT 总是精确的,ETL 总是近似的
显示答案
答案:B) ETL 在加载到目标之前进行转换;ELT 在加载到目标之后进行转换
将整理后的数据移入数据仓库,本身并不会使流程成为 ELT。请检查转换顺序和目标位置。
- 关于批处理和流处理的准确性,哪项说法正确?
- A) 流处理总是近似的
- B) 批处理总是精确的
- C) 这取决于迟到数据、重复项、状态和输出契约;快速的临时结果之后可以再完成最终确认
- D) 检查点会自动确保外部 API 副作用恰好执行一次
显示答案
答案:C) 这取决于迟到数据、重复项、状态和输出契约;快速的临时结果之后可以再完成最终确认
请设计事件时间、水位线、允许迟到时间和接收端语义。Spark 和 Flink 都不局限于某一种处理模式。
- 关于 Schema Registry 兼容性检查,哪项说法正确?
- A) 它们会自动阻止所有数据库 DDL 和语义变更
- B) 它们会验证已应用检查的注册/序列化/CI 路径;仍然需要消费者测试
- C) 注册一次就能自动确保所有版本间的传递兼容性
- D) 兼容性规则可以取代数据质量检查
显示答案
答案:B) 它们会验证已应用检查的注册/序列化/CI 路径;仍然需要消费者测试
绕过检查的路径和业务语义变更需要单独验证。请检查 backward/forward 及 transitive 设置的适用范围。