2025年大數(shù)據(jù)工程師人員招聘面試試題及參考答案_第1頁
2025年大數(shù)據(jù)工程師人員招聘面試試題及參考答案_第2頁
2025年大數(shù)據(jù)工程師人員招聘面試試題及參考答案_第3頁
2025年大數(shù)據(jù)工程師人員招聘面試試題及參考答案_第4頁
2025年大數(shù)據(jù)工程師人員招聘面試試題及參考答案_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2025年大數(shù)據(jù)工程師人員招聘面試試題及參考答案一、單項(xiàng)選擇題(每題2分,共20分)1.在Hadoop生態(tài)中,負(fù)責(zé)資源管理與任務(wù)調(diào)度的組件是A.HDFS??B.YARN??C.MapReduce??D.Hive答案:B2.SparkCore默認(rèn)的存儲(chǔ)級(jí)別是A.MEMORY_ONLY??B.MEMORY_AND_DISK??C.DISK_ONLY??D.OFF_HEAP答案:A3.下列Kafka配置參數(shù)中,控制消息在日志中保留時(shí)間的參數(shù)是A.log.retention.bytes??B.log.retention.hours??C.log.segment.bytes??D.replica.fetch.max.bytes答案:B4.在Flink中,用于實(shí)現(xiàn)端到端exactlyonce語義的核心機(jī)制是A.Checkpoint??B.Savepoint??C.Window??D.Slot答案:A5.若Hive表分區(qū)字段為dt(string),查詢2025年5月所有數(shù)據(jù),最高效的寫法是A.selectfromtwheredtlike'202505%'B.selectfromtwheresubstr(dt,1,7)='202505'C.selectfromtwheredtbetween'20250501'and'20250531'D.selectfromtwhereyear(dt)=2025andmonth(dt)=5答案:C6.HDFS寫入數(shù)據(jù)時(shí),默認(rèn)副本放置策略中,第一副本放在A.隨機(jī)節(jié)點(diǎn)??B.客戶端所在節(jié)點(diǎn)??C.與客戶端不同機(jī)架的節(jié)點(diǎn)??D.NameNode本地磁盤答案:B7.在Scala中,下列哪個(gè)表達(dá)式返回Array(1,4,9)A.Array(1,2,3).map(x=>xx)B.Array(1,2,3).filter(_>0)C.Array(1,2,3).flatMap(x=>Array(x,xx))D.Array(1,2,3).reduce(__)答案:A8.使用Pythonpandas讀取10GBCSV時(shí),為降低內(nèi)存占用,最佳實(shí)踐是A.先采樣再讀取??B.指定dtype與usecols??C.使用chunksize=1000??D.轉(zhuǎn)換為HDF5再讀取答案:B9.在AWS中,適合存放流式數(shù)據(jù)并供KinesisAnalytics直接消費(fèi)的存儲(chǔ)是A.S3??B.DynamoDB??C.KinesisDataStreams??D.Redshift答案:C10.根據(jù)GDPR,數(shù)據(jù)主體行使“被遺忘權(quán)”時(shí),數(shù)據(jù)控制者需在收到請(qǐng)求后A.7天內(nèi)??B.15天內(nèi)??C.30天內(nèi)??D.無硬性時(shí)限答案:C二、多項(xiàng)選擇題(每題3分,共15分,多選少選均不得分)11.下列屬于SparkSQL優(yōu)化器Catalyst提供的優(yōu)化策略有A.謂詞下推??B.列裁剪??C.常量折疊??D.代碼生成??E.索引選擇答案:ABCD12.關(guān)于HBaserowkey設(shè)計(jì),合理的做法包括A.將時(shí)間戳放在rowkey高位??B.使用哈希前綴打散熱點(diǎn)??C.長度控制在100字節(jié)以內(nèi)??D.采用逆序時(shí)間戳+設(shè)備ID??E.使用遞增Long型答案:BCD13.在Kafka2.8之后,無需Zookeeper即可運(yùn)行的特性依賴A.KRaftmetadataquorum??B.metadata.log.dir??C.process.roles=broker,controller??D.listeners=PLAINTEXT??E.transaction.state.log.replication.factor答案:ABC14.使用Airflow時(shí),可實(shí)現(xiàn)任務(wù)冪等性的手段有A.使用模板變量ds??B.設(shè)置retries=0??C.利用task_instance_key_str??D.寫入分區(qū)表覆蓋模式??E.在SQL中使用CREATETABLEIFNOTEXISTS答案:ACDE15.下列Python庫中,支持GPU加速的機(jī)器學(xué)習(xí)庫有A.XGBoost??B.LightGBM??C.CatBoost??D.RapidscuML??E.PyTorch答案:ABDE三、填空題(每空2分,共20分)16.Spark中,DataFrame的join操作若未指定連接條件,默認(rèn)執(zhí)行的是________連接,會(huì)導(dǎo)致________。答案:笛卡爾,數(shù)據(jù)膨脹17.在Hive中,將非分區(qū)表轉(zhuǎn)換為分區(qū)表并重新組織數(shù)據(jù)的語句關(guān)鍵字是________。答案:INSERTOVERWRITETABLE…PARTITION…18.Flink的StateBackend中,________狀態(tài)后端將工作狀態(tài)存儲(chǔ)在TaskManager內(nèi)存,checkpoint存儲(chǔ)在JobManager內(nèi)存,適用于________級(jí)別的小狀態(tài)作業(yè)。答案:MemoryStateBackend,MB19.HDFS的NameNode在啟動(dòng)時(shí),首先加載________文件,然后加載________文件,完成元數(shù)據(jù)合并。答案:fsimage,edits20.在Linux中,查看某進(jìn)程打開文件句柄數(shù)的命令是________。答案:lsofpPID|wcl21.使用pandas將DataFrame寫入MySQL時(shí),依賴的引擎類名是________。答案:create_engine(SQLAlchemy)22.在AWSS3中,實(shí)現(xiàn)對(duì)同名對(duì)象上傳時(shí)可觸發(fā)Lambda函數(shù)的事件類型應(yīng)設(shè)置為________。答案:s3:ObjectCreated:23.在Scala中,惰性求值的集合類型是________。答案:Stream(或LazyList,Scala2.13+)24.若Kafkatopic有6個(gè)partition,消費(fèi)者組內(nèi)最多有________個(gè)消費(fèi)者能同時(shí)消費(fèi)。答案:625.在DataWorks中,節(jié)點(diǎn)依賴的上游節(jié)點(diǎn)輸出名稱格式為________。答案:項(xiàng)目.節(jié)點(diǎn)名稱四、判斷題(每題1分,共10分,正確寫“T”,錯(cuò)誤寫“F”)26.Spark的RDD一旦緩存,其分區(qū)數(shù)量不可再改變。答案:T27.HBase中列族數(shù)量越多,隨機(jī)讀性能越好。答案:F28.Kafka的consumeroffset可以存儲(chǔ)在Kafka內(nèi)部topic__consumer_offsets中。答案:T29.Hive支持事務(wù)表,但必須使用ORC格式并開啟表屬性transactional=true。答案:T30.Flink的checkpoint屏障對(duì)齊機(jī)制會(huì)導(dǎo)致反壓時(shí)checkpoint超時(shí)。答案:T31.在Python中,使用multiprocessing.Pool可完全避免GIL限制。答案:T32.Parquet文件不支持列級(jí)壓縮算法不同。答案:F33.使用AWSGlueCrawler可自動(dòng)生成DataCatalog表結(jié)構(gòu)。答案:T34.在Linux中,命令ulimitn可查看當(dāng)前用戶最大可打開文件數(shù)。答案:T35.在DataFrame中,dropDuplicates()與distinct()語義完全相同。答案:F五、簡答題(封閉型,每題6分,共18分)36.簡述SparkSQL中廣播join的觸發(fā)條件與調(diào)優(yōu)參數(shù)。答案:觸發(fā)條件:小表大小低于參數(shù)spark.sql.autoBroadcastJoinThreshold(默認(rèn)10MB);小表需先緩存到Driver并廣播到Executor。調(diào)優(yōu)參數(shù):spark.sql.autoBroadcastJoinThreshold、spark.sql.adaptive.enabled、spark.sql.adaptive.coalescePartitions.enabled。關(guān)閉廣播可設(shè)置spark.sql.statistics.fallBackToHdfs=false并手動(dòng)hint/+broadcast(a)/。37.說明HDFS寫數(shù)據(jù)時(shí)DataNode故障的處理流程。答案:客戶端寫入pipeline,若某DataNode故障,客戶端收到ACK失敗,立即將故障節(jié)點(diǎn)從pipeline移除,通知NameNode,NameNode分配新DataNode,剩余節(jié)點(diǎn)繼續(xù)傳輸未完成數(shù)據(jù)包,客戶端無需重新寫入全部數(shù)據(jù),僅重傳未確認(rèn)數(shù)據(jù)包,保證數(shù)據(jù)一致性。38.列舉Flink實(shí)現(xiàn)端到端exactlyonce的兩階段提交步驟。答案:1)預(yù)提交:Flink調(diào)用TwoPhaseCommitSinkFunction.beginTransaction打開外部事務(wù);2)寫入:快照階段將數(shù)據(jù)寫入外部系統(tǒng)但未提交;3)checkpoint完成:notifyCheckpointComplete調(diào)用commit提交事務(wù);4)若checkpoint失敗調(diào)用abort回滾;5)依賴冪等外部系統(tǒng)或事務(wù)型存儲(chǔ)(Kafka事務(wù)、MySQLXA)。六、簡答題(開放型,每題8分,共16分)39.某電商公司每日新增100億條訂單明細(xì),需支持按用戶ID、商品ID、日期三維條件快速查詢,預(yù)計(jì)存儲(chǔ)3年,請(qǐng)給出數(shù)據(jù)模型與分層設(shè)計(jì)方案,并說明技術(shù)選型理由。答案:采用Iceberg分區(qū)表,按dt(日期)+bucket(用戶ID,256)+bucket(商品ID,256)三級(jí)分區(qū),底層Parquet+ZSTD壓縮,存儲(chǔ)于OSS/S3。分層:ODS貼源層(Kafka→Flink→Iceberg),DIM維度層(MySQL→FlinkCDC→Iceberg),DWD明細(xì)層(去重脫敏),DWS匯總層(FlinkStreaming→IcebergMergeInto)。技術(shù)選型:Iceberg支持隱式分區(qū)、行級(jí)更新、時(shí)間旅行;Flink流式入湖保證分鐘級(jí)延遲;Trino/Presto提供秒級(jí)OLAP;HBase+Redis緩存熱點(diǎn)用戶,實(shí)現(xiàn)毫秒級(jí)點(diǎn)查。3年數(shù)據(jù)約30PB,壓縮后8PB,按S3低頻訪問+生命周期冷存,成本降低70%。40.描述一次Kafka集群擴(kuò)容的完整流程,包括分區(qū)重分配、性能驗(yàn)證與回滾預(yù)案。答案:1)評(píng)估:監(jiān)控CPU、網(wǎng)絡(luò)、磁盤,確定瓶頸為broker節(jié)點(diǎn)不足;2)準(zhǔn)備:新節(jié)點(diǎn)安裝同版本Kafka,配置broker.id遞增,關(guān)閉自動(dòng)創(chuàng)建topic;3)擴(kuò)容:使用kafkareassignpartition.sh生成擴(kuò)容計(jì)劃,增加副本因子可同步提升;4)重分配:執(zhí)行計(jì)劃,設(shè)置throttle100MB/s避免影響生產(chǎn);5)驗(yàn)證:kafkaproducerperftest.sh與kafkaconsumerperftest.sh壓測,目標(biāo)吞吐提升30%,P99延遲<50ms;6)監(jiān)控:觀察UnderReplicatedPartitions、ISRshrinkrate;7)回滾:保留原副本分配JSON,若異常立即執(zhí)行rollback腳本,將leader遷回原節(jié)點(diǎn),下線新節(jié)點(diǎn);8)收尾:更新Prometheustarget、Grafanadashboard,清理臨時(shí)throttle配置,撰寫SOP文檔。七、計(jì)算題(每題10分,共20分)41.某Spark批處理作業(yè)讀取HDFS目錄/hdfs/data/2025/,目錄下共600個(gè)Parquet文件,總大小180GB,單個(gè)文件平均300MB,集群配置200executor,每個(gè)executor4cores8GB。當(dāng)前任務(wù)耗時(shí)45分鐘,driver端發(fā)現(xiàn)任務(wù)提交階段耗時(shí)2分鐘,其余為task運(yùn)行時(shí)間?,F(xiàn)計(jì)劃將文件合并為60個(gè)文件,每個(gè)1.8GB,其他參數(shù)不變,請(qǐng)估算新耗時(shí)并說明理由。答案:原并行度:600個(gè)文件→600個(gè)分區(qū)→600個(gè)task。合并后60個(gè)文件→60個(gè)分區(qū)→60個(gè)task。集群并發(fā)能力:200×4=800core,可同時(shí)跑800task。原600task可一次性調(diào)度,CPU非瓶頸,耗時(shí)45分鐘主要受I/O與CPU混合。合并后task數(shù)減少為60,并行度下降,但每個(gè)task處理數(shù)據(jù)量增大10倍,磁盤順序讀效率提升,Parquet列裁剪+下推減少網(wǎng)絡(luò),預(yù)計(jì)單task耗時(shí)從4.5分鐘升至約13分鐘,總耗時(shí)≈13分鐘+2分鐘=15分鐘,節(jié)省約67%。42.某Flink作業(yè)消費(fèi)Kafkatopic,每秒輸入100萬條訂單,每條1KB,并行度設(shè)為200,checkpoint間隔30秒,使用RocksDBStateBackend,開啟增量checkpoint,狀態(tài)數(shù)據(jù)鍵值平均大小200字節(jié),去重窗口24小時(shí),計(jì)算一天內(nèi)狀態(tài)大小與單次checkpoint上傳數(shù)據(jù)量(假設(shè)去重率為50%,壓縮比1:4)。答案:一天輸入量:1000000×86400=86.4億條,去重后狀態(tài)條數(shù)43.2億,每條200字節(jié),總狀態(tài)≈43.2億×200B=864GB,壓縮后864/4=216GB。增量checkpoint:30秒新增100萬×30=3000萬條,去重后1500萬條,新增狀態(tài)≈1500萬×200B=3GB,壓縮后3/4=0.75GB,故單次上傳約750MB。八、綜合分析題(21分)43.背景:某金融公司實(shí)時(shí)風(fēng)控系統(tǒng),需毫秒級(jí)攔截高風(fēng)險(xiǎn)交易。系統(tǒng)架構(gòu):交易網(wǎng)關(guān)→Kafka→FlinkCEP→Redis→API返回。需求:1)99th延遲<50ms;2)可用性99.99%;3)數(shù)據(jù)需可審計(jì),保存30天;4)支持灰度發(fā)布。問題:(1)給出FlinkCEP模式序列定義示例,識(shí)別“同一卡5分鐘內(nèi)連續(xù)3次異地登錄且金額>1萬”的模式。(5分)(2)如何設(shè)計(jì)Rediskey以保證高并發(fā)讀寫且支持版本回滾?(5分)(3)如何在不停止Flink作業(yè)情況下完成代碼升級(jí)與灰度?(5分)(4)審計(jì)數(shù)據(jù)如何存儲(chǔ)與檢索,保證合規(guī)?(6分)答案:(1)Pattern<Transaction,?>pattern=Pattern.<Transaction>begin("first",AfterMatchSkipStrategy.skipPastLastEvent()).where(newSimpleCondition<Transaction>(){@Overridepublicbooleanfilter(Transactiont){returnt.getAmount()>10000&&!t.getCity().equals(t.getLastCity());}}).followedBy("second").where(newSimpleCondition<Transaction>(){@Overridepublicbooleanfilter(Transactiont){return!t.getCity().equals(t.getLastCity());}}).followedBy("third").where(newSimpleCondition<Transaction>(){@Overridepublicbo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論