2026年大数据答辩题目及答案解析_第1页
2026年大数据答辩题目及答案解析_第2页
2026年大数据答辩题目及答案解析_第3页
2026年大数据答辩题目及答案解析_第4页
2026年大数据答辩题目及答案解析_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年大数据答辩题目及答案解析一、单项选择题(每题2分,共20分。每题只有一个正确答案,请将正确选项字母填入括号内)1.在HDFS中,NameNode的主要职责是()。A.存储实际数据块B.管理文件系统的元数据C.执行Map任务D.执行Reduce任务答案:B解析:NameNode负责维护文件系统的命名空间及块映射信息,不直接存储数据块。2.下列关于SparkRDD的描述,错误的是()。A.RDD是只读的分区记录集合B.RDD支持粗粒度与窄依赖转换C.RDD的容错机制基于血统(Lineage)D.RDD默认将数据持久化到磁盘答案:D解析:RDD默认不持久化,需调用persist或cache方法并指定存储级别才会缓存。3.在Flink的时间语义中,EventTime是指()。A.数据进入Flink系统的时间B.数据被处理算子处理的时间C.事件在源端发生的时间戳D.数据被Sink写出时间答案:C解析:EventTime由事件自带时间戳定义,可解决乱序与延迟问题。4.若某电商表user_order(order_id,user_id,sku_id,qty,price,order_time)数据量达120亿行,采用Hive分区策略,最合理的分区键为()。A.user_idB.sku_idC.order_timeD.order_id答案:C解析:按order_time做时间分区可显著减少扫描量,且符合常见查询模式。5.在Kafka2.8之后,移除Zookeeper依赖的替代组件是()。A.KRaftB.ZooKeeper3.7C.BookKeeperD.Curator答案:A解析:KRaft以Raft协议实现元数据自管理,正式替代ZK。6.使用HBaseRowKey设计时,为避免热点,最佳实践是()。A.使用自增ID作为RowKeyB.将时间戳放RowKey高位C.对UserID做哈希取模并反转D.使用定长随机字符串答案:C解析:哈希+反转可将连续用户打散,避免Region热点。7.在数据湖Iceberg中,实现行级更新主要依靠()。A.Copy-On-WriteB.Merge-On-ReadC.HDFS追加写D.Parquet列式索引答案:A解析:Iceberg默认采用Copy-On-Write方式实现ACID行级更新。8.某模型AUC从0.81提升到0.83,但线上CTR下降2%,最可能原因是()。A.训练集过采样导致分布漂移B.特征工程泄露未来信息C.离线样本未覆盖冷启动场景D.评估指标与业务目标不一致答案:D解析:AUC仅衡量排序能力,未考虑positionbias及业务权重,需结合GAUC、CPM等指标。9.在ClickHouse中,最适合高并发点查的表引擎是()。A.MergeTreeB.SummingMergeTreeC.ReplacingMergeTreeD.Memory答案:D解析:Memory引擎全内存,支持高并发低延迟点查,但掉电丢失。10.联邦学习场景下,SecureAggregation主要解决()。A.模型参数泄露B.特征维度不一致C.数据异构D.通信压缩答案:A解析:通过同态加密与掩码机制,防止中央服务器看到各参与方明文梯度。二、多项选择题(每题3分,共15分。每题有两个或两个以上正确答案,多选、少选、错选均不得分)11.下列属于FlinkCheckpoint的组成部分()。A.数据源消费的偏移量B.每个算子的状态快照C.本次Checkpoint的IDD.数据Sink的幂等写入标记答案:A、B、C解析:Sink幂等标记属于两阶段提交协议,非Checkpoint本身。12.关于数据仓库分层,以下说法正确的是()。A.ODS层保持原始数据不变B.DWD层需进行维度退化C.DWS层面向主题做汇总D.ADS层可直接对接BI报表答案:A、C、D解析:维度退化通常在DWD完成,B表述不严谨。13.以下哪些做法可有效降低Spark作业GC时间()。A.使用Kryo序列化B.提高executor内存但降低core数C.开启G1GC并调优MaxGCPauseMillisD.将RDD持久化到OFF_HEAP答案:A、C、D解析:B选项降低并行度反而可能拉长任务时间,GC收益不确定。14.在特征平台中,实现特征一致性需关注()。A.训练/serving口径一致B.特征回填时效C.特征元数据版本管理D.特征存储格式统一答案:A、B、C、D解析:四点均为一致性核心要素。15.关于数据湖Housekeeping,正确的有()。A.小文件合并降低NameNode压力B.ORC/Parquet文件支持原地删除列C.过期快照清理可节省存储D.增量快照可加速Time-Travel查询答案:A、C、D解析:列删除需重写文件,B错误。三、填空题(每空2分,共20分)16.HDFS默认块大小为________MB,若存储10TB文件,理论最少需________个块。答案:128,81920解析:10TB=10240GB=10485760MB,10485760/128=81920。17.SparkSQL中,将DataFrame注册为临时视图的函数是________,其生命周期同________。答案:createOrReplaceTempView,SparkSession18.Flink实现端到端exactly-once需满足三个条件:Source可________,Sink可________,以及开启________。答案:重放偏移,两阶段提交,Checkpointing19.在Hive中,函数regexp_extract('2026-06-01','(\\d{4})-(\\d{2})-(\\d{2})',2)的返回值是________。答案:06解析:第二个捕获组对应月份。20.若ClickHouse表使用MergeTree引擎,按dt分区、按user_id排序,则最佳排序键应写作________,可显著减少________读。答案:ORDERBY(user_id,dt),user_id过滤场景下的不必要dt列21.某Kafka集群副本因子3,min.insync.replicas=2,当ISR列表仅剩1个broker时,生产者配置acks=all将________(抛异常/成功/降级)。答案:抛异常解析:可用副本不足min.insync.replicas,触发NotEnoughReplicasException。22.在Pythonpandas中,对DataFramedf按列col升序去重保留第一条的语句为df.________(subset=['col'],keep='________')。答案:drop_duplicates,first23.若XGBoost目标函数为Obj=∑l(yi,ŷi)+∑Ω(fk),则第二项Ω(fk)用于________,其L2正则化系数参数名为________。答案:控制模型复杂度,reg_lambda24.数据血缘解析时,SQL语句insertintotableAselectfromtableB的流向为________→________。24.数据血缘解析时,SQL语句insertintotableAselectfromtableB的流向为________→________。答案:tableB,tableA25.在Airflow中,任务task_a执行成功后触发下游task_b,应设置________位为________。答案:trigger_rule,all_success(默认即可)四、简答题(共30分)26.(封闭型,6分)简述MapReduce中Shuffle阶段的具体流程,并指出其性能瓶颈。答案:1)Map端:每个Map任务将输出按键分区写入环形内存缓冲区(默认100MB),当阈值80%触发Spill线程,将数据按Partition、Key排序后溢写到本地磁盘,可选Combiner预聚合。2)Reduce端:通过HTTP拉取(Fetch)各Map节点上对应分区的数据,进行归并排序(MergeSort),最终得到有序输入。瓶颈:磁盘IO频繁、网络拉取量大、排序耗时、内存缓冲区不足导致多次Spill。27.(开放型,8分)某短视频公司推荐系统离线训练AUC提升显著,但线上观看时长下降。请从样本、特征、模型、目标函数四个角度分析可能原因,并给出可落地的诊断方案。答案:1)样本:训练样本采用近7天活跃用户,未覆盖冷启动用户,导致模型对低活人群泛化差;负样本采用随机采样,未考虑曝光未点击与未曝光混合分布,高估高频视频权重。2)特征:使用“未来统计特征”,如当日的完整观看率,在训练时刻已泄露,线上实时无法获取;用户长短期兴趣分离不足,仅用长期画像。3)模型:深度模型过拟合高频头部作者,对中长尾视频预估偏低,导致推荐集中,多样性下降,用户疲劳。4)目标函数:优化CTR预估,未与观看时长直接挂钩,高CTR短视频可能时长较短,导致指标背离。诊断方案:a)样本:构造无偏数据集,采用IPS或DR方法加权;引入冷启动用户日志。b)特征:剔除未来信息,增加实时序列特征;构建两塔结构分离长期与短期。c)模型:引入多目标学习(MMoE),同时优化CTR、完播率、时长;增加正则与Dropout。d)目标函数:采用加权LogLoss,权重为观看时长;线上做Interleaving实验,直接观测时长指标。28.(封闭型,6分)写出Hive中实现累计订单金额的SQL窗口函数,并说明其执行计划优化点。答案:SELECTuser_id,order_date,order_amount,SUM(order_amount)OVER(PARTITIONBYuser_idORDERBYorder_dateROWSBETWEENUNBOUNDEDPRECEDINGANDCURRENTROW)AScum_amtFROMuser_order;优化点:1)利用ORDERBY列与分区列的索引,避免全排序;2)启用vectorizedqueryexecution,批量处理减少CPU;3)若表已按(user_id,order_date)分桶+排序,则无需额外Sort步骤,直接Windowing。29.(开放型,10分)某金融风控系统需实时拦截欺诈交易,延迟<200ms,数据量10万TPS。请设计一套基于Flink的实时风控架构,涵盖数据流、特征计算、模型推理、决策输出、高可用保障,并说明如何做到端到端exactly-once。答案:1)数据流:交易日志→Kafka(3副本,acks=all,idempotentproducer)→FlinkKafkaSource。2)特征计算:a)使用FlinkCEP识别短时间多笔异地交易;b)通过AsyncI/O访问Redis获取用户画像、设备指纹;c)使用KeyedProcessFunction维护30天滑动窗口聚合特征(如近1小时交易额均值),状态存储RocksDB+增量Checkpoint。3)模型推理:a)将XGBoost模型导出为PMML,利用FlinkUDF调用JPMML;b)或采用ONNXRuntimeJNI,批量预测降低耗时至5ms。4)决策输出:a)若风险分>阈值,发送拒绝指令到Kafka(transaction_result);b)同时写HBase用于审计,RowKey=transaction_id+timestamp。5)高可用:a)FlinkJobManagerHA基于ZK;b)Checkpoint间隔5s,开启unalignedcheckpoint降低反压;c)双机房部署,KafkaMirrorMaker做跨区复制。6)Exactly-once:a)Source端Kafka可重放offset;b)Checkpointbarrier对齐保证状态一致性;c)Sink端采用TwoPhaseCommitKafkaSink,预提交阶段写事务,Checkpoint完成时commit,失败则abort;d)HBaseSink使用幂等Put(RowKey唯一)+check-and-mutate实现幂等。五、应用题(共35分)30.(计算类,10分)某电商大促期间,商品表product共2亿行,字段(goods_idint,category_idint,pricedouble,stockint,dtstring)。现需计算每个category_id在2026-06-01当天库存量>0的商品数、平均价格、价格标准差。要求:1)写出SparkSQL语句;2)给出Spark物理执行计划的优化思路;3)若数据倾斜导致某category_id数据量5000万行,给出两种缓解方案并对比。答案:1)SQL:SELECTcategory_id,COUNT()AScnt,COUNT()AScnt,AVG(price)ASavg_price,STDDEV_POP(price)ASstddev_priceFROMproductWHEREdt='2026-06-01'ANDstock>0GROUPBYcategory_id;2)优化思路:a)利用分区裁剪,仅读取dt='2026-06-01'分区;b)若category_id存在高频值,开启skewjoinhint(AQE自动处理);c)开启whole-stagecodegeneration与vectorizedparquetreader;d)对price列采用列式统计,避免解压其他列。3)倾斜缓解:方案A:两阶段聚合。先对category_id+随机后缀做局部聚合,再去掉后缀全局聚合,减少Shuffle量。方案B:加盐+Broadcast。若维度表category较小,将category维表广播,与大表join后聚合,避免Shuffle。对比:方案A通用但增加一次Shuffle,方案B无Shuffle但依赖维表小,内存充足时方案B更优。31.(分析类,12分)给定用户行为表user_action(user_idstring,actionstring,tsbigint),记录点击(click)、购买(pay)两类事件,需计算最近30分钟滑动窗口内点击转化率(CVR=pay/click)。要求:1)用FlinkTableAPI写出完整代码(Java或Scala均可);2)说明如何设置窗口、水位线、触发器;3)若允许5分钟延迟,如何修正结果并输出到Kafka。答案:1)Scala代码:```scalavalenv=StreamExecutionEnvironment.getExecutionEnvironmentenv.setParallelism(4)valtabEnv=StreamTableEnvironment.create(env)valkafkaSrc=env.addSource(newFlinkKafkaConsumer[String]("user_action",newSimpleStringSchema(),kafkaProps)).map{json=>valj=JSON.parseObject(json)(j.getString("user_id"),j.getString("action"),j.getLong("ts"))}.assignTimestampsAndWatermarks(WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(30)).withTimestampAssigner(newSerializableTimestampAssigner[(String,String,Long)]{overridedefextractTimestamp(e:(String,String,Long),prev:Long)=e._3})).toTable(tabEnv,"utabEnv.createTemporaryView("action",kafkaSrc)valresult=tabEnv.sqlQuery("""SELECTTUMBLE_START(ts,INTERVAL'30'MINUTE)ASwindow_start,SUM(CASEWHENaction='click'THEN1ELSE0END)ASclicks,SUM(CASEWHENaction='pay'THEN1ELSE0END)ASpays,CASEWHENclicks>0THENCAST(paysASDOUBLE)/clicksELSE0.0ENDAScvrFROMactionGROUPBYTUMBLE(ts,INTERVAL'30'MINUTE)""")result.toAppendStream[Row].map{r=>s"r.ge.addSink(newFlinkKafkaProducer[String]("cvr_result",newSimpleStringSchema(),kafkaProps))```2)窗口:TumblingEventTimeWindows.of(Time.minutes(30));水位线:30s延迟,允许事件乱序;触发器:默认EventTimeTrigger,窗口结束即触发计算。3)允许5分钟延迟:改为SlidingEventTimeWindows.of(Time.minutes(30),Time.minutes(5)),并开启allowedLateness(Time.minutes(5)),结合sideOutputLateData收集迟到数据,再启动侧流任务合并修正Kafka结果。32.(综合类,13分)某市政府开放数据平台需发布“2026年全市公交客流OD(起终点)热力”数据集,原始数据为车载刷卡记录,字段(card_idstring,line_idstring,vehicle_idstring,board_timelong,alight_timelong,board_stationstring,alight_stationstring,directionint),日均1.2亿条,需脱敏、压缩、分级共享。任务:1)设计数据脱敏方案,确保无法还原个人轨迹;2)给出基于Spark的OD热力聚合流程,含关键代码;3)选择一种压缩编码,说明理由并给出压缩比预期;4)设计数据分级与访问控制策略。答案:1)脱敏:a)card_id采用SHA-256加盐哈希,盐值每日随机且保密;b)board/alight_time截断到10分钟区间,抹除秒级;c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论