版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2025年下半年軟件設(shè)計(jì)師下午練習(xí)題及參考答案一、數(shù)據(jù)流圖與數(shù)據(jù)字典【試題1】閱讀下列說明與圖示,回答問題1至問題4?!菊f明】某市“智慧停車”平臺(tái)擬升級(jí),新增“錯(cuò)峰共享”功能:私人車位業(yè)主可在平臺(tái)發(fā)布空閑時(shí)段,周邊車主可預(yù)約并駛?cè)?。平臺(tái)需驗(yàn)證業(yè)主身份、車位產(chǎn)權(quán)、車輛牌照,完成在線支付后生成動(dòng)態(tài)二維碼,道閘掃碼抬桿。支付中心與銀行采用HTTPS雙向證書校驗(yàn);道閘廠商提供SDK,接口以JSON形式返回0/1表示抬桿成功/失敗。平臺(tái)還需向市交通局實(shí)時(shí)上傳停車記錄,交通局只接收Kafka消息,格式為Avro模式?!緢D示】圖11頂層數(shù)據(jù)流圖(未給出,考生需自行補(bǔ)全0層、1層)外部實(shí)體:E1業(yè)主、E2車主、E3支付中心、E4道閘廠商、E5市交通局主要加工:P1身份驗(yàn)證、P2車位發(fā)布、P3預(yù)約管理、P4訂單管理、P5支付校驗(yàn)、P6二維碼生成、P7抬桿控制、P8數(shù)據(jù)上報(bào)【問題1】(4分)根據(jù)說明,將圖11中缺失的0層數(shù)據(jù)流補(bǔ)充完整,要求給出數(shù)據(jù)流名稱、起點(diǎn)、終點(diǎn),至少寫出4條。【答案】1.車位空閑時(shí)段→E1→P22.預(yù)約請(qǐng)求→E2→P33.支付結(jié)果→P5→E34.抬桿指令→P7→E4【問題2】(3分)數(shù)據(jù)字典中“動(dòng)態(tài)二維碼”條目包含哪些數(shù)據(jù)項(xiàng)?寫出3項(xiàng)即可?!敬鸢浮慷S碼編號(hào)、有效截止Unix時(shí)間戳、車位編號(hào)哈希(SHA256前8字節(jié))【問題3】(4分)P7抬桿控制加工內(nèi)部出現(xiàn)“接口返回1但道閘未抬”異常,請(qǐng)用50字以內(nèi)說明在數(shù)據(jù)流圖中如何增加異常數(shù)據(jù)流,并給出該數(shù)據(jù)流名稱?!敬鸢浮吭黾印疤U異常通知”數(shù)據(jù)流,起點(diǎn)P7,終點(diǎn)E4,用于觸發(fā)SDK重試或人工干預(yù)?!締栴}4】(4分)市交通局要求Kafka消息在500ms內(nèi)送達(dá),若網(wǎng)絡(luò)抖動(dòng)導(dǎo)致重試,請(qǐng)說明在數(shù)據(jù)字典中應(yīng)對(duì)哪個(gè)數(shù)據(jù)項(xiàng)設(shè)置約束,并給出約束表達(dá)式?!敬鸢浮繉?duì)“消息發(fā)送時(shí)間戳”設(shè)置約束:current_timestamp–msg_timestamp≤500ms。二、數(shù)據(jù)庫設(shè)計(jì)【試題2】閱讀下列說明,回答問題1至問題3。【說明】某電商“秒殺”系統(tǒng)采用MySQL8.0,商品表items(item_id,stock,…),訂單表orders(order_id,user_id,item_id,quantity,status,create_time,…)。高并發(fā)下需保證庫存扣減與訂單寫入原子性,且不允許超賣。【問題1】(5分)給出一種基于樂觀鎖的庫存扣減SQL,要求單行更新且返回受影響行數(shù),若更新失敗則重試,寫出完整語句?!敬鸢浮縐PDATEitemsSETstock=stock–?WHEREitem_id=?ANDstock–?>=0;【問題2】(4分)若采用Redis+Lua腳本預(yù)扣庫存,再異步落庫,請(qǐng)寫出Lua腳本核心片段(僅含庫存判斷與扣減)?!敬鸢浮縧ocalkey=KEYS[1]localqty=tonumber(ARGV[1])localcurr=tonumber(redis.call('GET',key)or0)ifcurr<qtythenreturn1endredis.call('DECRBY',key,qty)returncurr–qty【問題3】(6分)orders表數(shù)據(jù)量10億行,需按user_id分庫分表,采用雪花算法生成order_id。請(qǐng)說明:(1)order_id哪些位段用于分片路由;(2)若擴(kuò)容至32庫×32表,如何平滑遷移,給出2步關(guān)鍵操作?!敬鸢浮浚?)取雪花算法41位時(shí)間戳后的10位作為分庫鍵,再取隨后5位作為分表鍵。(2)步驟1:在線雙寫,新數(shù)據(jù)同時(shí)寫入舊節(jié)點(diǎn)與影子節(jié)點(diǎn);步驟2:對(duì)比校驗(yàn)后切換讀流量,再下線舊節(jié)點(diǎn)。三、UML建?!驹囶}3】閱讀下列說明與圖,回答問題1至問題3?!菊f明】某跨境支付系統(tǒng)支持“收單”“退款”“結(jié)算”三類業(yè)務(wù)。系統(tǒng)采用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),識(shí)別出聚合根:Transaction、SettlementBatch、Refund。【圖示】圖31類圖(節(jié)選)Transaction1—RefundSettlementBatch1—Transaction【問題1】(3分)在類圖中補(bǔ)充“Refund”對(duì)“Transaction”的限定符,使一個(gè)交易最多只能有一次成功退款,寫出限定符名稱及類型?!敬鸢浮肯薅ǚ簊tatus,類型:RefundStatusEnum,值=SUCCESS唯一。【問題2】(4分】畫出“收單成功后30分鐘內(nèi)可全額退款”狀態(tài)機(jī)圖,要求包含狀態(tài)、觸發(fā)事件、監(jiān)護(hù)條件?!敬鸢浮繝顟B(tài):Created→Paid→Refunding→Refunded觸發(fā):t0=pay_success,t1=refund_apply,t2=refund_success監(jiān)護(hù)條件:[now–pay_time≤30min]【問題3】(4分)若采用事件風(fēng)暴,識(shí)別出“結(jié)算完成”領(lǐng)域事件,請(qǐng)寫出事件名稱、發(fā)布聚合根、消費(fèi)聚合根?!敬鸢浮渴录篠ettlementCompleted;發(fā)布:SettlementBatch;消費(fèi):Transaction(更新settlement_id)。四、數(shù)據(jù)結(jié)構(gòu)與算法【試題4】閱讀下列說明,回答問題1至問題3?!菊f明】某短視頻推薦系統(tǒng)需實(shí)時(shí)計(jì)算用戶興趣向量,維度512,每秒10萬QPS,要求99線延遲<50ms?!締栴}1】(5分】給出一種內(nèi)存布局,使向量點(diǎn)積計(jì)算對(duì)CPUCache友好,說明結(jié)構(gòu)體定義及對(duì)齊方式?!敬鸢浮縮tructVec512{floatv[512];}__attribute__((aligned(64)));數(shù)組連續(xù)存放,512×4B=2048B,跨32個(gè)CacheLine,對(duì)齊64B避免falsesharing?!締栴}2】(5分)采用SIMD指令集AVX512,寫出內(nèi)聯(lián)函數(shù)計(jì)算兩個(gè)Vec512的點(diǎn)積,要求使用FMA?!敬鸢浮縤nlinefloatdot512(constVec512&a,constVec512&b){__m512sum=_mm512_setzero_ps();for(inti=0;i<512;i+=16){__m512va=_mm512_load_ps(&a.v[i]);__m512vb=_mm512_load_ps(&b.v[i]);sum=_mm512_fmadd_ps(va,vb,sum);}return_mm512_reduce_add_ps(sum);}【問題3】(5分)若向量稀疏度90%,給出一種壓縮存儲(chǔ)格式及解壓算法,使得點(diǎn)積耗時(shí)<非稀疏1.5倍。【答案】格式:CSRlike,存(index,value)對(duì),按index升序;解壓:雙指針遍歷,若index相等則乘積累加,復(fù)雜度O(nnz)。五、操作系統(tǒng)與網(wǎng)絡(luò)【試題5】閱讀下列說明,回答問題1至問題3?!菊f明】某云原生網(wǎng)關(guān)基于Envoy,采用eBPF做socket層加速,將HTTP1.1報(bào)文直接轉(zhuǎn)發(fā)至后端Pod,繞過內(nèi)核TCP協(xié)議棧。【問題1】(4分)給出eBPF程序attach的2種鉤子點(diǎn)名稱,并說明各自作用?!敬鸢浮?.BPF_PROG_TYPE_SK_MSG:攔截socket層sendmsg,實(shí)現(xiàn)零拷貝轉(zhuǎn)發(fā);2.BPF_PROG_TYPE_CGROUP_SOCK_ADDR:在connect時(shí)重寫目標(biāo)IP端口,實(shí)現(xiàn)透明代理?!締栴}2】(4分)若后端Pod縮容,連接需優(yōu)雅遷移,請(qǐng)說明如何用eBPFmap保存socket狀態(tài),并給出map類型及鍵結(jié)構(gòu)?!敬鸢浮縨ap類型:BPF_MAP_TYPE_SOCKHASH;鍵:struct{__u32sip,dip;__u16sport,dport;}四元組。【問題3】(4分)當(dāng)網(wǎng)關(guān)側(cè)收到RST報(bào)文時(shí),需向客戶端發(fā)送502,說明在eBPF程序中如何區(qū)分該RST來自后端而非客戶端?!敬鸢浮繖z查skb>mark字段,若mark&0x1000為真則來自后端,觸發(fā)502響應(yīng);否則透?jìng)鳌A?、軟件架?gòu)設(shè)計(jì)【試題6】閱讀下列說明,回答問題1至問題3?!菊f明】某銀行核心系統(tǒng)擬從集中式COBOL大型機(jī)遷移至分布式微服務(wù),要求TPS提升至1萬,事務(wù)一致性達(dá)到ACID,支持異地雙活?!締栴}1】(5分)給出一種基于Saga的事務(wù)編排方案,使“轉(zhuǎn)賬”業(yè)務(wù)涉及3個(gè)微服務(wù)(余額、流水、通知)仍滿足最終一致,要求畫出編排圖并寫出補(bǔ)償事務(wù)?!敬鸢浮烤幣牛?.扣減余額(T)→2.寫入流水(T)→3.發(fā)送通知(T);補(bǔ)償:3'.撤銷通知(C)→2'.刪除流水(C)→1'.回補(bǔ)余額(C)?!締栴}2】(4分)若采用SeataAT模式,寫出全局事務(wù)ID的生成策略,并說明如何防止分支事務(wù)懸掛?!敬鸢浮坎呗裕篠nowflake+機(jī)房號(hào)2位;防懸掛:分支注冊(cè)時(shí)加全局鎖,若全局事務(wù)已回滾則拒絕注冊(cè)?!締栴}3】(4分)異地雙活距離800km,網(wǎng)絡(luò)RTT40ms,如何保證余額查詢讀到最新數(shù)據(jù),給出2種機(jī)制并對(duì)比優(yōu)缺點(diǎn)?!敬鸢浮繖C(jī)制A:讀寫均走主庫,強(qiáng)一致,延遲40ms,吞吐受限;機(jī)制B:讀本地只讀庫,寫后同步,采用PacificA協(xié)議,RPO=0,RTO<1s,但實(shí)現(xiàn)復(fù)雜。七、安全性與可靠性【試題7】閱讀下列說明,回答問題1至問題3。【說明】某醫(yī)療影像AI系統(tǒng)部署在私有云,需通過HIPAA審計(jì),數(shù)據(jù)包含DICOM影像及患者PHI。【問題1】(4分)給出一種端到端加密方案,使影像在傳輸、靜態(tài)、內(nèi)存中均加密,寫出加密層級(jí)及算法?!敬鸢浮總鬏敚篢LS1.3+AES256GCM;靜態(tài):LUKSv2+XTSAES512;內(nèi)存:IntelSGX+AES128密封密鑰。【問題2】(4分)若GPU顯存殘留患者影像,給出一種清除方法,并說明為何cudaMemset不足以通過審計(jì)?!敬鸢浮糠椒ǎ菏褂胏udaLaunchHostFunc注冊(cè)回調(diào),在流完成后執(zhí)行3次隨機(jī)覆寫再釋放;原因:cudaMemset可能被編譯器優(yōu)化跳過,審計(jì)要求可驗(yàn)證清除?!締栴}3】(4分)系統(tǒng)需支持醫(yī)生在2分鐘內(nèi)下載3GB影像,給出一種加速下載機(jī)制并計(jì)算理論最小帶寬?!敬鸢浮繖C(jī)制:HTTP/3+QUIC+多路復(fù)用+前端CDN預(yù)熱;最小帶寬:3×8Gb/120s=200Mb/s。八、案例分析【試題8】閱讀下列說明,回答問題1至問題4?!菊f明】某省“一網(wǎng)通辦”系統(tǒng)上線3個(gè)月后,用戶反饋高頻事項(xiàng)辦理頁面平均打開6s,遠(yuǎn)超2sSLA。運(yùn)維監(jiān)控發(fā)現(xiàn):1.政務(wù)外網(wǎng)到阿里云CDN首包1.2s;2.靜態(tài)資源1.8s;3.后端3次串行RPC平均各1s;4.數(shù)據(jù)庫慢查詢0.5s。【問題1】(4分)用80字以內(nèi)說明最應(yīng)優(yōu)先優(yōu)化的瓶頸,并給出依據(jù)?!敬鸢浮看蠷PC累計(jì)3s占比50%,且可并行化,收益最大?!締栴}2】(4分)給出一種并行化方案,使RPC總耗時(shí)降至1.2s,要求寫出偽代碼并說明線程池參數(shù)。【答案】CompletableFuture[]fs={rpc1(),rpc2(),rpc3()};CompletableFuture.allOf(fs).join();線程池:core=50,max=100,隊(duì)列=SynchronousQueue,拒絕策略=CallerRuns。【問題3】(4分)若CDN緩存命中率僅70%,給出2種提升策略。【答案】1.增加版本哈希指紋,強(qiáng)制長(zhǎng)期緩存;2.對(duì)HTML使用stale
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 滄州市第四醫(yī)院康復(fù)院區(qū)2025年人員招聘?jìng)淇碱}庫新版
- 福清濱江中學(xué)教師招聘?jìng)淇碱}庫附答案
- 安吉縣衛(wèi)生健康系統(tǒng)事業(yè)單位公開招聘醫(yī)療衛(wèi)生專業(yè)人員41人(第一號(hào))備考題庫附答案
- 2026年企業(yè)人力資源管理師考試備考題庫附參考答案(典型題)
- 2025年物流產(chǎn)業(yè)十年分析:無人配送與供應(yīng)鏈優(yōu)化報(bào)告
- 2025年河北邯鄲邯山區(qū)黨群系統(tǒng)事業(yè)單位公開招聘(統(tǒng)一招聘)工作人員4名備考題庫新版
- 未來五年吸收式X射線譜儀行業(yè)跨境出海戰(zhàn)略分析研究報(bào)告
- 2025貴州遵義習(xí)水縣面向社會(huì)招錄政府專職消防員13人考試題庫及答案1套
- 未來五年手機(jī)相機(jī)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略分析研究報(bào)告
- 未來五年小型機(jī)械戳印式郵資機(jī)行業(yè)跨境出海戰(zhàn)略分析研究報(bào)告
- 2026年云南中煙工業(yè)有限責(zé)任公司畢業(yè)生招聘(502人)筆試考試參考試題及答案解析
- 2025江蘇蘇州大學(xué)勞務(wù)派遣制人員招聘3人(第五批)筆試考試參考試題及答案解析
- 海洋信息安全:大數(shù)據(jù)平臺(tái)建設(shè)保障
- 爐底和爐墻砌筑分項(xiàng)工程質(zhì)量檢查評(píng)估表
- 2026年沈陽職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試必刷測(cè)試卷帶答案
- 2025年鐵路專業(yè)基礎(chǔ)知識(shí)考試題庫(含答案)
- 2025年地面裝飾工(地磚鋪貼)考試試卷及答案
- 全媒體運(yùn)營(yíng)師培訓(xùn)
- 天橋養(yǎng)護(hù)施工方案
- 低壓故障排除培訓(xùn)課件
- 消防應(yīng)急疏散和滅火演習(xí)技能培訓(xùn)
評(píng)論
0/150
提交評(píng)論