版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2026年高級(jí)工程師面試問題集一、編程與算法(5題,共40分)1.(8分)編寫一個(gè)函數(shù),實(shí)現(xiàn)快速排序算法,并說明其時(shí)間復(fù)雜度和空間復(fù)雜度。答案與解析:pythondefquick_sort(arr):iflen(arr)<=1:returnarrpivot=arr[len(arr)//2]left=[xforxinarrifx<pivot]middle=[xforxinarrifx==pivot]right=[xforxinarrifx>pivot]returnquick_sort(left)+middle+quick_sort(right)時(shí)間復(fù)雜度:平均O(nlogn),最壞O(n2);空間復(fù)雜度:O(logn)。2.(8分)給定一個(gè)包含重復(fù)元素的數(shù)組,返回所有不重復(fù)的全排列。答案與解析:pythondefpermute_unique(nums):defbacktrack(path,used):iflen(path)==len(nums):result.append(path[:])returnforiinrange(len(nums)):ifused[i]:continueifi>0andnums[i]==nums[i-1]andnotused[i-1]:continueused[i]=Truepath.append(nums[i])backtrack(path,used)path.pop()used[i]=Falsenums.sort()result=[]backtrack([],[False]len(nums))returnresult關(guān)鍵點(diǎn):使用used數(shù)組避免重復(fù),排序后跳過相鄰重復(fù)元素。3.(8分)實(shí)現(xiàn)一個(gè)LRU(最近最少使用)緩存,支持get和put操作。答案與解析:pythonclassLRUCache:def__init__(self,capacity:int):self.capacity=capacityself.cache=OrderedDict()defget(self,key:int)->int:ifkeynotinself.cache:return-1self.cache.move_to_end(key)returnself.cache[key]defput(self,key:int,value:int)->None:ifkeyinself.cache:self.cache.move_to_end(key)self.cache[key]=valueiflen(self.cache)>self.capacity:self.cache.popitem(last=False)使用`OrderedDict`維護(hù)訪問順序,get時(shí)移動(dòng)元素,put時(shí)刪除最舊的元素。4.(8分)編寫一個(gè)函數(shù),判斷一個(gè)二叉樹是否是平衡二叉樹(左右子樹高度差不超過1)。答案與解析:pythonclassTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=rightdefis_balanced(root:TreeNode)->bool:defcheck(node):ifnotnode:return0,Trueleft,left_balanced=check(node.left)right,right_balanced=check(node.right)returnmax(left,right)+1,left_balancedandright_balancedandabs(left-right)<=1returncheck(root)[1]自底向上遞歸,同時(shí)計(jì)算高度并判斷平衡性。5.(8分)實(shí)現(xiàn)一個(gè)線程安全的計(jì)數(shù)器,支持原子加操作。答案與解析:pythonimportthreadingclassAtomicCounter:def__init__(self):self.value=0self.lock=threading.Lock()defincrement(self):withself.lock:self.value+=1defget(self):withself.lock:returnself.value使用鎖保證線程安全,也可用`threading.atomic`(需Python3.8+)。二、系統(tǒng)設(shè)計(jì)(3題,共35分)1.(10分)設(shè)計(jì)一個(gè)高并發(fā)的短鏈接系統(tǒng),要求支持分布式部署和快速跳轉(zhuǎn)。答案與解析:-核心組件:1.短鏈接生成:使用哈希算法(如CRC32或Base62編碼)將長(zhǎng)URL映射為短URL。2.分布式緩存:Redis集群存儲(chǔ)短URL與長(zhǎng)URL的映射,支持高并發(fā)讀取。3.負(fù)載均衡:Nginx或HAProxy分發(fā)請(qǐng)求至不同后端節(jié)點(diǎn)。4.TTL機(jī)制:短鏈接設(shè)置過期時(shí)間,避免永久占用資源。-技術(shù)選型:-數(shù)據(jù)庫:RedisCluster(高可用+分片)。-緩存預(yù)熱:?jiǎn)?dòng)時(shí)預(yù)加載熱門短鏈接。2.(10分)設(shè)計(jì)一個(gè)實(shí)時(shí)消息推送系統(tǒng)(如微信、抖音),要求支持離線推送和消息分片。答案與解析:-架構(gòu):1.消息隊(duì)列:Kafka/RabbitMQ存儲(chǔ)待推送消息,保證順序性。2.客戶端:APP端輪詢或WebSocket接收消息。3.離線支持:本地緩存未讀消息,首次上線同步。4.分片策略:長(zhǎng)消息拆分為多條短消息(如每100字節(jié))。-關(guān)鍵點(diǎn):-限流:防消息洪峰,如控制每秒推送上限。-重試機(jī)制:網(wǎng)絡(luò)失敗時(shí)延遲重發(fā)。3.(15分)設(shè)計(jì)一個(gè)高可用的分布式存儲(chǔ)系統(tǒng)(如對(duì)象存儲(chǔ)),要求支持?jǐn)?shù)據(jù)備份和多地域同步。答案與解析:-架構(gòu):1.數(shù)據(jù)分片:使用MD5哈希值分片,每個(gè)分片存儲(chǔ)不同服務(wù)器。2.副本機(jī)制:每個(gè)分片3個(gè)副本(如AWSS3多區(qū)域復(fù)制)。3.一致性協(xié)議:Raft/Paxos保證數(shù)據(jù)一致性。4.多地域同步:通過CDC(ChangeDataCapture)同步數(shù)據(jù)。-技術(shù)選型:-元數(shù)據(jù)服務(wù):Etcd/ZooKeeper管理分片信息。-監(jiān)控:Prometheus+Grafana實(shí)時(shí)監(jiān)控存儲(chǔ)狀態(tài)。三、數(shù)據(jù)庫與SQL(4題,共35分)1.(7分)優(yōu)化以下SQL查詢:sqlSELECTuser_id,COUNT()ASposts_countFROMpostsWHEREcreated_atBETWEEN'2023-01-01'AND'2023-12-31'GROUPBYuser_idORDERBYposts_countDESCLIMIT100;答案與解析:-優(yōu)化方案:1.添加索引:`created_at`和`user_id`聯(lián)合索引。2.分區(qū)表:按`created_at`范圍分區(qū)(如按月)。3.限制子查詢:先篩選熱門用戶再統(tǒng)計(jì)。sqlEXPLAINSELECTuser_idFROM(SELECTuser_idFROMpostsWHEREcreated_atBETWEEN'2023-01-01'AND'2023-12-31'GROUPBYuser_idORDERBYCOUNT()DESCLIMIT100)AShot_users;2.(7分)解釋MySQL中的MVCC(多版本并發(fā)控制)原理及其適用場(chǎng)景。答案與解析:-原理:-ReadView:記錄可見性規(guī)則(事務(wù)時(shí)間線)。-SnapshotRead:隔離級(jí)別REPEATABLEREAD時(shí),使用舊版本數(shù)據(jù)。-寫入時(shí)創(chuàng)建新版本(如`REPLACE`)。-適用場(chǎng)景:金融系統(tǒng)(避免臟讀)、電商秒殺(快照隔離)。3.(8分)設(shè)計(jì)一張訂單表,要求支持事務(wù)性、高并發(fā)寫入,并說明索引設(shè)計(jì)。答案與解析:sqlCREATETABLEorders(order_idBIGINTAUTO_INCREMENTPRIMARYKEY,user_idBIGINT,product_idBIGINT,amountDECIMAL(10,2),statusTINYINT,created_atTIMESTAMPDEFAULTCURRENT_TIMESTAMP,INDEXidx_user(user_id),INDEXidx_status(status),INDEXidx_time(created_at));-事務(wù):InnoDB引擎支持ACID,設(shè)置外鍵約束。-索引:-`order_id`主鍵。-`user_id`+`status`聯(lián)合索引(查詢用戶訂單)。4.(13分)分析以下SQL的性能問題:sqlSELECTFROMordersWHEREuser_id=1000ANDamount>1000;答案與解析:-問題:1.全表掃描:無索引時(shí)逐行查找。2.離散值查詢:`user_id`范圍小但`amount`分散。-優(yōu)化:1.添加索引:`idx_user_amount(user_id,amount)`。2.分桶:按`user_id`分桶存儲(chǔ)訂單。3.估算量:先查詢總金額再過濾。四、網(wǎng)絡(luò)與系統(tǒng)(3題,共30分)1.(10分)解釋TCP三次握手過程及其在分布式事務(wù)中的應(yīng)用。答案與解析:-握手流程:1.SYN:客戶端發(fā)送隨機(jī)seq,服務(wù)端ACK+SYN。2.SYN+ACK:服務(wù)端確認(rèn),客戶端ACK。3.連接建立。-應(yīng)用:RPC(如gRPC)依賴TCP保證服務(wù)調(diào)用順序。2.(10分)設(shè)計(jì)一個(gè)秒殺系統(tǒng),要求支持排隊(duì)和防刷(如驗(yàn)證碼、IP限制)。答案與解析:-架構(gòu):1.排隊(duì):Redis有序集合存儲(chǔ)排隊(duì)用戶(如`zaddqueue100user_id`)。2.防刷:-驗(yàn)證碼:短信或圖片驗(yàn)證。-IP限制:Redis緩存每次請(qǐng)求時(shí)間戳(如`setip_lockip:timestamp`)。3.執(zhí)行:按有序集合排名分配商品。3.(10分)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江國(guó)企招聘2025中國(guó)航信校園夏季招聘200+人筆試參考題庫附帶答案詳解(3卷合一版)
- 2025福建福州市城投景尚設(shè)計(jì)有限公司社會(huì)公開招聘2名筆試參考題庫附帶答案詳解(3卷)
- 2025年山東水發(fā)高科發(fā)展集團(tuán)有限公司第三季度社會(huì)招聘筆試參考題庫附帶答案詳解(3卷)
- 2025年中國(guó)安能三局管理技術(shù)人員公開招聘(第二批)社招筆試參考題庫附帶答案詳解(3卷)
- 2025屆小米全球校園招聘啟動(dòng)(即將筆試)筆試參考題庫附帶答案詳解(3卷)
- 2025天津市武清區(qū)公開選聘京津產(chǎn)業(yè)新城有限公司領(lǐng)導(dǎo)人員2人筆試參考題庫附帶答案詳解(3卷)
- 杭州市2024浙江省國(guó)際商事法律服務(wù)中心招聘1人-統(tǒng)考筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 國(guó)家事業(yè)單位招聘2024上海海事局所屬事業(yè)單位招聘筆試歷年參考題庫典型考點(diǎn)附帶答案詳解(3卷合一)
- 店鋪分割轉(zhuǎn)租合同范本
- 期房預(yù)售合同范本詳細(xì)
- 2025超重和肥胖管理指南課件
- 武警拓展訓(xùn)練方案
- 化肥產(chǎn)品生產(chǎn)許可證實(shí)施細(xì)則(一)(復(fù)肥產(chǎn)品部分)2025
- 初中be動(dòng)詞的使用
- 婦產(chǎn)科考試試題及答案
- 光伏電站運(yùn)維人員培訓(xùn)與技能提升方案
- 安全文明施工資料管理方案
- 《國(guó)家十五五規(guī)劃綱要》全文
- GB/T 46194-2025道路車輛信息安全工程
- 2025年國(guó)考《行測(cè)》全真模擬試卷一及答案
- 國(guó)家開放大學(xué)2025年商務(wù)英語4綜合測(cè)試答案
評(píng)論
0/150
提交評(píng)論