版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2025年數(shù)據(jù)庫(kù)考試題庫(kù)及答案一、單項(xiàng)選擇題(每題2分,共30分)1.在關(guān)系數(shù)據(jù)庫(kù)中,若屬性集X→Y且Y→Z,則下列哪一項(xiàng)一定成立?A.X→ZB.Y→XC.Z→XD.X?Z答案:A解析:函數(shù)依賴具有傳遞律,若X→Y且Y→Z,則X→Z必然成立。2.某表T(a,b,c,d)存在函數(shù)依賴{a,b}→{c,d}與→{c},則該表最高滿足的范式是:A.1NFB.2NFC.3NFD.BCNF答案:B解析:存在部分依賴→{c},主鍵為{a,b},故不滿足2NF定義。3.在MySQL8.0中,以下哪種隔離級(jí)別能完全避免幻讀?A.READUNCOMMITTEDB.READCOMMITTEDC.REPEATABLEREADD.SERIALIZABLE答案:D解析:SERIALIZABLE通過(guò)范圍鎖徹底禁止幻讀,但并發(fā)度最低。4.關(guān)于B+樹(shù)索引,下列說(shuō)法錯(cuò)誤的是:A.葉節(jié)點(diǎn)之間用雙向鏈表連接B.非葉節(jié)點(diǎn)僅存儲(chǔ)鍵值與指針C.葉節(jié)點(diǎn)存儲(chǔ)完整行數(shù)據(jù)D.支持順序遍歷與范圍查詢答案:C解析:葉節(jié)點(diǎn)存儲(chǔ)鍵值及指向行記錄的指針,而非整行數(shù)據(jù),聚簇索引除外。5.在PostgreSQL中,對(duì)JSONB字段創(chuàng)建GIN索引后,下列操作能利用該索引的是:A.SELECTFROMtWHEREjsonb_col->>'name'='Alice'B.SELECTFROMtWHEREjsonb_col@>'{"age":30}'C.SELECTFROMtWHEREjsonb_col::textLIKE'%Alice%'D.SELECTFROMtWHEREjsonb_col->'tags'ISNOTNULL答案:B解析:@>操作符可直接利用GIN索引進(jìn)行包含查詢,其余選項(xiàng)需全表掃描或無(wú)法使用GIN。6.在分布式數(shù)據(jù)庫(kù)Spanner中,TrueTimeAPI的主要作用是:A.提供全局自增IDB.實(shí)現(xiàn)分布式事務(wù)的MVCCC.提供精確全局時(shí)鐘D.優(yōu)化跨節(jié)點(diǎn)JOIN答案:C解析:TrueTime通過(guò)GPS與原子鐘提供誤差有界的全局時(shí)鐘,保證外部一致性。7.某事務(wù)先更新行R1再更新行R2,另一事務(wù)先更新R2再更新R1,最可能發(fā)生的沖突是:A.臟讀B.不可重復(fù)讀C.死鎖D.幻讀答案:C解析:雙方分別持有對(duì)方所需鎖,形成循環(huán)等待,觸發(fā)死鎖檢測(cè)。8.在MongoDB分片集群中,用于保證片鍵分布均勻的機(jī)制是:A.ZoneShardingB.HashedShardingC.Tag-awareShardingD.RangedSharding答案:B解析:HashedSharding通過(guò)對(duì)片鍵哈希將數(shù)據(jù)隨機(jī)分散,減少熱點(diǎn)。9.在Oracle中,下列哪類索引最適用于低基數(shù)列且查詢條件為等值?A.B-treeB.BitmapC.Function-basedD.Reverse答案:B解析:Bitmap索引對(duì)低基數(shù)列使用位圖壓縮,等值查詢效率高。10.關(guān)于RedoLog與Binlog的區(qū)別,下列說(shuō)法正確的是:A.兩者均用于Point-in-TimeRecoveryB.RedoLog記錄邏輯SQL,Binlog記錄物理頁(yè)修改C.RedoLog是InnoDB層,Binlog是Server層D.RedoLog采用Statement格式節(jié)省空間答案:C解析:RedoLog屬于存儲(chǔ)引擎層,記錄物理頁(yè)修改;Binlog屬于Server層,記錄邏輯變更。11.在Redis中執(zhí)行MULTI;INCRfoo;INCRbar;EXEC后,若foo原值為1,bar原值為2,則foo與bar結(jié)果分別為:A.2,3B.2,2C.1,2D.1,3答案:A解析:事務(wù)內(nèi)命令順序執(zhí)行,foo與bar均自增一次。12.在TiDB中,當(dāng)PD節(jié)點(diǎn)多數(shù)派失效時(shí),最可能出現(xiàn)的癥狀是:A.無(wú)法執(zhí)行寫操作B.無(wú)法執(zhí)行讀操作C.Region自動(dòng)分裂失敗D.無(wú)法生成新的時(shí)間戳答案:D解析:PD負(fù)責(zé)分配全局TSO,多數(shù)派失效導(dǎo)致TSO無(wú)法生成,整個(gè)集群無(wú)法開(kāi)始新事物。13.在SQLServer中,使用列存儲(chǔ)索引后,下列哪種查詢場(chǎng)景受益最大?A.單行點(diǎn)查B.范圍更新C.聚合分析D.高并發(fā)插入答案:C解析:列存按列壓縮存儲(chǔ),批量聚合時(shí)只需讀取相關(guān)列,I/O大幅減少。14.在CockroachDB的分布式事務(wù)中,發(fā)生WriteSkew的充要條件是:A.讀寫操作在不同節(jié)點(diǎn)B.隔離級(jí)別為SNAPSHOTC.事務(wù)讀取同一范圍并寫入不同行D.使用悲觀鎖答案:C解析:WriteSkew指兩個(gè)并發(fā)事務(wù)讀取重疊范圍后分別修改不同行,導(dǎo)致一致性約束被破壞。15.在MySQL中,對(duì)InnoDB表執(zhí)行ALTERTABLEADDINDEX時(shí),若指定ALGORITHM=INPLACE,則下列說(shuō)法正確的是:A.全程不鎖表B.需要重建聚簇索引C.允許并發(fā)DMLD.僅適用于全文索引答案:C解析:INPLACE算法在構(gòu)建二級(jí)索引時(shí)允許并發(fā)DML,但短暫加元數(shù)據(jù)鎖。二、多項(xiàng)選擇題(每題3分,共15分)16.下列哪些技術(shù)可用于實(shí)現(xiàn)分布式全局唯一遞增ID?A.Snowflake算法B.Leaf-segmentC.RedisINCRD.UUIDV1E.DatabaseSequence+雙Buffer答案:A,B,C,E解析:UUIDV1雖唯一但非遞增,其余均可實(shí)現(xiàn)近似遞增的全局唯一ID。17.關(guān)于兩階段提交(2PC),下列說(shuō)法正確的是:A.協(xié)調(diào)者崩潰可能導(dǎo)致阻塞B.參與者崩潰需依賴RedoLog恢復(fù)C.三階段提交完全解決阻塞問(wèn)題D.網(wǎng)絡(luò)分區(qū)可能導(dǎo)致腦裂E.2PC屬于一致性協(xié)議而非可用性協(xié)議答案:A,B,D,E解析:三階段提交僅降低阻塞概率,無(wú)法徹底消除。18.在PostgreSQL中,使用并行查詢需滿足哪些條件?A.查詢代價(jià)超過(guò)parallel_tuple_costB.表掃描類型為SeqScan或IndexOnlyScanC.未綁定游標(biāo)D.未使用LEAD窗口函數(shù)E.未在事務(wù)塊中設(shè)置SERIALIZABLE答案:A,B,C,E解析:LEAD本身不阻止并行,但某些窗口函數(shù)會(huì)限制。19.下列哪些場(chǎng)景適合使用LSM-Tree存儲(chǔ)引擎?A.寫密集、讀少B.范圍查詢頻繁C.需要高壓縮率D.強(qiáng)事務(wù)語(yǔ)義E.順序?qū)慡SD答案:A,C,E解析:LSM-Tree犧牲部分讀性能換取高寫入吞吐與壓縮,事務(wù)能力較弱。20.在MySQL8.0中,關(guān)于HashJoin哪些說(shuō)法正確?A.僅用于內(nèi)連接B.無(wú)需索引C.構(gòu)建階段使用內(nèi)存哈希表D.探測(cè)階段可溢出到磁盤E.可用于LEFTJOIN答案:B,C,D,E解析:HashJoin支持外連接,構(gòu)建哈希表時(shí)無(wú)需索引,溢出后使用磁盤臨時(shí)文件。三、判斷題(每題1分,共10分)21.在Raft協(xié)議中,Leader收到客戶端請(qǐng)求后立即提交即可返回成功,無(wú)需等待多數(shù)派復(fù)制。答案:錯(cuò)解析:Leader需等待多數(shù)派寫入日志后再提交,否則可能丟失已確認(rèn)事務(wù)。22.使用覆蓋索引時(shí),MySQL可以直接從索引頁(yè)返回結(jié)果,無(wú)需回表。答案:對(duì)解析:索引包含所有查詢列即可避免回表,稱為覆蓋索引。23.MongoDB的WiredTiger存儲(chǔ)引擎默認(rèn)使用表級(jí)鎖。答案:錯(cuò)解析:WiredTiger采用文檔級(jí)鎖,提高并發(fā)。24.在Oracle中,Bitmap索引列不允許進(jìn)行行級(jí)鎖定。答案:對(duì)解析:Bitmap索引的鎖粒度大,更新時(shí)可能鎖定整張表。25.在TiFlash中,列存副本與行存副本通過(guò)RaftLearner保持最終一致。答案:對(duì)解析:TiFlash作為L(zhǎng)earner角色異步復(fù)制,保證一致性。26.在RedisCluster中,當(dāng)某個(gè)主節(jié)點(diǎn)失效且沒(méi)有從節(jié)點(diǎn)可提升時(shí),集群會(huì)拒絕所有寫操作。答案:對(duì)解析:集群要求16384個(gè)槽全部可用,否則進(jìn)入失敗狀態(tài)。27.在Cassandra中,使用QUORUM讀寫級(jí)別可保證強(qiáng)一致性。答案:對(duì)解析:QUORUM讀寫交集至少一個(gè)副本,滿足R+W>N。28.在SQLServer中,列存儲(chǔ)索引可以與非聚集B-tree索引同時(shí)存在。答案:對(duì)解析:SQLServer允許列存與行存索引共存,優(yōu)化不同場(chǎng)景。29.在MySQL中,唯一索引列允許插入多個(gè)NULL值。答案:對(duì)解析:NULL被視為不同值,唯一索引允許多NULL。30.在PostgreSQL中,使用EXCLUDE約束可替代部分外鍵功能。答案:對(duì)解析:EXCLUDE通過(guò)運(yùn)算符排除重疊范圍,可實(shí)現(xiàn)復(fù)雜約束。四、填空題(每空2分,共20分)31.在InnoDB中,若事務(wù)隔離級(jí)別為REPEATABLEREAD,讀取操作使用________視圖,寫入操作使用________視圖。答案:一致性快照;當(dāng)前讀32.在分布式系統(tǒng)中,CAP理論指出當(dāng)發(fā)生網(wǎng)絡(luò)分區(qū)時(shí),系統(tǒng)需要在________與________之間做出選擇。答案:一致性;可用性33.在MongoDB中,________鎖用于保護(hù)全局元數(shù)據(jù),________鎖用于保護(hù)單個(gè)文檔。答案:Global;Document34.在Oracle中,________段用于存儲(chǔ)臨時(shí)排序結(jié)果,________段用于存儲(chǔ)回滾信息。答案:Temporary;Undo35.在TiKV中,Region默認(rèn)大小為_(kāi)_______MB,當(dāng)Region超過(guò)該閾值時(shí)觸發(fā)________。答案:96;分裂36.在Redis中,________命令用于將當(dāng)前連接切換到只讀模式,________命令用于手動(dòng)觸發(fā)AOF重寫。答案:READONLY;BGREWRITEAOF37.在PostgreSQL中,________統(tǒng)計(jì)信息用于估算列間相關(guān)性,________掃描用于并行執(zhí)行NestLoopJoin。答案:多變量;ParallelHash38.在MySQL8.0中,________線程負(fù)責(zé)將RedoLog刷盤,________線程負(fù)責(zé)將臟頁(yè)刷盤。答案:log_writer;page_cleaner39.在CockroachDB中,________時(shí)鐘用于提供全局單調(diào)遞增,________協(xié)議用于分布式事務(wù)提交。答案:HybridLogicalClock(HLC);ParallelCommit40.在SQLServer中,________函數(shù)用于返回最后一個(gè)自增ID,________提示用于強(qiáng)制使用行級(jí)鎖。答案:SCOPE_IDENTITY;ROWLOCK五、簡(jiǎn)答題(每題8分,共40分)41.描述MySQLInnoDB中一次UPDATE語(yǔ)句的執(zhí)行流程,包括加鎖、日志、刷盤順序。答案:1)解析與優(yōu)化:Server層生成執(zhí)行計(jì)劃,定位主鍵索引;2)加鎖:對(duì)聚簇索引記錄加X(jué)鎖,若存在二級(jí)索引維護(hù)則對(duì)二級(jí)索引加X(jué)鎖;3)舊值回滾:將舊記錄寫入U(xiǎn)ndo頁(yè),構(gòu)建回滾指針;4)更新聚簇索引:修改行數(shù)據(jù),寫入BufferPool,標(biāo)記為臟頁(yè);5)更新二級(jí)索引:若索引鍵未變則直接更新葉節(jié)點(diǎn),若鍵變則先刪除后插入;6)寫RedoLog:將物理頁(yè)修改寫入RedoBuffer,記錄LSN;7)寫B(tài)inlog:Server層生成邏輯日志,記錄SQL或行格式;8)提交:InnoDBprepare階段將RedoLog刷盤,Server層寫入Binlog并標(biāo)記commit;9)刷臟:異步由page_cleaner線程將臟頁(yè)刷回表空間,順序按LSN保證恢復(fù)一致性。42.解釋PostgreSQL中MVCC如何實(shí)現(xiàn)可重復(fù)讀隔離級(jí)別,并說(shuō)明與MySQL差異。答案:PostgreSQL通過(guò)事務(wù)ID(XID)與多版本元組實(shí)現(xiàn)MVCC:1)每行隱藏字段xmin、xmax記錄創(chuàng)建與刪除事務(wù)ID;2)快照SnapshotData記錄當(dāng)前活躍事務(wù)列表,查詢時(shí)對(duì)比xmin、xmax與快照,可見(jiàn)性規(guī)則為:xmin<Snapshot.xmin且xmax不存在或xmax≥Snapshot.xmax;3)重復(fù)讀隔離下,事務(wù)首次查詢時(shí)建立快照,后續(xù)所有查詢復(fù)用同一快照,保證同一事務(wù)內(nèi)讀取一致;4)寫操作生成新版本,舊版本保留在表中,由VACUUM異步清理;5)與MySQL差異:MySQL使用Undo段存儲(chǔ)舊版本,聚簇索引葉節(jié)點(diǎn)通過(guò)回滾指針鏈?zhǔn)皆L問(wèn);PostgreSQL將舊版本放在原表,導(dǎo)致表膨脹但無(wú)需回滾段;MySQL的重復(fù)讀可能遇到幻讀,PostgreSQL通過(guò)快照避免幻讀,但寫沖突需顯式鎖或串行化隔離。43.說(shuō)明Raft日志復(fù)制的流量控制機(jī)制,并分析在高延遲網(wǎng)絡(luò)下的優(yōu)化策略。答案:Raft采用滑動(dòng)窗口與心跳反饋進(jìn)行流量控制:1)Leader維護(hù)nextIndex[]與matchIndex[]數(shù)組,記錄每個(gè)Follower下一條要發(fā)送的日志索引與已復(fù)制位置;2)日志條目附加在AppendEntriesRPC中,F(xiàn)ollower返回成功或失敗,Leader動(dòng)態(tài)調(diào)整nextIndex;3)為避免網(wǎng)絡(luò)擁塞,Leader限制未確認(rèn)日志量,相當(dāng)于窗口大小W;4)高延遲網(wǎng)絡(luò)下,批量發(fā)送與管道化提升吞吐:Leader連續(xù)發(fā)送多條日志而不等待單條確認(rèn),利用TCP擁塞控制;5)自適應(yīng)批大?。焊鶕?jù)RTT與帶寬積調(diào)整每次AppendEntries攜帶的日志數(shù)量;6)預(yù)投票機(jī)制:減少無(wú)效選舉,避免網(wǎng)絡(luò)分區(qū)導(dǎo)致的頻繁Leader切換;7)只讀查詢優(yōu)化:Leader提交后記錄commitIndex,F(xiàn)ollower提供線性化讀需心跳確認(rèn)Leader合法性,降低讀延遲。44.描述Cassandra最終一致性下讀寫調(diào)優(yōu)的QUORUM計(jì)算方式,并給出R+W>N的數(shù)學(xué)證明。答案:設(shè)副本數(shù)N,寫一致性級(jí)別W,讀一致性級(jí)別R,需滿足R+W>N以保證強(qiáng)一致性。證明:1)設(shè)寫操作成功副本集合為Sw,|Sw|≥W;2)讀操作成功副本集合為Sr,|Sr|≥R;3)因R+W>N,則|Sw∩Sr|=|Sw|+|Sr|?|Sw∪Sr|≥W+R?N≥1;4)故讀寫至少有一個(gè)共同副本,該副本一定包含最新寫入,讀操作可返回最新數(shù)據(jù);5)調(diào)優(yōu)示例:N=3,W=QUORUM=2,R=QUORUM=2,則2+2>3,滿足強(qiáng)一致;若N=5,W=3,R=3,同樣滿足;6)若降低一致性,可取W=1,R=1,此時(shí)R+W=2≤N,可能讀到舊數(shù)據(jù),但延遲最低。45.分析MySQL8.0直方圖對(duì)優(yōu)化器代價(jià)估算的改進(jìn),并給出創(chuàng)建與維護(hù)步驟。答案:直方圖提供列數(shù)據(jù)分布統(tǒng)計(jì),解決均勻分布假設(shè)帶來(lái)的估算誤差:1)類型:?jiǎn)瓮埃⊿ingleton)適用于離散值少于1024,等高(Equi-height)適用于連續(xù)值;2)創(chuàng)建:ANALYZETABLEtblUPDATEHISTOGRAMONcolWITH100BUCKETS;3)存儲(chǔ):以JSON格式保存在字典表column_statistics,內(nèi)存中構(gòu)建結(jié)構(gòu)體Histogram;4)使用:優(yōu)化器對(duì)col進(jìn)行范圍或等值查詢時(shí),利用直方圖估算過(guò)濾因子,選擇更優(yōu)索引或JOIN順序;5)維護(hù):DML導(dǎo)致數(shù)據(jù)變化超過(guò)10%時(shí),自動(dòng)重新采樣更新直方圖,也可手動(dòng)執(zhí)行ANALYZE;6)改進(jìn)案例:對(duì)狀態(tài)列(0/1)原本估算50%選擇度,直方圖記錄真實(shí)比例如1%,優(yōu)化器改走索引避免全表掃描。六、綜合設(shè)計(jì)題(25分)46.某電商平臺(tái)訂單表結(jié)構(gòu)如下:order_idBIGINT,user_idBIGINT,sku_idBIGINT,priceDECIMAL(10,2),statusTINYINT,create_timeDATETIME,update_timeDATETIME。日均寫入500萬(wàn)行,峰值QPS8萬(wàn),查詢場(chǎng)景包括:A.根據(jù)user_id+status查近30天訂單;B.根據(jù)sku_id統(tǒng)計(jì)近7天銷量;C.根據(jù)order_id點(diǎn)查;D.后臺(tái)按時(shí)間段導(dǎo)出全字段CSV。系統(tǒng)要求:高可用、可擴(kuò)展、讀寫延遲<50ms,存儲(chǔ)成本最小化。請(qǐng)給出分布式數(shù)據(jù)庫(kù)選型、表設(shè)計(jì)、索引策略、分片方案、數(shù)據(jù)生命周期、備份與容災(zāi)方案,并評(píng)估成本。答案:1)選型:采用TiDB6.5,行存+列存混合,滿足OLTP與輕量OLAP,兼容MySQL協(xié)議,在線擴(kuò)容。2)表設(shè)計(jì):
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年浙江省衢州市單招職業(yè)傾向性考試模擬測(cè)試卷附答案
- 2026年廣東省梅州市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案1套
- 2026年廣西農(nóng)業(yè)職業(yè)技術(shù)大學(xué)單招綜合素質(zhì)考試模擬測(cè)試卷及答案1套
- 2026年江蘇省泰州市單招職業(yè)適應(yīng)性測(cè)試模擬測(cè)試卷及答案1套
- 2026年政府保密知識(shí)測(cè)試題含答案
- 2025河南省醫(yī)學(xué)科學(xué)院康復(fù)醫(yī)學(xué)研究所第三批招聘工作人員13人參考題庫(kù)附答案
- 2026中國(guó)旅游集團(tuán)總部及所屬企業(yè)崗位招聘9人筆試備考試題及答案解析
- 2026陜西師范大學(xué)西安市浐灞教育集團(tuán)招聘筆試備考題庫(kù)及答案解析
- 2025年湖南長(zhǎng)沙市雨花區(qū)育新第二小學(xué)秋教師招聘筆試備考題庫(kù)附答案
- 2025年四平市民族宗教事務(wù)服務(wù)中心等事業(yè)單位公開(kāi)選調(diào)工作人員備考題庫(kù)(17人)附答案
- 職高高二語(yǔ)文試卷及答案分析
- 2025屆江蘇省南通市高三下學(xué)期3月二模化學(xué)試題(含答案)
- 班主任安全管理分享會(huì)
- 消防救援預(yù)防職務(wù)犯罪
- 畢業(yè)論文答辯的技巧有哪些
- 酒店安全風(fēng)險(xiǎn)分級(jí)管控和隱患排查雙重預(yù)防
- 2018年風(fēng)電行業(yè)事故錦集
- 一體化泵站安裝施工方案
- 《重點(diǎn)新材料首批次應(yīng)用示范指導(dǎo)目錄(2024年版)》
- 防水班組安全晨會(huì)(班前會(huì))
- 全國(guó)職業(yè)院校技能大賽高職組(研學(xué)旅行賽項(xiàng))備賽試題及答案
評(píng)論
0/150
提交評(píng)論