版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2026年IT互聯(lián)網(wǎng)行業(yè)工程師崗位常見面試題詳解一、編程與算法(共5題,每題10分,總分50分)1.題目:請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),輸入一個(gè)非空字符串,返回該字符串的“旋轉(zhuǎn)字符串”所有可能的組合。例如,輸入"abc",輸出["abc","bca","cab"]。2.題目:給定一個(gè)包含重復(fù)元素的數(shù)組,請(qǐng)找出所有不重復(fù)的三元組,使得三元組的和等于一個(gè)給定的數(shù)。例如,輸入[1,-2,-5,0,2,3],和為0,輸出[(-2,0,2),(-5,1,5)]。3.題目:請(qǐng)實(shí)現(xiàn)一個(gè)LRU(最近最少使用)緩存,支持get和put操作。緩存容量為3,輸入["put","get","put","get","put","get","get"]和[1,2,3,4,5,6,7],輸出[null,-1,null,-1,null,3,4]。4.題目:請(qǐng)編寫一個(gè)函數(shù),判斷一個(gè)二叉樹是否是完全二叉樹。例如,輸入[1,2,3,4,5,6,7],輸出true。5.題目:給定一個(gè)字符串,請(qǐng)找到最長的無重復(fù)字符的子串。例如,輸入"abcabcbb",輸出"abcbb"。二、系統(tǒng)設(shè)計(jì)(共3題,每題20分,總分60分)1.題目:設(shè)計(jì)一個(gè)高并發(fā)的短鏈接生成服務(wù)。要求支持每秒百萬級(jí)別的請(qǐng)求,并保證鏈接的唯一性和快速生成。2.題目:設(shè)計(jì)一個(gè)分布式消息隊(duì)列,要求支持消息的可靠投遞、高可用和低延遲。請(qǐng)說明關(guān)鍵技術(shù)選型和實(shí)現(xiàn)思路。3.題目:設(shè)計(jì)一個(gè)高可用的微博系統(tǒng),要求支持高并發(fā)訪問、實(shí)時(shí)消息推送和用戶關(guān)系管理。三、數(shù)據(jù)庫與SQL(共3題,每題15分,總分45分)1.題目:請(qǐng)寫一個(gè)SQL查詢,找出所有入職時(shí)間比同部門其他同事晚的員工。假設(shè)表名為employees,字段包括id,name,department,hire_date。2.題目:請(qǐng)寫一個(gè)SQL查詢,統(tǒng)計(jì)每個(gè)員工的入職月份和當(dāng)月入職員工數(shù)。假設(shè)表名為employees,字段包括id,name,hire_date。3.題目:請(qǐng)解釋數(shù)據(jù)庫事務(wù)的ACID特性,并說明在什么場(chǎng)景下需要使用事務(wù)。四、網(wǎng)絡(luò)與系統(tǒng)(共4題,每題15分,總分60分)1.題目:請(qǐng)解釋TCP的三次握手過程,并說明為什么不能是兩次握手。2.題目:請(qǐng)說明HTTP和HTTPS的區(qū)別,并解釋SSL/TLS的工作原理。3.題目:請(qǐng)解釋DNS解析的過程,并說明常見的DNS優(yōu)化方法。4.題目:請(qǐng)解釋Linux中的文件系統(tǒng)布局,并說明如何查看進(jìn)程的CPU和內(nèi)存使用情況。五、項(xiàng)目與問題解決(共3題,每題20分,總分60分)1.題目:請(qǐng)描述你在過去的一個(gè)項(xiàng)目中遇到的最大的技術(shù)挑戰(zhàn),你是如何解決的?2.題目:請(qǐng)描述你在項(xiàng)目中如何進(jìn)行代碼優(yōu)化的,并舉例說明。3.題目:請(qǐng)描述你在團(tuán)隊(duì)中如何進(jìn)行溝通和協(xié)作的,并舉例說明。答案與解析一、編程與算法1.答案:pythondefrotate_string(s):ifnots:return[]n=len(s)return[s[i:]+s[:i]foriinrange(n)]測(cè)試print(rotate_string("abc"))解析:通過遍歷字符串的每個(gè)位置,將字符串分成兩部分并拼接,得到所有旋轉(zhuǎn)組合。2.答案:pythondefthree_sum(nums,target):nums.sort()result=[]foriinrange(len(nums)-2):ifi>0andnums[i]==nums[i-1]:continueleft,right=i+1,len(nums)-1whileleft<right:total=nums[i]+nums[left]+nums[right]iftotal==target:result.append([nums[i],nums[left],nums[right]])whileleft<rightandnums[left]==nums[left+1]:left+=1whileleft<rightandnums[right]==nums[right-1]:right-=1left+=1right-=1eliftotal<target:left+=1else:right-=1returnresult測(cè)試print(three_sum([1,-2,-5,0,2,3],0))解析:先排序,然后使用雙指針法,固定一個(gè)數(shù),再用左右指針找另外兩個(gè)數(shù)。3.答案:pythonclassLRUCache:def__init__(self,capacity:int):self.capacity=capacityself.cache={}self.order=[]defget(self,key:int)->int:ifkeyinself.cache:self.order.remove(key)self.order.append(key)returnself.cache[key]return-1defput(self,key:int,value:int)->None:ifkeyinself.cache:self.order.remove(key)eliflen(self.cache)==self.capacity:oldest=self.order.pop(0)delself.cache[oldest]self.cache[key]=valueself.order.append(key)測(cè)試cache=LRUCache(3)cache.put(1,1)cache.put(2,2)cache.put(3,3)print(cache.get(2))#-1cache.put(4,4)print(cache.get(1))#-1cache.put(5,5)print(cache.get(3))#3print(cache.get(4))#4解析:使用哈希表記錄緩存,雙向鏈表記錄訪問順序,實(shí)現(xiàn)LRU緩存。4.答案:pythondefis_complete_binary_tree(root):ifnotroot:returnTruequeue=[root]flag=Falsewhilequeue:node=queue.pop(0)ifnode.leftandnotnode.right:flag=Trueelifnotnode.leftandnode.right:returnFalseelifflagand(node.leftornode.right):returnFalseifnode.left:queue.append(node.left)ifnode.right:queue.append(node.right)returnTrue測(cè)試假設(shè)樹的構(gòu)建如下:1/\23/\45/6輸出應(yīng)為True解析:使用層次遍歷,判斷是否滿足完全二叉樹的特性。5.答案:pythondeflongest_unique_substring(s):char_map={}left=0max_len=0start=0forrightinrange(len(s)):ifs[right]inchar_mapandchar_map[s[right]]>=left:left=char_map[s[right]]+1char_map[s[right]]=rightifright-left+1>max_len:max_len=right-left+1start=leftreturns[start:start+max_len]測(cè)試print(longest_unique_substring("abcabcbb"))解析:使用滑動(dòng)窗口法,記錄字符的最后出現(xiàn)位置,動(dòng)態(tài)調(diào)整窗口。二、系統(tǒng)設(shè)計(jì)1.題目:設(shè)計(jì)一個(gè)高并發(fā)的短鏈接生成服務(wù)。要求支持每秒百萬級(jí)別的請(qǐng)求,并保證鏈接的唯一性和快速生成。2.題目:設(shè)計(jì)一個(gè)分布式消息隊(duì)列,要求支持消息的可靠投遞、高可用和低延遲。請(qǐng)說明關(guān)鍵技術(shù)選型和實(shí)現(xiàn)思路。3.題目:設(shè)計(jì)一個(gè)高可用的微博系統(tǒng),要求支持高并發(fā)訪問、實(shí)時(shí)消息推送和用戶關(guān)系管理。三、數(shù)據(jù)庫與SQL1.答案:sqlSELECTe1.FROMemployeese1WHERENOTEXISTS(SELECT1FROMemployeese2WHEREe1.department=e2.departmentANDe1.hire_date<e2.hire_date)解析:使用子查詢,找出每個(gè)部門中比其他員工入職時(shí)間晚的員工。2.答案:sqlSELECTMONTH(hire_date)AShire_month,COUNT()AScountFROMemployeesGROUPBYhire_monthORDERBYhire_month解析:使用MONTH函數(shù)提取入職月份,然后統(tǒng)計(jì)每個(gè)月份的員工數(shù)。3.答案:數(shù)據(jù)庫事務(wù)的ACID特性包括原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持久性(Durability)。-原子性:事務(wù)中的所有操作要么全部完成,要么全部不完成。-一致性:事務(wù)必須使數(shù)據(jù)庫從一個(gè)一致性狀態(tài)轉(zhuǎn)移到另一個(gè)一致性狀態(tài)。-隔離性:一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。-持久性:一旦事務(wù)提交,其所做的更改將永久保存在數(shù)據(jù)庫中。需要使用事務(wù)的場(chǎng)景包括:-更新多個(gè)表時(shí),需要保證數(shù)據(jù)的一致性。-在線交易處理(OLTP)系統(tǒng)中,需要保證數(shù)據(jù)的完整性和一致性。四、網(wǎng)絡(luò)與系統(tǒng)1.答案:TCP的三次握手過程如下:1.客戶端發(fā)送SYN包給服務(wù)器,請(qǐng)求建立連接。2.服務(wù)器回復(fù)SYN-ACK包給客戶端,表示同意連接。3.客戶端發(fā)送ACK包給服務(wù)器,表示連接建立成功。不能是兩次握手的原因是:-如果是兩次握手,客戶端發(fā)送的SYN包可能在網(wǎng)絡(luò)中延遲,服務(wù)器回復(fù)ACK包后,客戶端可能已經(jīng)關(guān)閉連接,導(dǎo)致服務(wù)器一直等待。-三次握手可以確??蛻舳撕头?wù)器都確認(rèn)了連接。2.答案:HTTP和HTTPS的區(qū)別:-HTTP是明文傳輸,數(shù)據(jù)在傳輸過程中可能被竊取或篡改。-HTTPS是加密傳輸,通過SSL/TLS協(xié)議對(duì)數(shù)據(jù)進(jìn)行加密,保證數(shù)據(jù)的安全。SSL/TLS的工作原理:1.客戶端發(fā)送ClientHello消息,包含支持的加密算法等。2.服務(wù)器回復(fù)ServerHello消息,選擇加密算法,并發(fā)送證書。3.客戶端驗(yàn)證服務(wù)器證書,并發(fā)送ClientKeyExchange消息。4.服務(wù)器發(fā)送ServerKeyExchange消息,完成密鑰交換。5.雙方使用協(xié)商的密鑰進(jìn)行加密通信。3.答案:DNS解析的過程:1.客戶端向本地DNS服務(wù)器發(fā)送查詢請(qǐng)求。2.本地DNS服務(wù)器檢查緩存,如果找到解析結(jié)果,直接返回。3.如果緩存中沒有,本地DNS服務(wù)器向根DNS服務(wù)器發(fā)送查詢請(qǐng)求。4.根DNS服務(wù)器返回頂級(jí)域DNS服務(wù)器的地址。5.本地DNS服務(wù)器向頂級(jí)域DNS服務(wù)器發(fā)送查詢請(qǐng)求。6.頂級(jí)域DNS服務(wù)器返回權(quán)威DNS服務(wù)器的地址。7.本地DNS服務(wù)器向權(quán)威DNS服務(wù)器發(fā)送查詢請(qǐng)求。8.權(quán)威DNS服務(wù)器返回IP地址,本地DNS服務(wù)器緩存結(jié)果并返回給客戶端。常見的DNS優(yōu)化方法:-使用CDN加速DNS解析。-使用DNS泛解析。-使用DNS緩存。4.答案:Linux中的文件系統(tǒng)布局:-/:根目錄,所有文件和目錄的父目錄。-/bin:系統(tǒng)必備的二進(jìn)制文件。-/etc:系統(tǒng)配置文件。-/home:用戶主目錄。-/var:可變文件,如日志文件、緩存文件等。-/tmp:臨時(shí)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加油站油庫員工三級(jí)安全教育考核題目(附答案)
- 2025年注安道路運(yùn)輸安全實(shí)務(wù)真題及答案解析
- 醫(yī)院感染知識(shí)培訓(xùn)試題2026(附答案)
- 2025年交通安全教育培訓(xùn)試題及答案
- 建設(shè)工程施工合同糾紛要素式起訴狀模板可直接提交法院
- 水產(chǎn)養(yǎng)殖2026年可持續(xù)發(fā)展
- 2026年數(shù)據(jù)隱私保護(hù)指南
- 消費(fèi)者洞察2026年精準(zhǔn)定位
- 藥品供應(yīng)鏈2026年優(yōu)化方案
- 房產(chǎn)營銷經(jīng)理年終總結(jié)(3篇)
- 地鐵機(jī)電(風(fēng)水電)設(shè)備維保操作手冊(cè)
- 鄉(xiāng)鎮(zhèn)污泥處理應(yīng)急預(yù)案
- 海上導(dǎo)管架安裝監(jiān)理細(xì)則
- JBT 12530.3-2015 塑料焊縫無損檢測(cè)方法 第3部分:射線檢測(cè)
- 辦公家具投標(biāo)方案(技術(shù)方案)
- 小班數(shù)學(xué)《5以內(nèi)的點(diǎn)數(shù)》課件
- GB/T 10118-2023高純鎵
- 預(yù)制箱梁架設(shè)安全技術(shù)交底
- PDCA提高臥床患者踝泵運(yùn)動(dòng)鍛煉的正確率
- YB/T 036.10-1992冶金設(shè)備制造通用技術(shù)條件鍛鋼件超聲波探傷方法
- GB/T 29890-2013糧油儲(chǔ)藏技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論