版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2025年計算機(jī)知識題庫題庫含答案(能力提升)一、計算機(jī)基礎(chǔ)與組成原理1.已知十六進(jìn)制數(shù)0xAB3C,要求:(1)轉(zhuǎn)換為二進(jìn)制表示;(2)轉(zhuǎn)換為十進(jìn)制表示;(3)若該數(shù)為8位補(bǔ)碼形式,其對應(yīng)的十進(jìn)制數(shù)值是多少?答案:(1)十六進(jìn)制轉(zhuǎn)二進(jìn)制,每一位對應(yīng)4位二進(jìn)制數(shù):A(1010)、B(1011)、3(0011)、C(1100),因此二進(jìn)制為1010101100111100;(2)十進(jìn)制計算:A×163+B×162+3×161+C×16?=10×4096+11×256+3×16+12×1=40960+2816+48+12=43836;(3)8位補(bǔ)碼的最高位為符號位,0xAB3C的低8位是0x3C(即00111100),但實際8位補(bǔ)碼范圍是-128到127,原題可能指16位補(bǔ)碼,16位補(bǔ)碼0xAB3C的最高位是1(A的二進(jìn)制首位為1),表示負(fù)數(shù)。計算其絕對值:取反加1,0xAB3C的反碼是0x54C3,加1得0x54C4,十進(jìn)制為5×4096+4×256+12×16+4=20480+1024+192+4=21700,因此補(bǔ)碼對應(yīng)的十進(jìn)制數(shù)是-21700。2.某計算機(jī)主存容量為4GB,字長32位,按字節(jié)編址。若采用直接映射Cache,Cache容量為64KB,塊大小為16字節(jié)。計算:(1)主存地址的字段劃分(標(biāo)記、塊號、塊內(nèi)偏移);(2)Cache的總位數(shù)(包括數(shù)據(jù)位、標(biāo)記位、有效位)。答案:(1)主存地址總長度:4GB=232B,地址32位。塊大小16B=2?B,塊內(nèi)偏移4位。Cache容量64KB=21?B,塊數(shù)=64KB/16B=4096=212,因此塊號12位。標(biāo)記位=32-12-4=16位。地址劃分為:標(biāo)記(16位)、塊號(12位)、塊內(nèi)偏移(4位)。(2)Cache總位數(shù)=(數(shù)據(jù)位+標(biāo)記位+有效位)×塊數(shù)。每塊數(shù)據(jù)位=16B×8=128位;標(biāo)記位16位;有效位1位(每塊1位)??偽粩?shù)=(128+16+1)×4096=145×4096=593920位。二、操作系統(tǒng)3.某系統(tǒng)有3個進(jìn)程P1、P2、P3,CPU調(diào)度采用多級反饋隊列(MFQ),隊列優(yōu)先級從高到低為Q1(時間片1ms)、Q2(時間片2ms)、Q3(時間片4ms)。進(jìn)程到達(dá)時間與CPUburst如下:P1(0ms,5ms)、P2(1ms,3ms)、P3(2ms,4ms)。畫出時間軸并計算平均周轉(zhuǎn)時間(周轉(zhuǎn)時間=完成時間-到達(dá)時間)。答案:時間軸分析:-0ms:P1進(jìn)入Q1,執(zhí)行1ms(剩余4ms),因未完成被移入Q2。-1ms:P2到達(dá)Q1,執(zhí)行1ms(剩余2ms),移入Q2;此時Q2有P1(剩余4ms)、P2(剩余2ms)。-2ms:P3到達(dá)Q1,執(zhí)行1ms(剩余3ms),移入Q2;Q2隊列順序為P1→P2→P3。-3ms:Q2時間片2ms,P1執(zhí)行2ms(剩余2ms),未完成移入Q3;此時Q2執(zhí)行P2,剩余2ms需2ms(剛好完成),P2完成時間=3+2=5ms。-5ms:Q2執(zhí)行P3,剩余3ms需2ms(剩余1ms),移入Q3;Q3時間片4ms,P1執(zhí)行剩余2ms(完成,時間=5+2=7ms)。-7ms:Q3執(zhí)行P3剩余1ms(完成,時間=7+1=8ms)。周轉(zhuǎn)時間:P1=7-0=7ms;P2=5-1=4ms;P3=8-2=6ms;平均=(7+4+6)/3=5.67ms。4.簡述虛擬內(nèi)存中LRU(最近最少使用)頁面置換算法的實現(xiàn)原理,并設(shè)計一個基于雙向鏈表和哈希表的LRU緩存結(jié)構(gòu)(要求支持put和get操作,時間復(fù)雜度O(1))。答案:LRU原理:當(dāng)需要置換頁面時,選擇最近最久未使用的頁面淘汰。實現(xiàn)核心是跟蹤每個頁面的訪問時間,訪問時更新為最近使用。設(shè)計LRU緩存:-使用雙向鏈表保存緩存節(jié)點(按訪問順序,頭部為最近使用,尾部為最久未使用);-哈希表(字典)存儲鍵到鏈表節(jié)點的映射,保證O(1)查找;-put操作:若鍵存在,更新值并將節(jié)點移到頭部;若不存在,若緩存未滿則插入頭部,若滿則刪除尾部節(jié)點并從哈希表移除,再插入新節(jié)點到頭部;-get操作:若鍵存在,將節(jié)點移到頭部并返回值;不存在返回-1。示例代碼(偽代碼):```pythonclassLRUCache:def__init__(self,capacity):self.cap=capacityself.cache={}self.head=Node(0,0)哨兵頭節(jié)點self.tail=Node(0,0)哨兵尾節(jié)點self.head.next=self.tailself.tail.prev=self.headdef_remove(self,node):p=node.prevn=node.nextp.next=nn.prev=pdef_add(self,node):node.prev=self.headnode.next=self.head.nextself.head.next.prev=nodeself.head.next=nodedefget(self,key):ifkeyinself.cache:node=self.cache[key]self._remove(node)self._add(node)returnnode.valuereturn-1defput(self,key,value):ifkeyinself.cache:self._remove(self.cache[key])node=Node(key,value)self._add(node)self.cache[key]=nodeiflen(self.cache)>self.cap:lru=self.tail.prevself._remove(lru)delself.cache[lru.key]```三、數(shù)據(jù)結(jié)構(gòu)與算法5.給定一個單鏈表的頭節(jié)點head,判斷該鏈表是否為回文鏈表。要求時間復(fù)雜度O(n),空間復(fù)雜度O(1)。答案:步驟:(1)找到鏈表中點(快慢指針法,快指針走兩步,慢指針走一步,快指針到末尾時慢指針到中點);(2)反轉(zhuǎn)后半段鏈表;(3)比較前半段和反轉(zhuǎn)后的后半段是否相同;(4)恢復(fù)后半段鏈表(可選)。示例實現(xiàn)(Python):```pythonclassListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdefis_palindrome(head):ifnotheadornothead.next:returnTrue找中點slow,fast=head,headwhilefast.nextandfast.next.next:slow=slow.nextfast=fast.next.next反轉(zhuǎn)后半段prev,curr=None,slow.nextwhilecurr:next_node=curr.nextcurr.next=prevprev=currcurr=next_node比較p1,p2=head,prevwhilep2:ifp1.val!=p2.val:returnFalsep1=p1.nextp2=p2.nextreturnTrue```6.給定數(shù)組nums=[3,1,4,1,5,9,2,6],使用快速排序算法進(jìn)行升序排序,寫出每一輪的劃分過程(選擇第一個元素為基準(zhǔn))。答案:初始數(shù)組:[3,1,4,1,5,9,2,6],基準(zhǔn)pivot=3。第一輪劃分:左指針i=1(元素1),右指針j=7(元素6)。i從左找>3的元素(i=2,元素4),j從右找<3的元素(j=6,元素2),交換4和2,數(shù)組變?yōu)閇3,1,2,1,5,9,4,6]。i=3(元素1)<3,i++到4(元素5>3),j=5(元素9>3),j--到4(i=j=4)。交換pivot(索引0)和i=4的元素5,數(shù)組變?yōu)閇5,1,2,1,3,9,4,6]?不,正確劃分應(yīng)是將小于pivot的放左邊,大于的放右邊。正確步驟:-初始i=0(pivot=3),左指針l=1,右指針r=7。-l向右找>3:l=2(4),r向左找<3:r=6(2),交換4和2→[3,1,2,1,5,9,4,6]。-l=3(1<3)→l=4(5>3),r=5(9>3)→r=4(l=r=4)。-交換pivot(索引0)和r=4→[1,1,2,3,5,9,4,6]。此時左子數(shù)組[1,1,2],右子數(shù)組[5,9,4,6]。第二輪對左子數(shù)組[1,1,2](pivot=1):l=1(1≤1)→l=2(2>1),r=2(2>1)→r=1(l=r=1),交換pivot和r→[1,1,2](已有序)。第三輪對右子數(shù)組[5,9,4,6](pivot=5):l=1(9>5),r=3(6>5)→r=2(4<5),交換9和4→[5,4,9,6]。l=2(9>5),r=2(l=r=2),交換pivot和r→[4,5,9,6]。左子數(shù)組[4],右子數(shù)組[9,6]。第四輪對右子數(shù)組[9,6](pivot=9):l=1(6<9),交換pivot和r=1→[6,9]。最終排序結(jié)果:[1,1,2,3,4,5,6,9]。四、數(shù)據(jù)庫系統(tǒng)7.某電商數(shù)據(jù)庫有以下表結(jié)構(gòu):-用戶表(User):UID(主鍵),Uname,RegTime-訂單表(Order):OID(主鍵),UID(外鍵),OrderTime,TotalAmount-商品表(Goods):GID(主鍵),Gname,Price-訂單詳情表(OrderDetail):OID(外鍵),GID(外鍵),Quantity(主鍵)要求:(1)查詢2024年注冊的用戶中,訂單總金額超過1000元的用戶姓名及總金額(按總金額降序);(2)為Order表的OrderTime字段設(shè)計索引,說明選擇B+樹索引的原因;(3)判斷OrderDetail表是否滿足3NF,若不滿足請優(yōu)化。答案:(1)SQL查詢:```sqlSELECTu.Uname,SUM(o.TotalAmount)ASTotalFROMUseruJOINOrderoONu.UID=o.UIDWHEREu.RegTimeBETWEEN'2024-01-01'AND'2024-12-31'GROUPBYu.UID,u.UnameHAVINGSUM(o.TotalAmount)>1000ORDERBYTotalDESC;```(2)OrderTime字段適合B+樹索引,原因:B+樹支持范圍查詢(如按時間范圍篩選訂單),且所有查詢都通過葉子節(jié)點順序訪問,適合日志型數(shù)據(jù)的時間范圍統(tǒng)計;非葉子節(jié)點僅存儲索引鍵,減少磁盤IO;支持高效的等值查詢(如按具體日期查找訂單)。(3)OrderDetail表的主鍵是(OID,GID),函數(shù)依賴:(OID,GID)→Quantity,且不存在非主屬性對主鍵的部分依賴或傳遞依賴(Quantity直接依賴于主鍵),因此滿足3NF。五、計算機(jī)網(wǎng)絡(luò)8.分析TCP三次握手過程中“第三次握手”的必要性。若第三次握手丟失,客戶端和服務(wù)端會如何處理?答案:三次握手目的是同步客戶端和服務(wù)端的初始序列號(ISN),并確認(rèn)雙方的發(fā)送和接收能力。第三次握手必要性:-第一次握手(SYN=1,seq=x):客戶端發(fā)送SYN,服務(wù)端確認(rèn)客戶端能發(fā)送;-第二次握手(SYN=1,ACK=1,seq=y,ack=x+1):服務(wù)端發(fā)送SYN+ACK,客戶端確認(rèn)服務(wù)端能發(fā)送和接收;-第三次握手(ACK=1,seq=x+1,ack=y+1):客戶端發(fā)送ACK,服務(wù)端確認(rèn)客戶端能接收。若第三次握手丟失:服務(wù)端未收到ACK,會超時重傳第二次握手的SYN+ACK包(默認(rèn)重傳次數(shù)為5次,間隔指數(shù)增長);客戶端已認(rèn)為連接建立,若發(fā)送數(shù)據(jù),服務(wù)端會因未收到第三次握手而拒絕(返回RST包),客戶端重新發(fā)起連接。9.比較HTTP/2與HTTP/3的核心差異,說明HTTP/3如何解決隊頭阻塞問題。答案:核心差異:-傳輸層:HTTP/2基于TCP,HTTP/3基于QUIC(UDP之上的可靠傳輸協(xié)議);-多路復(fù)用:HTTP/2通過流(Stream)實現(xiàn)多路復(fù)用,但TCP層仍存在隊頭阻塞(某條流的數(shù)據(jù)包丟失導(dǎo)致后續(xù)流阻塞);HTTP/3的QUIC基于UDP,每個流獨立編號,丟包僅影響該流,不阻塞其他流;-連接建立:HTTP/2需TCP三次握手+TLS握手(共2RTT);HTTP/3利用QUIC的0-RTT或1-RTT握手(首次連接1RTT,后續(xù)0RTT)。HTTP/3解決隊頭阻塞:QUIC將數(shù)據(jù)分成多個獨立的數(shù)據(jù)包,每個數(shù)據(jù)包屬于不同的流。當(dāng)某個流的數(shù)據(jù)包丟失時,僅該流需要重傳,其他流的數(shù)據(jù)包可正常處理,避免了TCP層因單個包丟失導(dǎo)致整個連接阻塞的問題。六、編程語言與實踐10.用Python實現(xiàn)一個裝飾器,記錄函數(shù)的執(zhí)行時間,并限制函數(shù)的最大執(zhí)行時間(超時則拋出異常)。要求使用threading模塊。答案:```pythonimporttimeimportthreadingfromfunctoolsimportwrapsclassTimeoutException(Exception):passdeftimeout(seconds):defdecorator(func):@wraps(func)defwrapper(args,kwargs):result=[]exception=[]deftarget():try:result.append(func(args,kwargs))exceptExceptionase:exception.append(e)thread=threading.Thread(target=target)thread.start()thread.join(seconds)ifthread.is_alive():raiseTimeoutException(f"Function{func.__name__}timedoutafter{seconds}seconds")ifexception:raiseexception[0]returnresult[0]returnwrapperreturndecorator示例使用@timeout(2)deflong_running_task():time.sleep(3)模擬長時間任務(wù)return"Done"try:print(long_running_task())exceptTimeoutExceptionase:print(e)輸出:Functionlong_running_tasktimedoutafter2seconds```11.Java中synchronized和ReentrantLock的區(qū)別是什么?在高并發(fā)場景下如何選擇?答案:區(qū)別:-鎖獲取方式:synchronized是關(guān)鍵字,JVM隱式管理(自動釋放鎖);ReentrantLock是類(java.util.concurrent.locks),需顯式調(diào)用lock()和unlock();-公平性:synchronized是非公平鎖(默認(rèn));ReentrantLock支持公平鎖(通過構(gòu)造函數(shù)參數(shù)設(shè)置);-條件變量:synchronized通過wait()/notify()實現(xiàn)單一條件隊列;ReentrantLock通過Condition對象支持多個條件隊列(如生產(chǎn)者-消費者模型中不同條件的等待);-可中斷性:synchronized不可中斷;ReentrantLock可通過lockInterruptibly()方法實現(xiàn)可中斷鎖獲?。?嘗試鎖:ReentrantLock支持tryLock()(立即或帶超時),synchronized不支持。高并發(fā)選擇:若需更靈活的鎖控制(如公平鎖、多條件變量、可中斷),選ReentrantLock;若代碼簡單且無需復(fù)雜功能,synchronized更簡潔(JVM優(yōu)化后性能接近)。七、前沿技術(shù)與應(yīng)用12.解釋大模型微調(diào)中LoRA(Low-RankAdaptation)的核心思想,并說明其相比全參數(shù)微調(diào)的優(yōu)勢。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 飛機(jī)蒙皮落壓鈑金工誠信模擬考核試卷含答案
- 通信傳輸設(shè)備裝調(diào)工安全文明模擬考核試卷含答案
- 老年神經(jīng)外科術(shù)后疼痛的特殊性與管理
- 老年睡眠障礙風(fēng)險預(yù)測與管理方案
- 統(tǒng)編版高考?xì)v史考前沖刺:中國古代史 選擇題刷題練習(xí)題4(含答案解析)
- 2026四川虹信軟件股份有限公司招聘MM顧問等崗位2人備考題庫及完整答案詳解一套
- 老年疼痛與心血管疾病共病管理方案
- 老年模擬健康宣教中的個性化關(guān)懷
- 虛擬現(xiàn)實技術(shù)突破指南
- 食品健康與安全課件
- 乙醇購銷合同范本
- 醫(yī)保智能審核與醫(yī)院HIS系統(tǒng)融合方案
- 2023-2025年浙江中考數(shù)學(xué)試題分類匯編:圖形的性質(zhì)(解析版)
- 健康險精算模型的風(fēng)險調(diào)整-洞察與解讀
- 車間安全管理考核細(xì)則
- 就業(yè)課題申報書項目名稱
- 2025年江蘇省常熟市中考物理試卷及答案詳解(名校卷)
- 2025年6月浙江省高考物理試卷真題(含答案解析)
- 2022-2023學(xué)年五年級數(shù)學(xué)上冊第五單元:列方程解行程問題專項練習(xí)(含答案)
- 物業(yè)工程維修培訓(xùn)內(nèi)容
- 神經(jīng)外科規(guī)培結(jié)業(yè)考試題庫及答案
評論
0/150
提交評論