




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2025年京東集團(tuán)校招面試題與答案一、編程題(3題,每題15分)題目1(15分)問題描述:實現(xiàn)一個函數(shù),輸入一個字符串,返回該字符串中所有唯一字符的集合。例如,輸入"leetcode",返回['l','t','c','d','e']。要求:1.時間復(fù)雜度O(n)2.空間復(fù)雜度O(1)pythondefunique_characters(s):#你的代碼答案:pythondefunique_characters(s):ifnots:return[]char_set=set()seen=set()forcharins:ifcharnotinseen:seen.add(char)char_set.add(char)returnlist(char_set)題目2(15分)問題描述:實現(xiàn)一個函數(shù),輸入一個整數(shù)數(shù)組,返回該數(shù)組中的最長連續(xù)遞增子序列的長度。例如,輸入[1,3,5,4,7],返回3(最長遞增子序列是[1,3,5]或[4,7])。要求:1.時間復(fù)雜度O(n)2.空間復(fù)雜度O(1)pythondeflongest_consecutive_increasing(nums):#你的代碼答案:pythondeflongest_consecutive_increasing(nums):ifnotnums:return0max_len=1current_len=1foriinrange(1,len(nums)):ifnums[i]>nums[i-1]:current_len+=1max_len=max(max_len,current_len)else:current_len=1returnmax_len題目3(15分)問題描述:實現(xiàn)一個函數(shù),輸入一個字符串,返回該字符串的所有子集。例如,輸入"abc",返回[[],['a'],['b'],['c'],['a','b'],['a','c'],['b','c'],['a','b','c']]。要求:1.時間復(fù)雜度O(2^n)2.空間復(fù)雜度O(n)pythondefsubsets(s):#你的代碼答案:pythondefsubsets(s):result=[[]]forcharins:new_subsets=[]forsubsetinresult:new_subsets.append(subset+[char])result.extend(new_subsets)returnresult二、算法題(4題,每題20分)題目1(20分)問題描述:給定一個正整數(shù)n,判斷它是否是一個完全平方數(shù)。如果是,返回它的平方根;如果不是,返回-1。例如,輸入16,返回4;輸入14,返回-1。要求:1.不使用庫函數(shù)2.時間復(fù)雜度O(√n)pythondefsqrt(n):#你的代碼答案:pythondefsqrt(n):ifn<2:returnnleft,right=1,n//2whileleft<=right:mid=(left+right)//2square=mid*midifsquare==n:returnmidelifsquare<n:left=mid+1else:right=mid-1return-1題目2(20分)問題描述:給定一個字符串,找到不重復(fù)的最長子串的長度。例如,輸入"abcabcbb",返回3(最長子串是"abc")。要求:1.時間復(fù)雜度O(n)2.空間復(fù)雜度O(min(m,n))pythondeflength_of_longest_substring(s):#你的代碼答案:pythondeflength_of_longest_substring(s):char_map={}left=0max_len=0forrightinrange(len(s)):ifs[right]inchar_map:left=max(left,char_map[s[right]]+1)char_map[s[right]]=rightmax_len=max(max_len,right-left+1)returnmax_len題目3(20分)問題描述:實現(xiàn)一個函數(shù),輸入一個正整數(shù)n,返回它的二進(jìn)制表示中1的個數(shù)。例如,輸入9(1001),返回2。要求:1.不使用庫函數(shù)2.時間復(fù)雜度O(logn)pythondefcount_bits(n):#你的代碼答案:pythondefcount_bits(n):count=0whilen:count+=n&1n>>=1returncount題目4(20分)問題描述:給定一個鏈表,刪除鏈表中的所有重復(fù)元素,返回處理后的鏈表。例如,輸入1->2->3->3->4->4->5,返回1->2->3->4->5。要求:1.不使用額外空間2.時間復(fù)雜度O(n)python#定義鏈表節(jié)點classListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdefdelete_duplicates(head):#你的代碼答案:pythondefdelete_duplicates(head):current=headwhilecurrent:whilecurrent.nextandcurrent.val==current.next.val:current.next=current.next.nextcurrent=current.nextreturnhead三、系統(tǒng)設(shè)計題(2題,每題25分)題目1(25分)問題描述:設(shè)計一個簡單的微博系統(tǒng),需要支持以下功能:1.用戶發(fā)布微博2.用戶關(guān)注其他用戶3.用戶查看自己關(guān)注的人的最新微博要求:1.描述系統(tǒng)架構(gòu)2.說明數(shù)據(jù)存儲方案3.估算系統(tǒng)容量答案:系統(tǒng)架構(gòu):1.前端:用戶界面,使用React或Vue實現(xiàn)2.后端:API服務(wù),使用SpringBoot或Node.js實現(xiàn)3.數(shù)據(jù)庫:MySQL或MongoDB存儲用戶和微博數(shù)據(jù)4.緩存:Redis緩存熱點數(shù)據(jù),提高查詢效率5.消息隊列:Kafka或RabbitMQ處理異步任務(wù),如通知數(shù)據(jù)存儲方案:1.用戶表:存儲用戶基本信息(id,username,password,follow_list)2.微博表:存儲微博內(nèi)容(id,user_id,content,timestamp)3.關(guān)注關(guān)系表:存儲用戶關(guān)注關(guān)系(follower_id,followee_id)4.索引:為user_id和timestamp建立索引,提高查詢效率系統(tǒng)容量估算:1.假設(shè)每天有100萬用戶發(fā)布1000萬條微博2.每條微博平均100字,占用1KB存儲空間3.微博表需要存儲1000萬條數(shù)據(jù),約1GB4.用戶表需要存儲100萬條數(shù)據(jù),約100MB5.關(guān)注關(guān)系表需要存儲1億條關(guān)系,約100MB6.每天寫入1000萬條微博,需要1000MB/s寫入能力7.查詢熱點數(shù)據(jù)需要100萬次/s查詢能力題目2(25分)問題描述:設(shè)計一個短鏈接系統(tǒng),需要支持以下功能:1.用戶輸入長鏈接,系統(tǒng)生成短鏈接2.用戶通過短鏈接訪問,系統(tǒng)解析為長鏈接3.系統(tǒng)統(tǒng)計短鏈接的訪問次數(shù)要求:1.描述系統(tǒng)架構(gòu)2.說明數(shù)據(jù)存儲方案3.估算系統(tǒng)性能指標(biāo)答案:系統(tǒng)架構(gòu):1.前端:用戶界面,使用HTML/CSS/JavaScript實現(xiàn)2.后端:API服務(wù),使用Go或Java實現(xiàn)3.數(shù)據(jù)庫:Redis存儲短鏈接映射關(guān)系(short_url,long_url,visit_count)4.分布式緩存:使用多個Redis實例提高并發(fā)能力5.負(fù)載均衡:使用Nginx或HAProxy分發(fā)請求數(shù)據(jù)存儲方案:1.短鏈接映射表:存儲短鏈接和長鏈接的映射關(guān)系(short_url,long_url,visit_count)2.索引:為short_url建立索引,提高查詢效率3.數(shù)據(jù)結(jié)構(gòu):使用Hash結(jié)構(gòu)存儲,提高讀寫速度系統(tǒng)性能指標(biāo)估算:1.假設(shè)每天有1000萬次短鏈接訪問2.每次訪問需要查詢Redis,寫入訪問次數(shù)3.Redis單實例QPS:100萬次/s4.需要至少10個Redis實例處理并發(fā)請求5.短鏈接生成算法:使用Base62編碼,每60位短鏈接可以覆蓋1萬億個鏈接6.響應(yīng)時間:要求小于100ms7.存儲容量:每天寫入1000萬條數(shù)據(jù),約100MB四、數(shù)據(jù)庫題(3題,每題15分)題目1(15分)問題描述:設(shè)計一個簡單的電商訂單表,需要包含以下字段:1.訂單ID(主鍵)2.用戶ID3.商品ID4.訂單金額5.訂單狀態(tài)6.創(chuàng)建時間要求:1.定義表結(jié)構(gòu)2.說明索引設(shè)計答案:表結(jié)構(gòu):sqlCREATETABLEorders(order_idBIGINTAUTO_INCREMENTPRIMARYKEY,user_idBIGINTNOTNULL,product_idBIGINTNOTNULL,amountDECIMAL(10,2)NOTNULL,statusVARCHAR(20)NOTNULLDEFAULT'pending',created_atTIMESTAMPDEFAULTCURRENT_TIMESTAMP);索引設(shè)計:1.主鍵索引:order_id2.聯(lián)合索引:user_id,status(用于查詢用戶的訂單狀態(tài))3.單獨索引:product_id(用于查詢商品訂單)題題2(15分)問題描述:假設(shè)有一個學(xué)生表students和課程表courses,學(xué)生表包含學(xué)生ID和姓名,課程表包含課程ID和課程名稱。請寫SQL查詢語句,找出選修了至少3門課程的學(xué)生姓名。要求:1.編寫SQL查詢語句2.解釋查詢邏輯答案:SQL查詢語句:sqlSELECTFROMstudentssJOIN(SELECTstudent_idFROMcoursesGROUPBYstudent_idHAVINGCOUNT(*)>=3)cONs.id=c.student_id;查詢邏輯:1.子查詢:從課程表中按學(xué)生ID分組,篩選出選修至少3門課程的學(xué)生2.主查詢:將子查詢結(jié)果與學(xué)生表連接,獲取學(xué)生姓名題目3(15分)問題描述:假設(shè)有一個訂單表orders,包含訂單ID、用戶ID和訂單金額。請寫SQL查詢語句,找出每個用戶的平均訂單金額,并按平均金額從高到低排序。要求:1.編寫SQL查詢語句2.解釋查詢邏輯答案:SQL查詢語句:sqlSELECTuser_id,AVG(amount)ASavg_amountFROMordersGROUPBYuser_idORDERBYavg_amountDESC;查詢邏輯:1.按用戶ID分組2.計算每個用戶的平均訂單金額3.按平均金額降序排序五、綜合題(2題,每題25分)題目1(25分)問題描述:京東物流需要設(shè)計一個智能調(diào)度系統(tǒng),需要考慮以下因素:1.車輛容量限制2.訂單距離3.訂單時效要求4.車輛路線優(yōu)化要求:1.描述系統(tǒng)設(shè)計思路2.說明關(guān)鍵算法3.估算系統(tǒng)性能答案:系統(tǒng)設(shè)計思路:1.前端:調(diào)度員界面,可視化展示訂單和車輛狀態(tài)2.后端:調(diào)度算法服務(wù),使用Python或Java實現(xiàn)3.數(shù)據(jù)庫:MySQL存儲訂單信息(id,location,weight,deadline)4.地圖服務(wù):使用高德地圖或百度地圖API計算距離5.消息隊列:Kafka處理訂單請求關(guān)鍵算法:1.車輛路徑問題(VRP):使用遺傳算法或模擬退火算法優(yōu)化路線2.訂單分配:使用貪心算法或動態(tài)規(guī)劃分配訂單到車輛3.實時調(diào)度:使用多線程或異步處理實時訂單系統(tǒng)性能估算:1.假設(shè)有100輛車,每輛車每次可處理10個訂單2.每秒有1000個訂單請求3.需要至少10個調(diào)度算法服務(wù)實例處理并發(fā)請求4.調(diào)度算法響應(yīng)時間:要求小于500ms5.系統(tǒng)吞吐量:每秒處理1000個訂單題目2(25分)問題描述:京東金融需要設(shè)計一個風(fēng)險評估系統(tǒng),需要考慮以下因素:1.用戶信用歷史2.賬戶交易行為3.貸款申請信息4.風(fēng)險模型要求:1.描述系統(tǒng)設(shè)計思路2.說明關(guān)鍵算法3.估算系統(tǒng)性能答案:系統(tǒng)設(shè)計思路:1.前端:風(fēng)險評估界面,展示風(fēng)險評分和建議2.后端:風(fēng)險評估服務(wù),使用Python或Java實現(xiàn)3.數(shù)據(jù)庫:MongoDB存儲用戶數(shù)據(jù)(id,credit_score,transaction_history,loan_appl
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湖南長沙市開福區(qū)公開招聘教師140人模擬試卷及答案詳解(易錯題)
- 公司彩畫作文物修復(fù)師基礎(chǔ)考核試卷及答案
- 公司化工結(jié)晶工效率提升考核試卷及答案
- 施工過程中的質(zhì)量保證方案
- 建筑拆除廢料處置技術(shù)方案
- 公司印品整飾工設(shè)備調(diào)試考核試卷及答案
- 城市更新中的智慧城市規(guī)劃與設(shè)計
- 橋梁基礎(chǔ)沉降控制與治理方案
- 2025廣東惠州市博羅縣招聘編制教師143人考前自測高頻考點模擬試題參考答案詳解
- 生活污水管網(wǎng)綜合整治工程建筑工程方案
- 2025年國家電網(wǎng)《安規(guī)》考試判斷題庫及答案
- 2025上海美術(shù)館招聘6人備考考試題庫附答案解析
- 檢驗科二級生物實驗室匯報
- 365天艾斯賓浩記憶表格(打印版-背專業(yè)課)
- 《名著閱讀 艾青詩選》核心素養(yǎng)課件1(第3課時)
- DB14-T 2779-2023 營造林工程監(jiān)理規(guī)范
- 污水處理廠污泥處理處置投標(biāo)方案
- 手機(jī)媒體概論(自考14237)復(fù)習(xí)必備題庫(含真題、典型題)
- 陪診師資格考試復(fù)習(xí)題庫寶典(含答案)
- 中美關(guān)系新時代
- GB/T 17622-2008帶電作業(yè)用絕緣手套
評論
0/150
提交評論