含泪分享TYC数据开发能力试卷

王者杯·14天创作挑战营·第9期 10w+人浏览 187人参与

TYC数据开发能力试卷(数据开发工程师)

一、单选题

  1. 关于Kafka的分区机制,下列说法正确的是?
    A. 同一个分区内的消息是无序的
    B. 分区数可以在运行时动态减少
    C. 同一个消费者组内,一个分区只能被一个消费者消费
    D. 分区的副本数必须等于Broker数量
  2. 在Hive中,以下哪种文件格式支持列式存储和压缩?
    A. TextFile
    B. SequenceFile
    C. Parquet
    D. JsonFile
  3. Flink实现Exactly-Once语义,必须满足的条件不包括?
    A. Source支持数据重放
    B. Sink支持幂等写入或事务写入
    C. 启用Checkpoint机制
    D. 必须使用RocksDB作为状态后端
  4. 数据仓库分层中,ODS层的主要作用是?
    A. 存储清洗后的明细数据
    B. 存储聚合后的汇总数据
    C. 存储原始数据,保持与源系统一致
    D. 直接对外提供查询服务
  5. Spark中,以下哪个操作会触发真正的计算(Action操作)?
    A. map()
    B. filter()
    C. groupByKey()
    D. count()
  6. Flink的窗口计算中,Event Time + Watermark机制主要解决什么问题?
    A. 提高计算性能
    B. 处理乱序数据和延迟数据
    C. 减少内存占用
    D. 简化编程模型
  7. MySQL中,以下哪个索引类型查询效率最高(假设数据分布均匀)?
    A. 主键索引
    B. 唯一索引
    C. 普通索引
    D. 全文索引
  8. Kafka的消费者组(Consumer Group)机制的主要优势是?
    A. 提高消息写入速度
    B. 实现消息的负载均衡消费
    C. 减少磁盘占用
    D. 保证消息全局有序
  9. 在数据湖架构中,Apache Iceberg相比传统Hive表的核心优势是?
    A. 查询速度更快
    B. 支持ACID事务和Schema演进
    C. 占用存储空间更小
    D. 只支持批处理
  10. Hive动态分区插入时,以下哪个参数用于控制最大动态分区数?
    A. hive.exec.max.dynamic.partitions
    B. hive.exec.dynamic.partition.mode
    C. hive.exec.max.created.files
    D. hive.exec.parallel

二、多选题

  1. 关于Flink的状态管理,以下说法正确的是?
    A. 状态只能存储在内存中
    B. Flink支持Keyed State和Operator State两种状态类型
    C. RocksDB状态后端不支持增量Checkpoint
    D. 状态数据会随着Checkpoint持久化到外部存储
  2. Spark SQL优化中,以下哪些操作可以有效提升查询性能?
    A. 对所有字段都建立索引
    B. 禁用所有缓存机制
    C. 使用广播变量处理小表Join
    D. 增加Shuffle分区数避免数据倾斜
  3. 数据仓库建设中,DWD层(明细数据层)的特点包括?
    A. 直接存储业务系统原始数据
    B. 保留历史数据变化
    C. 数据已经过清洗和标准化
    D. 主要用于BI报表展示
  4. Kafka实现高吞吐的关键技术包括?(选择两项)
    A. 使用关系型数据库存储消息
    B. 顺序写磁盘和Page Cache机制
    C. 零拷贝(Zero-Copy)技术
    D. 每条消息都立即刷盘
  5. 在实时数据质量监控中,以下哪些指标是核心关注点?
    A. 服务器CPU使用率
    B. 开发人员数量
    C. 数据完整性(是否有数据丢失)
    D. 数据时效性(延迟时间)
  6. Flink的反压(Backpressure)机制中,以下说法正确的是?
    A. 反压会导致数据丢失
    B. 反压只影响Source算子
    C. 反压会从下游算子传导到上游算子
    D. 反压通过TCP的滑动窗口机制实现流量控制
  7. MySQL索引优化中,以下哪些情况会导致索引失效?
    A. 使用主键查询
    B. 在WHERE条件中对索引列使用函数
    C. 查询条件完全匹配索引列
    D. 使用!=或<>操作符
  8. Hive表的存储格式选择中,以下说法正确的是?
    A. TextFile格式压缩比最高
    B. ORC格式支持ACID事务
    C. SequenceFile不支持压缩
    D. Parquet格式更适合列式查询场景
  9. Delta Lake相比传统数据湖的优势包括?
    A. 完全不需要元数据管理
    B. 支持ACID事务保证数据一致性
    C. 只能在Spark中使用
    D. 提供Time Travel功能查询历史版本
  10. Flink窗口类型中,以下说法正确的是?
    A. Session Window(会话窗口)窗口大小固定
    B. Tumbling Window(滚动窗口)窗口之间无重叠
    C. Sliding Window(滑动窗口)可以设置滑动步长
    D. 所有窗口类型都必须指定固定时间长度

答案及解析

一、单选题

  1. C
    解析:Kafka同一个分区内消息有序;分区数仅能增加不能动态减少;副本数可配置,无需等于Broker数;消费者组内一个分区仅被一个消费者消费。
  2. C
    解析:Parquet是列式存储格式且支持压缩;TextFile、JsonFile为行式存储;SequenceFile是二进制键值对存储,非纯列式。
  3. D
    解析:Flink实现Exactly-Once需Source支持重放、Sink支持幂等/事务写入、启用Checkpoint,状态后端不强制使用RocksDB。
  4. C
    解析:ODS层存储原始数据,与源系统保持一致;DWD层存储清洗后的明细数据,DWS层存储聚合数据。
  5. D
    解析:Spark中map、filter、groupByKey是懒执行的Transformation操作,count是Action操作,会触发实际计算。
  6. B
    解析:Event Time为事件产生时间,Watermark用于判定乱序和延迟数据的窗口关闭时机,核心解决乱序与延迟问题。
  7. A
    解析:主键索引为聚簇索引,数据物理存储与索引有序,查询效率最高;唯一索引、普通索引、全文索引查询效率依次降低。
  8. B
    解析:消费者组通过分区分配实现消息的负载均衡消费;不影响消息写入速度,也无法保证消息全局有序。
  9. B
    解析:Apache Iceberg支持ACID事务、Schema演进,是对比传统Hive表的核心优势;也支持流批处理,查询速度并非核心差异。
  10. A
    解析: hive.exec.max.dynamic.partitions 用于控制最大动态分区数;B是动态分区模式,C是最大创建文件数,D是并行执行开关。

二、多选题

  1. BD
    解析:Flink状态可存储在内存、RocksDB等介质;支持Keyed State和Operator State两种类型;RocksDB支持增量Checkpoint;Checkpoint会将状态持久化到外部存储。
  2. CD
    解析:广播变量可减少小表Join的Shuffle开销,增加Shuffle分区数能避免数据倾斜;给所有字段建索引会增加开销,禁用缓存会降低重复查询性能。
  3. BC
    解析:DWD层数据经过清洗和标准化,且保留历史变化;ODS层存储原始数据,ADS层用于BI报表展示。
  4. BC
    解析:Kafka高吞吐源于顺序写磁盘、Page Cache缓存和零拷贝技术;采用文件存储而非关系型数据库,消息也并非立即刷盘。
  5. CD
    解析:实时数据质量核心关注完整性、时效性等数据本身指标;CPU使用率是资源监控指标,开发人员数量与数据质量无关。
  6. CD
    解析:Flink反压不会导致数据丢失,会从下游算子向上游传导,通过TCP滑动窗口实现流量控制。
  7. BD
    解析:对索引列使用函数、使用!=/<>操作符会导致索引失效;主键查询、完全匹配索引列会正常走索引。
  8. BD
    解析:ORC格式支持ACID事务(Hive 3.0+);Parquet适配列式查询场景;TextFile压缩比低,SequenceFile支持压缩。
  9. BD
    解析:Delta Lake支持ACID事务和Time Travel功能;需要元数据管理,也可在Flink等引擎中使用,并非仅支持Spark。
  10. BC
    解析:滚动窗口无重叠,滑动窗口可设置滑动步长;会话窗口无固定大小,由超时时间决定,并非所有窗口都需指定固定时间长度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一凡888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值