版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年软考大数据工程师试题及答案1.单项选择题(每题1分,共20分)1.1在Hadoop3.x中,默认的块大小为A.32MBB.64MBC.128MBD.256MB答案:C1.2下列哪项不是Kafka核心组件A.ProducerB.ConsumerC.ZooKeeperD.JobTracker答案:D1.3SparkSQL中,将DataFrame注册为临时视图的API是A.cache()B.persist()C.createOrReplaceTempView()D.registerTable()答案:C1.4在Flink的时间语义中,EventTime由哪类时间戳决定A.系统时钟B.数据自带时间戳C.摄取时间D.处理时间答案:B1.5HBase中用于实现行原子性的机制是A.WALB.MemStoreC.RegionD.RowLock答案:D1.6若Hive表storedasorc,下列压缩编码最适合冷归档的是A.NONEB.SNAPPYC.LZ4D.ZSTD答案:D1.7在YARN容量调度器中,支持动态占用空闲资源的特性称为A.PreemptionB.ElasticityC.FederationD.Labels答案:B1.8使用ScalaAPI时,下列哪个操作会触发RDD的Job提交A.mapB.filterC.reduceD.checkpoint答案:C1.9在数据治理成熟度模型DAMADMBOK中,最高级为A.ManagedB.DefinedC.QuantitativelyManagedD.Optimizing答案:D1.10若某分类模型AUC=0.91,则其对应的Gini系数约为A.0.82B.0.91C.0.45D.0.18答案:A1.11在ClickHouse中,最适合做高基数去重的数据结构是A.MergeTreeB.SummingMergeTreeC.AggregatingMergeTreeD.Set答案:C1.12某Spark任务使用动态资源分配,参数spark.dynamicAllocation.maxExecutors=800,单个Executor核数为4,则集群至少需提供的CPU核数为A.800B.3200C.1600D.400答案:B1.13在数据湖Iceberg中,实现行级更新的文件格式是A.AvroB.ParquetC.ORCD.DeleteFile答案:D1.14下列关于数据倾斜的描述正确的是A.只会发生在Shuffle阶段B.可通过两阶段聚合缓解C.必然导致OOMD.无法通过调参解决答案:B1.15在Pythonpandas中,将category类型转为数值最节省内存的方法是A.astype('int32')B.cat.codesC.factorizeD.get_dummies答案:B1.16若某电商订单表分区字段为dt,格式yyyyMMdd,现需删除2024年全部分区,最佳写法是A.altertabledroppartition(dt='2024')B.altertabledroppartition(dtlike'2024%')C.altertabledroppartition(dt>='20240101'anddt<='20241231')D.需逐日删除答案:C1.17在Airflow中,ExternalTaskSensor的作用是A.监听文件到达B.等待外部DAG任务完成C.触发邮件告警D.轮询数据库答案:B1.18在Prometheus监控体系中,用于聚合5分钟平均QPS的函数是A.rate()[5m]B.irate()[5m]C.increase()[5m]D.avg_over_time()[5m]答案:A1.19某HDFS目录配置策略ID为“RS631024k”,其数据冗余度为A.1.5B.1.8C.2.0D.2.5答案:B1.20在DeltaLake中,时间旅行查询默认保留的版本数为A.7B.30C.90D.365答案:B2.多项选择题(每题2分,共20分)2.1下列属于FlinkCheckpoint持久化存储可选方案的有A.HDFSB.S3C.NFSD.AlluxioE.Kafka答案:ABCD2.2关于HiveonTez与HiveonMR对比,正确的有A.Tez执行DAG减少落盘B.Tez支持容器复用C.MR容错性更高D.Tez需依赖YARNE.MR支持LLAP答案:ABD2.3以下哪些操作会触发Spark的ShuffleA.groupByKeyB.reduceByKeyC.distinctD.joinE.map答案:ABCD2.4在数据质量维度中,属于“4C”模型的有A.CompletenessB.ConsistencyC.ComplianceD.CurrencyE.Cardinality答案:ABCD2.5关于ZooKeeper的ZAB协议,正确的有A.支持崩溃恢复B.采用主从架构C.写操作由Follower转发D.读操作可本地返回E.需半数以上存活答案:ABCDE2.6下列属于NoSQL多模型数据库的有A.ArangoDBB.OrientDBC.CassandraD.MongoDBE.Neo4j答案:ABD2.7在数据湖架构中,可被用作TableFormat的有A.IcebergB.HudiC.DeltaLakeD.ParquetE.ORC答案:ABC2.8以下关于PCA降维的描述正确的有A.需标准化B.协方差矩阵特征分解C.新变量正交D.保留最大方差方向E.适用于非线性流形答案:ABCD2.9在Kubernetes中,可水平扩展大数据组件的控制器有A.DeploymentB.StatefulSetC.DaemonSetD.JobE.CronJob答案:AB2.10下列属于GDPR数据主体权利的有A.访问权B.更正权C.删除权D.可携权E.拒绝权答案:ABCDE3.填空题(每空2分,共20分)3.1在Spark中,默认的并行度参数为________。答案:spark.default.parallelism3.2HDFSNameNode元数据持久化文件名为________与________。答案:fsimage、edits3.3Kafka的offset管理提交至________主题可实现精确一次语义。答案:__consumer_offsets3.4若某表字段col为STRING,欲取纯数字行,正则过滤写法为________。答案:colrlike'^\\d+$'3.5Flink窗口函数中,用于统计窗口内元素数量的聚合函数为________。答案:count()3.6在Hive中,设置动态分区模式为非严格模式的参数为________。答案:sethive.exec.dynamic.partition.mode=nonstrict3.7若某ORC文件stripe大小为256MB,HDFS块大小128MB,则读取该stripe需________次网络I/O。答案:23.8在Pythonsklearn中,随机森林分类器实现类为________。答案:RandomForestClassifier3.9使用Sqoop将MySQL数据导入Hive时,指定分隔符的参数为________。答案:fieldsterminatedby3.10在PromQL中,计算CPU使用率的表达式为________。答案:100(avgby(instance)(irate(node_cpu_seconds_total{mode="idle"}[5m]))100)4.简答题(共6题,每题10分,共60分)4.1(封闭型)简述MapReduce中“数据本地性”三级优先级,并给出Hadoop3.x对应调度策略。答案:(1)节点本地:任务与数据在同一DataNode,优先级最高;(2)机架本地:任务与数据在同一机架不同节点,次优;(3)offswitch:跨机架,最差。Hadoop3.x通过YARN的NodeManager心跳汇报块位置,CapacityScheduler根据pending任务队列与节点资源,优先匹配节点本地,其次机架本地,最后跨机架;若开启OPPORTUNISTIC容器,可借非本地资源,后续通过PREEMPTION抢回本地资源。4.2(开放型)某电商公司每日新增订单表order_delta约2亿条,字段含order_id、user_id、sku_id、price、dt,需支持近30天实时UV、GMV查询,延迟<3s。请给出技术选型与分层设计,并说明理由。答案:(1)技术选型:采集层:Kafka3.x,单分区峰值10万条/s,保证顺序写;计算层:Flink1.17,开启checkpoint30s,exactlyonce;存储层:明细:Kafkacompacttopic保留7天,供异常重放;索引:ClickHouse22.8,按dt+sku_id分区,使用AggregatingMergeTree预聚合sum(price)、uniqCombined(user_id);维表:RedisCluster缓存user_id维度,过期策略LRU;(2)分层:ODS:Kafkatopicorder_raw;DWD:Flink清洗去重,写出order_dwd到ClickHouse;DWS:物化视图自动计算日汇总,维度dt、sku_id;ADS:对外接口直接查询ClickHouse,利用跳数索引保证3s内;(3)理由:ClickHouse向量化执行+列存,适合大宽表聚合;Flink流式计算避免T+1延迟;Kafka解耦,支持回溯;Redis降低维表join延迟。4.3(封闭型)给出HBaseRegion分裂的触发条件与分裂算法,并说明如何预分区避免热点。答案:触发条件:(1)Region大小超过hbase.hregion.max.filesize;(2)手动执行split命令;(3)预分区时指定splitkey。算法:步骤1:RegionServer获取Region的storefile大小;步骤2:找出最大Store,计算中间key(midKey);步骤3:向HDFS写入split目录,异步切分;步骤4:更新Meta表,上报Master。预分区:根据rowkey前缀哈希,取模N,生成N1个splitkey,如“00|”“01|”…“FE|”,建表时add_split;若按时间+商户,可盐化商户ID,再拼接时间,保证离散。4.4(计算型)某Spark任务处理100GB文本,输入格式gzip,block大小128MB,集群20节点,每节点8核32GB。现发现任务耗时2h,GC占15%,磁盘IOwait30%。请给出调优步骤与预期收益。答案:(1)gzip不可分片,改用bzip2或lz4,可并行读,预计CPU降20%,耗时降40%;(2)加大spark.executor.cores=4,减少executor数,降低并发GC,GC占比降至5%;(3)提高spark.sql.files.maxPartitionBytes=512MB,减少task数,调度开销降;(4)开启spark.speculation=true,慢任务重跑,长尾缩短15%;(5)使用coalesce(800)替代默认200,减少小文件,磁盘wait降至10%;综合预计耗时降至45min。4.5(开放型)说明数据血缘的三种采集方式,并比较其优缺点。答案:(1)静态解析:方式:解析SQL、SparkDAG、AirflowDAG文件;优点:无运行时开销;缺点:无法处理动态拼接表名、存储过程;(2)运行时hook:方式:在HiveDriver、SparkListener、FlinkJobGraph中插入钩子,实时上报;优点:准确,含临时表;缺点:性能损耗3%~5%,需改造组件;(3)日志挖掘:方式:采集审计日志、HDFSaudit、S3accesslog,通过正则还原;优点:对应用透明;缺点:延迟高,血缘不完整;综合:生产环境采用静态+运行时混合,核心表用hook,边缘表用日志补全。4.6(封闭型)写出HiveSQL实现:将表user_login按user_id分组,计算连续登录最大天数,并解释窗口函数row_number()的用法。答案:SQL:withtmpas(selectuser_id,login_date,date_sub(login_date,row_number()over(partitionbyuser_idorderbylogin_date))asgrpfromuser_login),aggas(selectuser_id,grp,count()ascntfromtmpgroupbyuser_id,grp)selectuser_id,max(cnt)asmax_continuous_daysfromagggroupbyuser_id;解释:row_number()为每组内按login_date排序生成序号,用login_date减去序号得到连续日期组标识grp,同一grp内日期连续,再聚合计数即可得最大连续天数。5.应用综合题(共3题,每题20分,共60分)5.1实时风控场景背景:支付系统需5s内识别欺诈交易,输入字段含user_id、card_no、amount、merchant、ip、event_time,QPS3万,历史黑样本占比0.2%。要求:(1)给出特征工程方案;(2)给出模型选型与训练策略;(3)给出线上服务架构与延迟保证措施;(4)给出模型更新与灰度方案。答案:(1)特征工程:实时:近1min同卡交易额、次数、异地跳变;准实时:近1h同IP关联用户数、同商户失败率;离线:用户画像、历史逾期;特征存储:Flink异步写Redis,TTL24h;(2)模型:样本不平衡,采用XGBoost+SMOTE,AUC0.96;训练:每日凌晨用SparkMLpipeline,超参贝叶斯优化;(3)线上:架构:Kafka→FlinkCEP→gRPC服务→Redis缓存→规则引擎;延迟:Flink并行度=Kafka分区=90,checkpoint5s;gRPCNettyepoll,连接池复用;Redispipeline批量取特征,P998ms;降级:规则引擎兜底,直接拒绝大额;(4)更新:采用canary发布,流量5%→30%→100%;对比指标:误杀率、通过率、延迟;若误杀率上升>0.1%,自动回滚。5.2离线数仓迁移背景:公司原数仓基于Oracle,表3000张,日增量1TB,需迁移至Hive+Spark,目标6个月内完成,迁移过程需双跑验证。任务:(1)给出迁移总体流程;(2)给出数据一致性校验方案;(3)给出回滚策略;(4)给出性能对比基准。答案:(1)流程:评估→模型转换→ETL脚本改写→历史数据迁移→增量双跑→切换;工具:OracleGoldenGate→Kafka→Hive;模型:采用维度建模,星型转雪花,统一字段命名;(2)一致性:行数对比:每日自动化脚本,selectcount();内容对比:采样10%,采用Sparksubtract,差异<0.01%;指标对比:核心KPI如GMV、UV,差异<0.1%;(3)回滚:保留Oracle写接口3个月;若差异>1%,触发回滚,流量切回Oracle;(4)基准:查询耗时:原OracleP9515s,Hive+Spark目标P9530s;资源成本:Oracle80核→YARN400核,成本降40%;可扩展:支持PB级,横向扩容。5.3图计算链路背景:社交平台需计算用户间三度关系推荐好友,数据规模点20亿、边200亿,每日更新边5亿。要求:(1)给出图存储选型;(2)给出三度邻居算法实现;(3)给出增量更新方案;(4)给出推荐服务接口设计。答案:(1)存储:采用NebulaGraph3.x,分片1000,边空间按user_id哈希;冷热分层:7天内边SSD,历史边HDD;(2)算法:使用Nebula的FINDPATH语句,限制跳数3,返回最短路径;采样:若三度邻居>500,按共同兴趣权重降序取top100;权重:w=共同群组数0.6+共同点赞数0.4;(3)增量:每日凌晨Spark拉取新增边,生成edge_delta,调用Nebula的INSERTORUPDATE;对更新顶点重新计算三度,写入Redis缓存,TTL24h;(4)接口:RESTGET/friend/recommend?user_id=123&limit=20返回:JSON数组含user_id、score、reason;限流:令牌桶1000/s;降级:Redis无数据时返回二度邻居。6.计算证明题(共2题,每题20分,共40分)6.1给定某分类模型混淆矩阵:TP=1800,FP=200,FN=300,TN=7700。求:Precision、Recall、F1、特异度、Youden指数,并证明F1是Precision与Recall的调和平均。答案:Precision=TP/(TP+FP)=1800/2000=0.9Recall=TP/(TP+FN)=1800/2100≈0.857F1=2PR/(P+R)=20.90.857/(0.9+0.857)≈0.878特异度=TN/(TN+FP)=7700/7900≈0.975Youden=召回+特异度1≈0.832证明:调和平均定义H=2ab/(a+b),令a=Precision,b=Recall,则F1公式与H完全一致,得证。6.2某HDFS集群块大小128MB,副本数3,文件大小1GB,求NameNode内存占用理论值,并给出推导。答案:每块元数据:块ID8B、长度8B、时间戳8B、权限24B、副本位置列表平均36B(312B),合计约84B;对象头与对齐约60B,总计144B;文件分块数:1GB/128MB=8块;三副本,NameNode记录8个块,每个块3个副本,共24个块对象;内存:24144B=3456B≈3.4KB;另加文件系统目录项、INode约200B,总约3.6KB;推导:NameNode内存与块数线性相关,公式M=numBlocks(144+平均位置信息)+FSNamesystem常量,常量约2GB,小文件场景下内存瓶颈显著。7.设计论述题(共2题,每题30分,共60分)7.1论述“数据湖仓一体”架构演进,对比传统Lambda架构,在成本、性能、数据质量、运维四个维度的优劣,并给出落地最佳实践。答案:(1)演进:Lambda:批流双轨,维护两套代码,数据冗余;Kappa:统一流,重放日志,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届山东省菏泽市鄄城县第一中学高一生物第二学期期末质量跟踪监视模拟试题含解析
- 2025年安踏零售运营岗ai面试题库及答案
- 2025年政务大厅窗口笔试题目及答案
- 2025年结构化逻辑思维面试题库及答案
- 2025年小学生学前教育面试题库及答案
- 2025年昆山开发区事业单位考试及答案
- 2025年沛县招教考试备考题库附答案解析(夺冠)
- 2024年重庆艺术工程职业学院马克思主义基本原理概论期末考试题带答案解析(夺冠)
- 2025年湘南幼儿师范高等专科学校马克思主义基本原理概论期末考试模拟题附答案解析(夺冠)
- 2025年济南职业学院马克思主义基本原理概论期末考试模拟题含答案解析(夺冠)
- 白蚁防治工创新应用知识考核试卷含答案
- 高级消防设施操作员模拟试题及答案(新版)9
- 广东省广州市荔湾区2025-2026学年第一学期四年级数学期末试卷(无答案)
- GB/T 41914.3-2025微细气泡技术微细气泡使用和测量通则第3部分:微细气泡发生方法
- 2025年福建省三明市中考一模英语试题(含答案与解析)
- 中国临床肿瘤学会(csco)胰腺癌诊疗指南
- 配送员派单劳务合同范本
- 《中国人身保险业经验生命表(2025)》
- 《火力发电厂锅炉技术监督导则》
- 渣土收纳场施工方案
- TGDC251-2023科技成果技术成熟度评价规范
评论
0/150
提交评论