版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2025年初級軟件開發(fā)工程師面試預測題1.編程題(5題,每題20分,共100分)題目1(JavaScript基礎-數(shù)組操作)題目:請編寫一個JavaScript函數(shù)`removeDuplicates(arr)`,該函數(shù)接收一個整數(shù)數(shù)組`arr`作為參數(shù),返回一個新數(shù)組,其中包含原數(shù)組中的所有唯一元素,按原順序排列。要求不使用內置的`Set`或`filter`方法。示例:javascriptremoveDuplicates([1,2,2,3,4,4,5])//返回[1,2,3,4,5]removeDuplicates(['a','b','a','c'])//返回['a','b','c']題目2(Python基礎-字典操作)題目:請編寫一個Python函數(shù)`countWordFreq(s)`,該函數(shù)接收一個字符串`s`作為參數(shù),返回一個字典,其中鍵為字符串中的所有單詞(以空格分隔),值為每個單詞出現(xiàn)的次數(shù)。要求忽略大小寫和標點符號。示例:pythoncountWordFreq("Helloworld!Hello.")#返回{'hello':2,'world':1}題目3(Java基礎-鏈表反轉)題目:請編寫一個Java方法`reverseLinkedList(head)`,該方法接收一個單鏈表的頭節(jié)點`head`,返回反轉后的鏈表頭節(jié)點。假設鏈表節(jié)點定義如下:javaclassListNode{intval;ListNodenext;ListNode(intx){val=x;}}題目4(C++基礎-字符串替換)題目:請編寫一個C++函數(shù)`replaceSubstring(s,old,new)`,該函數(shù)接收一個字符串`s`和兩個子字符串`old`、`new`,返回一個新的字符串,其中所有`old`出現(xiàn)的位置都被`new`替換。要求使用標準庫中的`string`類。示例:cppreplaceSubstring("helloworld","o","a")//返回"hellawarld"題目5(SQL基礎-聚合查詢)題目:假設有一個名為`orders`的表,包含以下列:`id`(訂單ID),`user_id`(用戶ID),`amount`(金額),`order_date`(日期)。請編寫一條SQL查詢,返回每個用戶的總訂單金額,并按金額從高到低排序。要求使用`GROUPBY`和`ORDERBY`子句。2.算法題(4題,每題25分,共100分)題目1(遞歸與動態(tài)規(guī)劃)題目:請編寫一個函數(shù)`fib(n)`,計算第`n`個斐波那契數(shù)。要求使用動態(tài)規(guī)劃優(yōu)化時間復雜度至O(n)。示例:pythonfib(10)#返回55題目2(貪心算法)題目:給定一個整數(shù)數(shù)組`nums`和一個正整數(shù)`k`,請找到數(shù)組中最長的連續(xù)子數(shù)組,使得子數(shù)組中所有元素的和不超過`k`。返回該子數(shù)組的長度。示例:pythonmaxSubArrayLen([1,2,3,1,1],3)#返回3(子數(shù)組[1,1,1])題目3(二分查找)題目:在一個已排序的數(shù)組`nums`中,存在重復元素。請找到某個元素`target`的第一個出現(xiàn)位置。要求時間復雜度為O(logn)。示例:pythonsearchFirstOccurrence([1,2,2,4,4,4,5],4)#返回3題目4(圖算法)題目:給定一個無向圖,用鄰接矩陣表示。請編寫一個函數(shù)`detectCycle(matrix)`,判斷圖中是否存在環(huán)。要求使用深度優(yōu)先搜索(DFS)實現(xiàn)。示例:pythondetectCycle([[0,1,0,0],[1,0,1,0],[0,1,0,1],[0,0,1,0]])#返回True(存在環(huán))3.系統(tǒng)設計題(1題,50分)題目:設計一個簡單的微博關注系統(tǒng),要求滿足以下功能:1.用戶可以關注其他用戶2.用戶可以取消關注其他用戶3.用戶可以獲取自己關注的人的列表4.系統(tǒng)需要支持至少1000萬用戶的高并發(fā)訪問請簡述系統(tǒng)架構設計,包括:-關鍵數(shù)據(jù)表設計-主要接口設計-高并發(fā)解決方案-數(shù)據(jù)一致性問題4.代碼閱讀題(1題,50分)題目:閱讀以下Java代碼片段,回答問題:javapublicclassCache{privateMap<String,Object>cache=newConcurrentHashMap<>();publicObjectget(Stringkey){returncache.get(key);}publicvoidput(Stringkey,Objectvalue){cache.put(key,value);}publicvoidremove(Stringkey){cache.remove(key);}publicvoidclear(){cache.clear();}}問題:1.這個`Cache`類有什么優(yōu)點和缺點?2.如果需要支持緩存過期,應該如何修改代碼?3.這個并發(fā)緩存有什么線程安全問題?如何改進?答案編程題答案題目1(JavaScript基礎-數(shù)組操作)javascriptfunctionremoveDuplicates(arr){constresult=[];constseen={};for(constitemofarr){if(!seen[item]){result.push(item);seen[item]=true;}}returnresult;}題目2(Python基礎-字典操作)pythonimportrefromcollectionsimportdefaultdictdefcountWordFreq(s):s=re.sub(r'[^\w\s]','',s).lower()words=s.split()freq=defaultdict(int)forwordinwords:freq[word]+=1returndict(freq)題目3(Java基礎-鏈表反轉)javaclassListNode{intval;ListNodenext;ListNode(intx){val=x;}}publicListNodereverseLinkedList(ListNodehead){ListNodeprev=null;ListNodecurrent=head;while(current!=null){ListNodenextTemp=current.next;current.next=prev;prev=current;current=nextTemp;}returnprev;}題目4(C++基礎-字符串替換)cpp#include<string>#include<algorithm>std::stringreplaceSubstring(conststd::string&s,conststd::string&old,conststd::string&new_){std::stringresult=s;size_tpos=0;while((pos=result.find(old,pos))!=std::string::npos){result.replace(pos,old.length(),new_);pos+=new_.length();}returnresult;}題目5(SQL基礎-聚合查詢)sqlSELECTuser_id,SUM(amount)AStotal_amountFROMordersGROUPBYuser_idORDERBYtotal_amountDESC;算法題答案題目1(遞歸與動態(tài)規(guī)劃)pythondeffib(n):ifn<=1:returnndp=[0]*(n+1)dp[1]=1foriinrange(2,n+1):dp[i]=dp[i-1]+dp[i-2]returndp[n]題目2(貪心算法)pythondefmaxSubArrayLen(nums,k):sum_map={0:-1}current_sum=0max_len=0fori,numinenumerate(nums):current_sum+=numif(current_sum-k)insum_map:max_len=max(max_len,i-sum_map[current_sum-k])ifcurrent_sumnotinsum_map:sum_map[current_sum]=ireturnmax_len題目3(二分查找)pythondefsearchFirstOccurrence(nums,target):left,right=0,len(nums)-1result=-1whileleft<=right:mid=left+(right-left)//2ifnums[mid]==target:result=midright=mid-1elifnums[mid]<target:left=mid+1else:right=mid-1returnresult題目4(圖算法)pythondefdetectCycle(matrix):n=len(matrix)visited=[False]*ndefdfs(node,parent):ifvisited[node]:returnTruevisited[node]=Trueforneighborinrange(n):ifmatrix[node][neighbor]==1andneighbor!=parent:ifdfs(neighbor,node):returnTruereturnFalseforiinrange(n):ifnotvisited[i]:ifdfs(i,-1):returnTruereturnFalse系統(tǒng)設計題答案設計要點:1.數(shù)據(jù)表設計:-`users`表:`user_id`(主鍵),`username`,`email`,`created_at`-`follows`表:`follower_id`(外鍵),`followee_id`(外鍵),`followed_at`(主鍵復合鍵)2.主要接口設計:POST/followees/{user_id}#關注用戶DELETE/followees/{user_id}#取消關注GET/followees/{user_id}#獲取關注列表3.高并發(fā)解決方案:-使用Redis緩存用戶關注關系-數(shù)據(jù)庫讀寫分離,使用分庫分表-使用消息隊列處理關注/取消關注操作-對核心接口使用限流熔斷4.數(shù)據(jù)一致性問題:-使用分布式事務解決方案(如Seata)-保證關注關系在緩存和數(shù)據(jù)庫中的最終一致性-使用TCC模式處理跨服務操作代碼閱讀題答案問題1:優(yōu)點和缺點-優(yōu)點:-使用`ConcurrentHashMap`實現(xiàn)線程安全-簡單易用,提供基本的緩存操作-高并發(fā)下性能較好-缺點:-缺乏緩存過期機制-沒有緩存淘汰策略-并發(fā)寫操作時可能導致緩存一致性問題問題2:支持緩存過期javaimportjava.util.concurrent.ConcurrentHashMap;importjava.util.concurrent.TimeUnit;publicclassCache{privatefinalConcurrentHashMap<String,ValueWrapper>cache=newConcurrentHashMap<>();privatefinallongexpiryInMillis;publicCache(longexpiryInMillis){this.expiryInMillis=expiryInMillis;}privatestaticclassValueWrapper{Objectvalue;longexpiryTime;ValueWrapper(Objectvalue,longexpiryTime){this.value=value;thi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位資產(chǎn)盤點及保管管理制度內容
- 2025年德州科技職業(yè)學院馬克思主義基本原理概論期末考試模擬題帶答案解析(必刷)
- 河南新鄉(xiāng)封丘縣2025-2026學年第一學期期末八年級學科素養(yǎng)評估歷史試題(含答案)
- 2025年吉林職業(yè)技術學院馬克思主義基本原理概論期末考試模擬題附答案解析
- 2025年鷹潭職業(yè)技術學院單招職業(yè)傾向性考試題庫附答案解析
- 2024年苗栗縣幼兒園教師招教考試備考題庫含答案解析(奪冠)
- 2025年銅川職業(yè)技術學院單招綜合素質考試題庫帶答案解析
- 2025年天津城建大學馬克思主義基本原理概論期末考試模擬題帶答案解析(必刷)
- 2024年西北大學現(xiàn)代學院馬克思主義基本原理概論期末考試題及答案解析(必刷)
- 2025年吉林省教育學院馬克思主義基本原理概論期末考試模擬題及答案解析(必刷)
- 巷道工程清包工合同范本
- 廣西鹿寨萬強化肥有限責任公司技改擴能10萬噸-年復混肥建設項目環(huán)評報告
- 三級醫(yī)院營養(yǎng)科建設方案
- (2025年標準)彩禮收條協(xié)議書
- 賓得全站儀R-422NM使用說明書
- ASTM-D1238中文翻譯(熔融流動率、熔融指數(shù)、體積流動速率)
- 短視頻創(chuàng)作-短視頻手機拍攝與剪輯
- 2025年國家公務員考試《申論》真題及答案解析(副省級)
- 貴州省遵義市2024屆高三第三次質量監(jiān)測數(shù)學試卷(含答案)
- 江蘇省勞動合同模式
- 速凍食品安全風險管控清單
評論
0/150
提交評論