版權(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ù)面試題及答案一、編程題(共5題,每題20分,總分100分)1.數(shù)組反轉(zhuǎn)(20分)題目:給定一個(gè)整數(shù)數(shù)組`nums`,原地反轉(zhuǎn)數(shù)組中的元素,不使用額外數(shù)組。示例:輸入`[1,2,3,4,5]`,輸出`[5,4,3,2,1]`。要求:時(shí)間復(fù)雜度O(n),空間復(fù)雜度O(1)。javapublicvoidreverse(int[]nums){intleft=0,right=nums.length-1;while(left<right){inttemp=nums[left];nums[left]=nums[right];nums[right]=temp;left++;right--;}}答案解析:-使用雙指針?lè)ǎ琡left`從數(shù)組開(kāi)頭,`right`從數(shù)組末尾開(kāi)始,交換兩個(gè)指針指向的元素,然后移動(dòng)指針直到`left>=right`。-時(shí)間復(fù)雜度:遍歷數(shù)組一次,為O(n)。-空間復(fù)雜度:只使用常數(shù)個(gè)額外變量,為O(1)。2.字符串匹配(20分)題目:實(shí)現(xiàn)`strStr()`函數(shù),查找字符串`haystack`中子串`needle`首次出現(xiàn)的位置。如果未找到,返回-1。示例:`haystack="hello"`,`needle="ll"`,返回`2`。要求:不使用庫(kù)函數(shù),時(shí)間復(fù)雜度盡可能低。javapublicintstrStr(Stringhaystack,Stringneedle){if(needle.length()==0)return0;for(inti=0;i<=haystack.length()-needle.length();i++){booleanmatch=true;for(intj=0;j<needle.length();j++){if(haystack.charAt(i+j)!=needle.charAt(j)){match=false;break;}}if(match)returni;}return-1;}答案解析:-使用暴力匹配法,遍歷`haystack`的每個(gè)位置,檢查從當(dāng)前位置開(kāi)始的子串是否與`needle`相同。-外層循環(huán)遍歷`haystack`的每個(gè)可能起始位置(最多`n-m+1`次),內(nèi)層循環(huán)比較子串是否匹配。-時(shí)間復(fù)雜度:O(nm),其中n是`haystack`長(zhǎng)度,m是`needle`長(zhǎng)度。-空間復(fù)雜度:O(1)。3.鏈表合并(20分)題目:合并兩個(gè)有序鏈表,返回合并后的有序鏈表。示例:`l1=[1,2,4]`,`l2=[1,3,4]`,返回`[1,1,2,3,4,4]`。要求:合并后鏈表仍使用原鏈表的節(jié)點(diǎn),不創(chuàng)建新節(jié)點(diǎn)。javapublicListNodemergeTwoLists(ListNodel1,ListNodel2){ListNodedummy=newListNode(0);ListNodecurrent=dummy;while(l1!=null&&l2!=null){if(l1.val<=l2.val){current.next=l1;l1=l1.next;}else{current.next=l2;l2=l2.next;}current=current.next;}if(l1!=null)current.next=l1;if(l2!=null)current.next=l2;returndummy.next;}答案解析:-使用虛擬頭節(jié)點(diǎn)`dummy`簡(jiǎn)化邊界處理。-比較`l1`和`l2`的當(dāng)前節(jié)點(diǎn)值,將較小的節(jié)點(diǎn)接到`current`的`next`,并移動(dòng)對(duì)應(yīng)的指針。-時(shí)間復(fù)雜度:O(n+m),n和m分別是兩個(gè)鏈表的長(zhǎng)度。-空間復(fù)雜度:O(1)。4.遞歸求階乘(20分)題目:實(shí)現(xiàn)一個(gè)遞歸函數(shù)計(jì)算`n`的階乘(`n>=0`)。示例:`n=5`,返回`120`。要求:不使用迭代或庫(kù)函數(shù)。javapublicintfactorial(intn){if(n==0)return1;returnnfactorial(n-1);}答案解析:-階乘的定義:`n!=n(n-1)!`,遞歸基為`0!=1`。-遞歸深度為`n`,若`n`較大可能棧溢出,但美團(tuán)面試中`n`通常較?。ㄈ鏯n<=100`)。-時(shí)間復(fù)雜度:O(n)。-空間復(fù)雜度:O(n),因遞歸調(diào)用棧深度為n。5.動(dòng)態(tài)規(guī)劃(20分)題目:給定一個(gè)數(shù)組`nums`,返回其中最長(zhǎng)不重復(fù)子串的長(zhǎng)度。示例:`nums=[1,2,0,1,2,3]`,返回`4`(子串`[0,1,2,3]`)。要求:不使用額外空間。javapublicintlengthOfLongestSubstring(int[]nums){int[]last=newint[256];//存儲(chǔ)每個(gè)字符最后出現(xiàn)的位置Arrays.fill(last,-1);intmaxLen=0,start=0;for(inti=0;i<nums.length;i++){if(last[nums[i]]>=start){start=last[nums[i]]+1;}last[nums[i]]=i;maxLen=Math.max(maxLen,i-start+1);}returnmaxLen;}答案解析:-使用滑動(dòng)窗口技術(shù),`start`表示當(dāng)前子串的起始位置,`maxLen`記錄最大長(zhǎng)度。-`last`數(shù)組記錄每個(gè)字符最后出現(xiàn)的位置,若當(dāng)前字符`nums[i]`之前已出現(xiàn)且位置在`start`之后,則更新`start`為該字符上次出現(xiàn)位置加1。-時(shí)間復(fù)雜度:O(n),遍歷數(shù)組一次。-空間復(fù)雜度:O(1),`last`數(shù)組大小固定(256個(gè)ASCII字符)。二、系統(tǒng)設(shè)計(jì)題(共3題,每題30分,總分90分)1.高并發(fā)短鏈接服務(wù)設(shè)計(jì)(30分)題目:設(shè)計(jì)一個(gè)高并發(fā)的短鏈接服務(wù)(如`tinyurl`),要求:-支持秒級(jí)生成和解析短鏈接。-高并發(fā)下(QPS>10萬(wàn))穩(wěn)定運(yùn)行。-支持自定義短鏈接前綴(如`http://meituan短鏈接/`)。-具備一定的安全性(如防止惡意跳轉(zhuǎn))。設(shè)計(jì)思路:1.短鏈接生成:-使用哈希算法(如SHA-256)對(duì)原始URL進(jìn)行哈希,取前6位作為短碼。-為避免沖突,可增加重試機(jī)制或自增序列。-支持自定義前綴,通過(guò)配置區(qū)分不同業(yè)務(wù)域名。2.存儲(chǔ)層:-使用Redis(單機(jī)或集群)存儲(chǔ)短碼與原始URL的映射,支持高并發(fā)讀寫(xiě)。-Key:`url:shortcode`,Value:原始URL,過(guò)期時(shí)間(如24小時(shí))。3.高并發(fā)處理:-使用Nginx或HAProxy做負(fù)載均衡,分發(fā)請(qǐng)求到多個(gè)后端服務(wù)。-后端服務(wù)使用無(wú)狀態(tài)架構(gòu),便于水平擴(kuò)展。4.安全性:-防止重定向攻擊:校驗(yàn)短鏈接域名是否為白名單。-防止URL篡改:客戶端使用HTTPS請(qǐng)求,服務(wù)端校驗(yàn)簽名。5.監(jiān)控與告警:-使用Prometheus監(jiān)控QPS、錯(cuò)誤率,設(shè)置告警閾值。答案解析:-關(guān)鍵點(diǎn):短碼生成、高并發(fā)存儲(chǔ)、負(fù)載均衡、安全性。-技術(shù)選型合理性:Redis高并發(fā)讀寫(xiě)、Nginx負(fù)載均衡。-擴(kuò)展性考慮:支持自定義前綴、水平擴(kuò)展。2.地域化推薦系統(tǒng)設(shè)計(jì)(30分)題目:設(shè)計(jì)一個(gè)針對(duì)中國(guó)地區(qū)的個(gè)性化推薦系統(tǒng)(如美團(tuán)外賣(mài)),要求:-考慮地域(如北京、上海)、時(shí)間(如午高峰)、用戶歷史行為。-排除本地已下架或不符合當(dāng)?shù)乜谖兜纳碳摇?實(shí)時(shí)更新推薦結(jié)果(如30秒內(nèi))。設(shè)計(jì)思路:1.數(shù)據(jù)采集:-用戶行為:點(diǎn)擊、下單、收藏、評(píng)價(jià)(實(shí)時(shí)寫(xiě)入Kafka)。-商家數(shù)據(jù):地理位置(經(jīng)緯度)、品類(lèi)、評(píng)分(存儲(chǔ)在MySQL+Redis)。2.推薦邏輯:-用戶ID+地域(通過(guò)IP或用戶設(shè)置)作為推薦入口。-結(jié)合協(xié)同過(guò)濾(CF)、內(nèi)容推薦(CB)和基于場(chǎng)景的推薦(如午高峰推薦快餐)。-使用向量召回(如LambdaMART、DeepFM)篩選候選集,再通過(guò)排序模型(如LR、LambdaMART)打分。3.地域化處理:-商家數(shù)據(jù)加入地域標(biāo)簽,如“北京-快餐”。-使用GeoHash對(duì)地理位置進(jìn)行索引,快速篩選本地商家。4.實(shí)時(shí)性優(yōu)化:-用戶行為實(shí)時(shí)計(jì)算推薦(Flink或SparkStreaming)。-商家下架或評(píng)分更新后,通過(guò)Redis緩存異步更新。答案解析:-關(guān)鍵點(diǎn):地域化、實(shí)時(shí)性、多樣性。-技術(shù)選型合理性:Kafka實(shí)時(shí)采集、Redis緩存、SparkStreaming實(shí)時(shí)計(jì)算。-業(yè)務(wù)場(chǎng)景貼合:午高峰、本地口味排除。3.美團(tuán)外賣(mài)訂單超時(shí)重派單系統(tǒng)設(shè)計(jì)(30分)題目:設(shè)計(jì)一個(gè)外賣(mài)訂單超時(shí)重派單系統(tǒng),要求:-檢測(cè)騎手超時(shí)后自動(dòng)觸發(fā)重派單。-優(yōu)先分配給距離商家最近且騎手空閑的騎手。-避免頻繁重派導(dǎo)致用戶體驗(yàn)下降。設(shè)計(jì)思路:1.超時(shí)檢測(cè):-訂單狀態(tài)(待接單、派單中)超時(shí)(如30分鐘)后,系統(tǒng)自動(dòng)標(biāo)記為“可重派”。-使用定時(shí)任務(wù)(如Cron)或消息隊(duì)列(Kafka)觸發(fā)檢測(cè)。2.騎手選擇:-使用GeoHash將訂單和騎手位置映射到網(wǎng)格,快速查找附近空閑騎手。-優(yōu)先級(jí):距離近+騎手評(píng)分高+排班狀態(tài)匹配。3.防
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 質(zhì)量管理體系執(zhí)行手冊(cè)
- 企業(yè)戰(zhàn)略規(guī)劃與執(zhí)行力手冊(cè)
- 文化藝術(shù)場(chǎng)館運(yùn)營(yíng)與管理規(guī)范
- 企業(yè)企業(yè)采購(gòu)管理與供應(yīng)鏈管理手冊(cè)(標(biāo)準(zhǔn)版)
- 國(guó)通語(yǔ)培訓(xùn)教師管理制度
- 保安培訓(xùn)模擬交接班制度
- 校外培訓(xùn)機(jī)構(gòu)制度
- 醫(yī)院人才管理培訓(xùn)制度
- 無(wú)公害養(yǎng)殖人員培訓(xùn)制度
- 2025年企業(yè)產(chǎn)品研發(fā)創(chuàng)新手冊(cè)
- 十五五規(guī)劃綱要解讀:循環(huán)經(jīng)濟(jì)模式推廣
- 2026年殘疾人聯(lián)合會(huì)就業(yè)服務(wù)崗招聘筆試適配題含答案
- 2026年山西警官職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考題庫(kù)帶答案解析
- 2026年農(nóng)夫山泉-AI-面試題目及答案
- 2026凱翼汽車(chē)全球校園招聘(公共基礎(chǔ)知識(shí))綜合能力測(cè)試題附答案
- 山東省威海市環(huán)翠區(qū)2024-2025學(xué)年一年級(jí)上學(xué)期1月期末數(shù)學(xué)試題
- 2025年手術(shù)室護(hù)理實(shí)踐指南知識(shí)考核試題及答案
- 外貿(mào)公司采購(gòu)專(zhuān)員績(jī)效考核表
- 彩禮分期合同范本
- 胸腺瘤伴重癥肌無(wú)力課件
- 十五五安全生產(chǎn)規(guī)劃思路
評(píng)論
0/150
提交評(píng)論