2025年軟考軟件設(shè)計師考試試題及答案_第1頁
2025年軟考軟件設(shè)計師考試試題及答案_第2頁
2025年軟考軟件設(shè)計師考試試題及答案_第3頁
2025年軟考軟件設(shè)計師考試試題及答案_第4頁
2025年軟考軟件設(shè)計師考試試題及答案_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2025年軟考軟件設(shè)計師考試試題及答案一、單項(xiàng)選擇題(每題1分,共30分。每題只有一個最符合題意的選項(xiàng),錯選、多選、未選均不得分)1.在面向?qū)ο笤O(shè)計中,若類A通過接口I調(diào)用類B的方法,而類B又通過同一接口I回調(diào)類A的方法,這種設(shè)計模式最可能是A.觀察者模式?B.策略模式?C.中介者模式?D.訪問者模式答案:C解析:中介者模式通過引入中介對象,使各同事對象只與中介交互,從而解耦;雙向調(diào)用常見于中介者。2.某實(shí)時系統(tǒng)采用固定優(yōu)先級搶占式調(diào)度,任務(wù)集如下表所示(單位:ms),若采用速率單調(diào)(RM)算法,則系統(tǒng)可調(diào)度性判定結(jié)果為|任務(wù)|周期T|執(zhí)行時間C||||||τ1|6|2||τ2|8|3||τ3|12|4|A.可調(diào)度?B.不可調(diào)度?C.需進(jìn)一步計算響應(yīng)時間?D.信息不足答案:B解析:RM利用率上界為n(2^(1/n)?1),n=3時約0.779。實(shí)際利用率=(2/6+3/8+4/12)=0.333+0.375+0.333=1.041>0.779,故不可調(diào)度。3.在TCP擁塞控制中,發(fā)送端收到3個重復(fù)ACK后,若此時擁塞窗口cwnd=16MSS,ssthresh=20MSS,則下一步cwnd與ssthresh的取值分別為A.8與10?B.16與8?C.8與16?D.10與8答案:C解析:收到3個重復(fù)ACK觸發(fā)快速重傳,進(jìn)入快速恢復(fù):ssthresh=cwnd/2=8,cwnd=ssthresh+3=11;但題目未說明已進(jìn)入快速恢復(fù),若僅指第一次降窗,則cwnd=8,ssthresh=16。4.某軟件項(xiàng)目采用COCOMOII模型,估算得到規(guī)模為120KSLOC,調(diào)整因子EM=1.15,復(fù)用調(diào)整因子AAM=0.9,則最終工作量最接近A.450人月?B.520人月?C.580人月?D.640人月答案:B解析:基本工作量=2.94×(120)^1.1≈2.94×217≈638人月;調(diào)整后=638×1.15×0.9≈520人月。5.在IPv6中,若節(jié)點(diǎn)收到一個跳數(shù)限制(HopLimit)為1的數(shù)據(jù)包,且該節(jié)點(diǎn)非組播組成員,則其處理動作為A.轉(zhuǎn)發(fā)并減1?B.丟棄并回送ICMPv6超時?C.丟棄不回送?D.回送ICMPv6參數(shù)問題答案:C解析:HopLimit=1時,非目的節(jié)點(diǎn)直接丟棄,不向源回送任何報文,避免放大攻擊。6.給定關(guān)系模式R(A,B,C,D,E,F)與函數(shù)依賴集F={AB→C,C→D,D→EF,F→B},則屬性集{AB}的閉包為A.{A,B,C,D}?B.{A,B,C,D,E,F}?C.{A,B,C,D,E}?D.{A,B,C,F}答案:B解析:由AB→C得C;由C→D得D;由D→EF得E,F;由F→B已含B,故閉包為全部屬性。7.在UML2.5中,下列關(guān)于組合片段(CombinedFragment)的描述錯誤的是A.opt表示可選執(zhí)行?B.loop至少執(zhí)行一次?C.break可跳出當(dāng)前片段?D.alt為多選一答案:B解析:loop的minint可為0,即允許0次,故“至少一次”錯誤。8.某B+樹索引節(jié)點(diǎn)大小為4KB,指針占8B,鍵值占12B,則該節(jié)點(diǎn)最多可存儲的鍵值數(shù)量為A.200?B.204?C.205?D.208答案:C解析:設(shè)鍵值數(shù)n,則(n+1)×8+n×12≤4096→20n+8≤4096→n≤204.4,取整204;但B+樹鍵與指針交替,最后多一個指針,故n=204鍵,205指針,鍵值數(shù)204。9.在Spring框架中,下列關(guān)于@Transactional注解的隔離級別設(shè)置正確的是A.Isolation.READ_UNCOMMITTED可防止臟讀?B.Isolation.REPEATABLE_READ可防止幻讀?C.Isolation.SERIALIZABLE性能最高?D.Isolation.DEFAULT使用數(shù)據(jù)庫默認(rèn)答案:D解析:A不能防臟讀;B不能防幻讀;C性能最低;D正確。10.采用哈夫曼編碼對字符集{a,b,c,d,e}編碼,出現(xiàn)頻率分別為{15,7,6,4,3},則編碼長度最長的字符的碼長為A.2?B.3?C.4?D.5答案:C解析:構(gòu)造得e=4位,如0000。11.在操作系統(tǒng)中,發(fā)生“Belady異?!钡捻撁嬷脫Q算法是A.FIFO?B.LRU?C.Clock?D.OPT答案:A解析:FIFO存在Belady異常,即增加幀數(shù)反而缺頁率上升。12.某分布式系統(tǒng)采用Raft共識算法,若集群節(jié)點(diǎn)數(shù)為7,則最多可容忍的拜占庭故障數(shù)為A.1?B.2?C.3?D.4答案:B解析:Raft為非拜占庭容錯,僅容忍崩潰故障,公式為?(N?1)/2?=3;但題目問“拜占庭”,Raft本身不解決拜占庭,若強(qiáng)行映射,則0;然而近年擴(kuò)展版RaftBFT可容忍f<?N/3?,即N=7時f=2。13.在Python3.11中,下列表達(dá)式值為True的是A.hash('a')==ord('a')?B.isinstance(True,int)?C.[]is[]?D.{1,2}<{1,2,3}答案:B解析:bool為int子類;D應(yīng)為<,但集合使用<表示真子集,{1,2}<{1,2,3}為True;B亦為True;單選最優(yōu)選B。14.某軟件公司采用DevOps,在CI階段自動運(yùn)行單元測試,其首要目標(biāo)是A.發(fā)現(xiàn)性能瓶頸?B.盡早暴露缺陷?C.驗(yàn)證部署腳本?D.生成測試報告答案:B解析:CI核心在于快速反饋,盡早暴露缺陷。15.在HTTPS握手過程中,客戶端在ClientKeyExchange消息中發(fā)送的內(nèi)容是A.預(yù)主密鑰的RSA公鑰加密結(jié)果?B.主密鑰明文?C.服務(wù)器隨機(jī)數(shù)?D.DH參數(shù)答案:A解析:RSA密鑰交換時,客戶端用服務(wù)器公鑰加密預(yù)主密鑰。16.給定C語言代碼:```cintf(unsignedintx){intc=0;while(x){x&=(x1);c++;}returnc;}```則f(2025)的返回值為A.8?B.9?C.10?D.11答案:B解析:2025=1024+512+256+128+64+32+8+1,二進(jìn)制1的個數(shù)為9。17.在軟件體系結(jié)構(gòu)評估中,ATAM方法主要關(guān)注A.性能與可靠性?B.可用性與可修改性?C.安全性與可測試性?D.所有質(zhì)量屬性答案:B解析:ATAM聚焦商業(yè)驅(qū)動的質(zhì)量屬性,核心為可修改性、可用性、性能、安全性等,但最突出可修改性。18.某微服務(wù)采用事件溯源(EventSourcing)模式,其事件存儲最適合的數(shù)據(jù)庫類型為A.關(guān)系型?B.列族?C.文檔型?D.僅追加日志型答案:D解析:事件溯源要求不可變、順序追加,僅追加日志最契合。19.在正則表達(dá)式引擎中,(a|b)a(a|b){10}匹配的字符串長度最小值為A.10?B.11?C.12?D.13答案:B解析:至少1+10=11。20.下列關(guān)于Dockerfile指令的描述,正確的是A.COPY支持URL源路徑?B.ADD可自動解壓tar?C.RUN指令生成的層可被后續(xù)指令復(fù)用?D.ENTRYPOINT不能與CMD共用答案:B解析:ADD支持自動解壓;COPY不支持URL;RUN層可復(fù)用但非“生成層可被復(fù)用”表述;ENTRYPOINT與CMD可組合。21.在敏捷開發(fā)中,故事點(diǎn)(StoryPoint)估算主要反映A.工時?B.復(fù)雜度與工作量?C.商業(yè)價值?D.風(fēng)險答案:B解析:故事點(diǎn)為相對度量,綜合復(fù)雜度、工作量、不確定性。22.某系統(tǒng)采用三級頁表,頁面大小為4KB,虛擬地址48位,則頁內(nèi)偏移占A.10?B.12?C.14?D.16答案:B解析:4KB=2^12,偏移12位。23.在MySQL8.0中,執(zhí)行SELECTFROMtWHEREa=1ANDb>2ORDERBYcLIMIT1;最優(yōu)索引為A.(a)?B.(a,b)?C.(a,b,c)?D.(a,c,b)答案:C解析:等值+范圍+排序,復(fù)合索引(a,b,c)可覆蓋where與order。24.在軟件著作權(quán)登記中,下列材料不屬于必須提交的是A.源代碼前30頁?B.文檔前10頁?C.開發(fā)人員身份證明?D.申請表答案:C解析:登記不強(qiáng)制提交身份證明。25.某算法時間復(fù)雜度為O(nlogn),在輸入規(guī)模擴(kuò)大4倍時,理論運(yùn)行時間約為原來的A.4倍?B.8倍?C.8log4倍?D.4log4倍答案:D解析:T(4n)/T(n)=4nlog(4n)/(nlogn)=4(1+log4/logn),當(dāng)n較大時≈4。26.在IPv4子網(wǎng)劃分中,若需要容納500臺主機(jī),則最小子網(wǎng)掩碼為A./22?B./23?C./24?D./25答案:B解析:2^9=512≥500+2,主機(jī)位9,掩碼/23。27.在操作系統(tǒng)中,發(fā)生“抖動”的根本原因是A.內(nèi)存容量不足?B.置換算法不當(dāng)?C.進(jìn)程數(shù)量過多?D.缺頁率過高答案:B解析:抖動由置換算法不當(dāng)導(dǎo)致頻繁換入換出。28.在Git工作流中,命令gitrebaseiHEAD~3的主要作用是A.合并三次提交?B.交互式改寫歷史?C.回退三次提交?D.創(chuàng)建分支答案:B解析:i交互式,可改寫、合并、刪除提交。29.在risk管理中,若某風(fēng)險發(fā)生概率為0.3,影響為損失6萬元,則其期望貨幣價值(EMV)為A.1.8萬元?B.?1.8萬元?C.6萬元?D.?6萬元答案:B解析:EMV=0.3×(?6)=?1.8萬元。30.在軟件測試中,下列覆蓋準(zhǔn)則最強(qiáng)的是A.語句覆蓋?B.判定覆蓋?C.條件覆蓋?D.路徑覆蓋答案:D解析:路徑覆蓋包含所有執(zhí)行路徑,最強(qiáng)。二、案例分析題(共5題,每題10分,共50分)1.某電商平臺擬升級訂單模塊,需求如下:(1)支持訂單狀態(tài)實(shí)時推送給用戶;(2)高并發(fā)下保證庫存扣減正確;(3)可水平擴(kuò)展,支持峰值10萬TPS;(4)兼容現(xiàn)有MySQL事務(wù)。請給出系統(tǒng)架構(gòu)設(shè)計,并說明關(guān)鍵技術(shù)選型與理由。答案:采用微服務(wù)+事件驅(qū)動架構(gòu):1.訂單服務(wù)、庫存服務(wù)、通知服務(wù)獨(dú)立部署;2.使用Kafka作為事件總線,訂單創(chuàng)建事件發(fā)布,庫存服務(wù)消費(fèi)并扣減,利用冪等鍵防止重復(fù);3.庫存扣減采用樂觀鎖(version字段)+分段鎖(商品維度),失敗事件發(fā)布到DLQ,人工補(bǔ)償;4.推送采用WebSocket長連接,網(wǎng)關(guān)層集成Nginx+Lua,支持百萬并發(fā);5.事務(wù):訂單服務(wù)本地事務(wù)提交后發(fā)布事件,使用RocketMQ事務(wù)消息或Kafka事務(wù)API,保證最終一致;6.擴(kuò)展:訂單服務(wù)無狀態(tài),K8sHPA根據(jù)CPU+延遲指標(biāo)自動擴(kuò)容;7.兼容MySQL:庫存服務(wù)讀寫分離,熱點(diǎn)商品緩存到Redis,采用Lua腳本保證原子性。2.閱讀下列代碼,指出存在的線程安全問題,并給出兩種修復(fù)方案。```javapublicclassCounter{privateintcount=0;publicintincrement(){return++count;}publicintget(){returncount;}}```答案:問題:++count非原子,多線程出現(xiàn)丟失更新。方案一:使用AtomicInteger```javaprivatefinalAtomicIntegercount=newAtomicInteger();publicintincrement(){returncount.incrementAndGet();}```方案二:加鎖```javaprivatefinalObjectlock=newObject();publicintincrement(){synchronized(lock){return++count;}}```3.某系統(tǒng)采用SpringCloudGateway,需在網(wǎng)關(guān)層實(shí)現(xiàn)基于JWT的權(quán)限控制,要求:(1)統(tǒng)一驗(yàn)證Token;(2)將用戶ID寫入請求頭供下游服務(wù);(3)支持Token刷新;(4)拒絕無權(quán)限請求返回401。請給出過濾器核心代碼(Kotlin或Java均可)。答案:```kotlin@ComponentclassJwtAuthFilter:GlobalFilter,Ordered{overridefungetOrder()=100overridefunfilter(exchange:ServerWebExchange,chain:GatewayFilterChain):Mono<Void>{valtoken=exchange.request.headers.getFirst("Authorization")?.removePrefix("Bearer")returnif(token.isNullOrBlank()){reject(exchange,"Missingtoken")}else{try{valclaims=Jwts.parser().setSigningKey("secret").parseClaimsJws(token).bodyvaluserId=claims.subjectvalnewReq=exchange.request.mutate().header("XUserId",userId).build()chain.filter(exchange.mutate().request(newReq).build())}catch(e:Exception){reject(exchange,"Invalidtoken")}}}privatefunreject(ex:ServerWebExchange,msg:String):Mono<Void>{ex.response.statusCode=HttpStatus.UNAUTHORIZEDreturnex.response.setComplete()}}```4.某關(guān)系數(shù)據(jù)庫出現(xiàn)慢查詢,執(zhí)行計劃顯示全表掃描,表結(jié)構(gòu):```sqlCREATETABLEorders(idBIGINTPRIMARYKEY,user_idBIGINT,statusTINYINT,create_timeDATETIME,INDEXidx_user(user_id));```查詢:SELECTFROMordersWHEREuser_id=123ANDstatus=1ORDERBYcreate_timeDESCLIMIT10;請給出優(yōu)化方案并說明原理。答案:建立復(fù)合索引:```sqlCREATEINDEXidx_user_status_timeONorders(user_id,status,create_timeDESC);```原理:1.覆蓋where條件最左前綴;2.status為等值,create_time為排序,可索引順序掃描,避免文件排序;3.索引已按create_time降序,直接取前10行,回表次數(shù)10次,代價最低;4.若查詢列改為覆蓋索引,可進(jìn)一步使用idx_user_status_time(user_id,status,create_time)INCLUDE(id)(PostgreSQL)或冗余索引。5.某系統(tǒng)采用Redis緩存熱點(diǎn)數(shù)據(jù),緩存穿透與雪崩頻發(fā),請給出完整治理方案。答案:1

溫馨提示

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

最新文檔

評論

0/150

提交評論