版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2026年海爾集團(tuán)技術(shù)研發(fā)工程師面試題目及解答一、技術(shù)基礎(chǔ)知識(shí)(5題,每題10分,共50分)1.題目:簡(jiǎn)述TCP三次握手過(guò)程及其作用,并說(shuō)明如果第三次握手時(shí)客戶端發(fā)送的確認(rèn)包丟失,服務(wù)器會(huì)如何處理?解答:TCP三次握手過(guò)程:1.第一次握手:客戶端向服務(wù)器發(fā)送SYN包(序列號(hào)seq=x),請(qǐng)求建立連接。2.第二次握手:服務(wù)器收到SYN包后,回復(fù)SYN+ACK包(序列號(hào)seq=y,確認(rèn)號(hào)ack=x+1),表示同意連接。3.第三次握手:客戶端收到SYN+ACK包后,發(fā)送ACK包(序列號(hào)seq=x+1,確認(rèn)號(hào)ack=y+1),完成連接建立。作用:-確保雙方均有發(fā)送和接收數(shù)據(jù)的能力。-避免歷史連接請(qǐng)求占用資源。第三次握手丟失處理:若客戶端的ACK包丟失,服務(wù)器會(huì)認(rèn)為連接請(qǐng)求未完成,超時(shí)后重發(fā)SYN+ACK包。客戶端收到重發(fā)的SYN+ACK后,仍需發(fā)送ACK包,最終完成連接。解析:該問(wèn)題考察網(wǎng)絡(luò)協(xié)議基礎(chǔ)知識(shí),需結(jié)合實(shí)際場(chǎng)景解釋協(xié)議細(xì)節(jié),體現(xiàn)對(duì)TCP連接管理的理解。2.題目:比較JWT(JSONWebToken)和Session在分布式系統(tǒng)中的應(yīng)用場(chǎng)景和優(yōu)缺點(diǎn)。解答:JWT:-應(yīng)用場(chǎng)景:微服務(wù)架構(gòu)、單點(diǎn)登錄(SSO)、跨域認(rèn)證。-優(yōu)點(diǎn):無(wú)需服務(wù)器存儲(chǔ),輕量級(jí),適合分布式系統(tǒng)。-缺點(diǎn):需要加密存儲(chǔ),過(guò)期時(shí)間固定,不適合敏感操作。Session:-應(yīng)用場(chǎng)景:傳統(tǒng)單體應(yīng)用、需要頻繁交互的場(chǎng)景。-優(yōu)點(diǎn):數(shù)據(jù)保存在服務(wù)器端,安全性高。-缺點(diǎn):難以擴(kuò)展,跨域時(shí)需配合代理或Redis緩存。解析:需結(jié)合分布式系統(tǒng)特性分析兩種認(rèn)證方式的適用性,體現(xiàn)對(duì)安全架構(gòu)的理解。3.題目:解釋LRU(LeastRecentlyUsed)緩存算法的原理,并說(shuō)明如何在Java中實(shí)現(xiàn)。解答:原理:-使用雙向鏈表和哈希表結(jié)合,鏈表記錄訪問(wèn)順序,哈希表實(shí)現(xiàn)O(1)查找。-當(dāng)訪問(wèn)元素時(shí),將其移動(dòng)到鏈表頭部;若緩存滿,刪除鏈表尾部元素。Java實(shí)現(xiàn):javaclassLRUCache<K,V>{privateMap<K,Node>map=newHashMap<>();privateNodehead,tail;privateintcapacity;classNode{Kkey;Vvalue;Nodeprev,next;}publicLRUCache(intcapacity){this.capacity=capacity;}publicVget(Kkey){Nodenode=map.get(key);if(node==null)returnnull;moveToHead(node);returnnode.value;}publicvoidput(Kkey,Vvalue){Nodenode=map.get(key);if(node!=null){node.value=value;moveToHead(node);}else{NodenewNode=newNode();newNode.key=key;newNode.value=value;map.put(key,newNode);addToHead(newNode);if(map.size()>capacity){Nodetail=removeTail();map.remove(tail.key);}}}privatevoidmoveToHead(Nodenode){removeNode(node);addToHead(node);}privatevoidaddToHead(Nodenode){node.prev=head;node.next=head.next;head.next.prev=node;head.next=node;}privateNoderemoveTail(){Noderes=tail.prev;removeNode(res);returnres;}privatevoidremoveNode(Nodenode){node.prev.next=node.next;node.next.prev=node.prev;}}解析:需結(jié)合數(shù)據(jù)結(jié)構(gòu)知識(shí)解釋緩存機(jī)制,并展示代碼實(shí)現(xiàn),體現(xiàn)工程能力。4.題目:簡(jiǎn)述多線程中的CAS(Compare-And-Swap)原理及其應(yīng)用場(chǎng)景。解答:原理:-通過(guò)“比較并交換”操作,原子地更新內(nèi)存值。-若當(dāng)前值與預(yù)期值一致,則更新為新值;否則不操作。應(yīng)用場(chǎng)景:-Java:`AtomicInteger`、`ConcurrentHashMap`。-分布式:分布式鎖、計(jì)數(shù)器。解析:需結(jié)合并發(fā)編程知識(shí)解釋CAS的原子性實(shí)現(xiàn),體現(xiàn)對(duì)分布式系統(tǒng)設(shè)計(jì)的理解。5.題目:解釋HTTP和HTTPS的區(qū)別,并說(shuō)明HTTPS握手過(guò)程。解答:區(qū)別:-HTTP:明文傳輸,易被竊聽(tīng)。-HTTPS:加密傳輸,需證書(shū)驗(yàn)證,安全性更高。HTTPS握手過(guò)程:1.ClientHello:客戶端發(fā)送支持的加密算法、隨機(jī)數(shù)等。2.ServerHello:服務(wù)器選擇算法,發(fā)送證書(shū)、隨機(jī)數(shù)等。3.證書(shū)驗(yàn)證:客戶端驗(yàn)證證書(shū)有效性。4.ClientKeyExchange:客戶端生成密鑰,加密發(fā)送給服務(wù)器。5.ServerKeyExchange:服務(wù)器解密并生成對(duì)稱(chēng)密鑰。6.Finished:雙方發(fā)送握手完成消息。解析:需結(jié)合網(wǎng)絡(luò)安全知識(shí)解釋HTTPS原理,體現(xiàn)對(duì)分布式系統(tǒng)安全設(shè)計(jì)的理解。二、系統(tǒng)設(shè)計(jì)(3題,每題20分,共60分)1.題目:設(shè)計(jì)一個(gè)高并發(fā)的短鏈接生成系統(tǒng),要求支持每日千萬(wàn)級(jí)請(qǐng)求。解答:核心思路:-分布式ID生成:使用Snowflake算法生成唯一ID。-緩存層:Redis緩存短鏈接與長(zhǎng)鏈接映射。-異步處理:Kafka異步處理請(qǐng)求,避免直接訪問(wèn)數(shù)據(jù)庫(kù)。-數(shù)據(jù)庫(kù):分庫(kù)分表存儲(chǔ)映射關(guān)系。架構(gòu)圖(文字描述):1.請(qǐng)求入口:Nginx負(fù)載均衡。2.API層:SpringCloudGateway路由請(qǐng)求。3.緩存層:Redis緩存熱點(diǎn)數(shù)據(jù)。4.異步隊(duì)列:Kafka處理請(qǐng)求,寫(xiě)入數(shù)據(jù)庫(kù)。5.數(shù)據(jù)庫(kù):MySQL分表存儲(chǔ)映射關(guān)系。代碼示例(ID生成):javapublicclassSnowflakeIdWorker{privatelongworkerId;privatelongdatacenterId;privatelongsequence=0L;privatelongtwepoch=1288834974657L;privatelongworkerIdBits=5L;privatelongdatacenterIdBits=5L;privatelongmaxWorkerId=-1L^(-1L<<workerIdBits);privatelongmaxDatacenterId=-1L^(-1L<<datacenterIdBits);privatelongsequenceBits=12L;privatelongworkerIdShift=sequenceBits;privatelongdatacenterIdShift=sequenceBits+workerIdBits;privatelongtimestampLeftShift=sequenceBits+workerIdBits+datacenterIdBits;privatelongsequenceMask=-1L^(-1L<<sequenceBits);privatelonglastTimestamp=-1L;publicSnowflakeIdWorker(longworkerId,longdatacenterId){if(workerId>maxWorkerId||workerId<0){thrownewIllegalArgumentException(String.format("workerIdcan'tbegreaterthan%dorlessthan0",maxWorkerId));}if(datacenterId>maxDatacenterId||datacenterId<0){thrownewIllegalArgumentException(String.format("datacenterIdcan'tbegreaterthan%dorlessthan0",maxDatacenterId));}this.workerId=workerId;this.datacenterId=datacenterId;}publicsynchronizedlongnextId(){longtimestamp=timeGen();if(timestamp<lastTimestamp){thrownewRuntimeException(String.format("Clockmovedbackwards.Refusingtogenerateidfor%dmilliseconds",lastTimestamp-timestamp));}if(lastTimestamp==timestamp){sequence=(sequence+1)&sequenceMask;if(sequence==0){timestamp=tilNextMillis(lastTimestamp);}}else{sequence=0L;}lastTimestamp=timestamp;return((timestamp-twepoch)<<timestampLeftShift)|(datacenterId<<datacenterIdShift)|(workerId<<workerIdShift)|sequence;}privatelongtilNextMillis(longlastTimestamp){longtimestamp=timeGen();while(timestamp<=lastTimestamp){timestamp=timeGen();}returntimestamp;}privatelongtimeGen(){returnSystem.currentTimeMillis();}}解析:需結(jié)合分布式系統(tǒng)設(shè)計(jì)原則,展示架構(gòu)和代碼細(xì)節(jié),體現(xiàn)系統(tǒng)設(shè)計(jì)能力。2.題目:設(shè)計(jì)一個(gè)高并發(fā)的秒殺系統(tǒng),要求支持每秒100萬(wàn)+請(qǐng)求,并防止超賣(mài)。解答:核心思路:-分布式鎖:Redis分布式鎖防止并發(fā)庫(kù)存扣減。-熔斷限流:Hystrix或Sentinel防止雪崩效應(yīng)。-異步扣減:Kafka異步處理訂單,避免阻塞接口。-數(shù)據(jù)庫(kù)優(yōu)化:使用樂(lè)觀鎖或行鎖扣減庫(kù)存。架構(gòu)圖(文字描述):1.請(qǐng)求入口:Nginx限流。2.秒殺服務(wù):SpringCloudGateway路由請(qǐng)求。3.分布式鎖:Redis實(shí)現(xiàn)鎖。4.異步隊(duì)列:Kafka處理訂單。5.庫(kù)存服務(wù):MySQL樂(lè)觀鎖扣減庫(kù)存。代碼示例(Redis鎖):javapublicclassRedisLock{privateJedisjedis;publicbooleantryLock(StringlockKey,StringrequestId,intexpireTime){Stringresult=jedis.set(lockKey,requestId,"NX","EX",expireTime);return"OK".equals(result);}publicbooleanreleaseLock(StringlockKey,StringrequestId){Stringscript="ifredis.call('get',KEYS[1])==ARGV[1]then"+"returnredis.call('del',KEYS[1])"+"else"+"return0"+"end";Objectresult=jedis.eval(script,Collections.singletonList(lockKey),Collections.singletonList(requestId));return"1".equals(result.toString());}}解析:需結(jié)合高并發(fā)場(chǎng)景設(shè)計(jì),展示架構(gòu)和代碼細(xì)節(jié),體現(xiàn)系統(tǒng)設(shè)計(jì)能力。3.題目:設(shè)計(jì)一個(gè)分布式任務(wù)調(diào)度系統(tǒng),要求支持定時(shí)任務(wù)、延時(shí)任務(wù),并保證可靠性。解答:核心思路:-任務(wù)存儲(chǔ):Redis或Zookeeper存儲(chǔ)任務(wù)信息。-執(zhí)行器:定時(shí)線程池執(zhí)行任務(wù)。-可靠性保證:任務(wù)執(zhí)行成功后寫(xiě)入數(shù)據(jù)庫(kù),失敗重試。-分布式協(xié)調(diào):使用分布式鎖防止任務(wù)重復(fù)執(zhí)行。架構(gòu)圖(文字描述):1.任務(wù)注冊(cè):Zookeeper存儲(chǔ)任務(wù)信息。2.調(diào)度中心:SpringTask定時(shí)掃描任務(wù)。3.執(zhí)行器:定時(shí)線程池執(zhí)行任務(wù)。4.結(jié)果存儲(chǔ):MySQL記錄任務(wù)執(zhí)行結(jié)果。代碼示例(任務(wù)注冊(cè)):javapublicclassTaskService{privateZooKeeperzk;publicvoidregisterTask(StringtaskId,StringtaskType,long
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧社區(qū)服務(wù)平臺(tái)建設(shè)方案
- 工業(yè)園區(qū)配電系統(tǒng)改造方案
- 高中電子圖書(shū)館建設(shè)方案
- 風(fēng)險(xiǎn)控制算法可解釋性研究-第3篇
- 退化林病蟲(chóng)害防治技術(shù)方案
- 照明設(shè)施安裝施工技術(shù)方案
- 燃?xì)夤こ碳夹g(shù)創(chuàng)新機(jī)制
- 雨污分流改造項(xiàng)目技術(shù)方案
- 熱力工程技術(shù)培訓(xùn)方案
- 混凝土施工模式創(chuàng)新方案
- 物業(yè)員工交通安全培訓(xùn)
- 標(biāo)準(zhǔn)化會(huì)議組織與執(zhí)行流程
- 2025年秋招機(jī)械工程師筆試真題及答案
- 碳積分交易平臺(tái)市場(chǎng)分析報(bào)告
- 半導(dǎo)體物理-課件 -第9章 半導(dǎo)體異質(zhì)結(jié)構(gòu)
- 圓柱齒輪減速機(jī)維修課件
- 國(guó)網(wǎng)培訓(xùn)課件
- 河道整治施工過(guò)程中的風(fēng)險(xiǎn)控制方案
- 2026屆高考物理一輪復(fù)習(xí)策略講座
- 儲(chǔ)備園長(zhǎng)筆試題目及答案
- 職工幫困基金管理辦法
評(píng)論
0/150
提交評(píng)論