計(jì)算機(jī)科學(xué)與技術(shù)軟件開發(fā)實(shí)習(xí)報(bào)告_第1頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)軟件開發(fā)實(shí)習(xí)報(bào)告_第2頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)軟件開發(fā)實(shí)習(xí)報(bào)告_第3頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)軟件開發(fā)實(shí)習(xí)報(bào)告_第4頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)軟件開發(fā)實(shí)習(xí)報(bào)告_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)科學(xué)與技術(shù)軟件開發(fā)實(shí)習(xí)報(bào)告一、摘要

2023年7月1日至2023年8月31日,我在一家科技公司擔(dān)任軟件開發(fā)實(shí)習(xí)生,負(fù)責(zé)參與企業(yè)級(jí)系統(tǒng)的后端開發(fā)工作。核心工作成果包括完成用戶認(rèn)證模塊的代碼重構(gòu),將接口響應(yīng)時(shí)間從850毫秒優(yōu)化至320毫秒,性能提升62%;獨(dú)立開發(fā)并測(cè)試了3個(gè)RESTfulAPI接口,支持日均2000次調(diào)用的穩(wěn)定性運(yùn)行;通過JMeter壓測(cè),驗(yàn)證系統(tǒng)在并發(fā)500用戶時(shí)的TPS達(dá)到450,錯(cuò)誤率低于0.3%。期間應(yīng)用了SpringBoot框架進(jìn)行微服務(wù)開發(fā),使用Git進(jìn)行代碼版本控制,通過Docker容器化部署提升了開發(fā)環(huán)境的復(fù)用率。提煉出的方法論包括:采用單元測(cè)試覆蓋率≥80%的代碼質(zhì)量標(biāo)準(zhǔn),以及基于日志埋點(diǎn)的線上問題定位流程,這些方法可顯著降低系統(tǒng)維護(hù)成本。

二、實(shí)習(xí)內(nèi)容及過程

實(shí)習(xí)目的主要是將學(xué)校學(xué)的理論知識(shí)跟實(shí)際工作結(jié)合,了解軟件開發(fā)在真實(shí)項(xiàng)目中的完整流程,特別是微服務(wù)架構(gòu)下的開發(fā)規(guī)范和協(xié)作方式。

實(shí)習(xí)單位是做企業(yè)級(jí)SaaS服務(wù)的,主要用JavaSpringBoot做后端,前端是React,數(shù)據(jù)存儲(chǔ)用MySQL和MongoDB,整體是分布式部署架構(gòu)。

實(shí)習(xí)期間參與了兩個(gè)項(xiàng)目。一個(gè)是用戶中心模塊的迭代開發(fā),負(fù)責(zé)認(rèn)證服務(wù)器的改造。原接口響應(yīng)慢,高峰期經(jīng)常超時(shí),我花了兩周時(shí)間優(yōu)化數(shù)據(jù)庫(kù)查詢語(yǔ)句,加緩存層,把平均響應(yīng)時(shí)間從850毫秒降到了320毫秒,測(cè)試時(shí)能看到QPS從120提升到350。另一個(gè)是幫運(yùn)維搭建監(jiān)控平臺(tái),用Prometheus+Grafana,把關(guān)鍵服務(wù)的告警閾值調(diào)優(yōu)了,讓誤報(bào)率從15%降到5%以下。

具體工作流程是每天早上站會(huì)同步進(jìn)度,下午代碼評(píng)審,晚上寫單元測(cè)試和集成測(cè)試。代碼提交前必須保證Jest覆蓋率超過80%,commitmessage得遵循GitFlow規(guī)范。印象最深的是處理一個(gè)分布式事務(wù)問題,訂單和庫(kù)存數(shù)據(jù)庫(kù)不一致,當(dāng)時(shí)系統(tǒng)并發(fā)量上到500用戶時(shí),日歷表插入延遲特別嚴(yán)重。我查了官方文檔,用2PC協(xié)議的補(bǔ)償機(jī)制,加鎖策略,最后問題解決后,壓測(cè)數(shù)據(jù)顯示事務(wù)成功率穩(wěn)定在99.2%。

困難主要是初期不熟悉業(yè)務(wù)邏輯,調(diào)試時(shí)花了較多時(shí)間。比如有一次修改權(quán)限校驗(yàn)接口,結(jié)果導(dǎo)致3個(gè)子模塊的接口都出錯(cuò)了,后來發(fā)現(xiàn)是沒看全依賴關(guān)系圖。我花了3天時(shí)間重新梳理了模塊間的調(diào)用鏈路,畫了流程圖才搞明白。為了提升效率,我開始用Postman做接口自動(dòng)化測(cè)試,寫場(chǎng)景腳本,把回歸測(cè)試時(shí)間從半天壓縮到1小時(shí)。

收獲是學(xué)會(huì)了如何用DockerCompose快速搭建開發(fā)環(huán)境,以前配置JDK、Maven、數(shù)據(jù)庫(kù)要半天,現(xiàn)在15分鐘搞定。還接觸了CI/CD流程,在Jenkins里配置了自動(dòng)構(gòu)建和部署腳本,每次commit都能快速看到測(cè)試結(jié)果。職業(yè)規(guī)劃上更明確了對(duì)微服務(wù)架構(gòu)的興趣,想深入學(xué)習(xí)SpringCloudAlibaba和分布式消息隊(duì)列的實(shí)戰(zhàn)應(yīng)用。

實(shí)習(xí)單位的管理上感覺流程有點(diǎn)亂,比如需求變更時(shí)沒人統(tǒng)一協(xié)調(diào),有時(shí)候我會(huì)接到的任務(wù)跟之前的沖突。培訓(xùn)機(jī)制也不太完善,給的新員工手冊(cè)都是理論性的,實(shí)操培訓(xùn)少。崗位匹配度上,我主要做后端開發(fā),但有時(shí)會(huì)被要求處理前端的問題,感覺技能分配不太合理。建議可以建立更規(guī)范的變更管理流程,比如用Jira做需求跟蹤,每個(gè)階段有專人負(fù)責(zé)。培訓(xùn)方面可以組織代碼走查會(huì),讓資深工程師帶新人,同時(shí)明確崗位職責(zé),比如后端只負(fù)責(zé)API和業(yè)務(wù)邏輯,前端問題交給專門的團(tuán)隊(duì)。

三、總結(jié)與體會(huì)

這八周實(shí)習(xí),從7月1號(hào)開始到8月31號(hào)結(jié)束,確實(shí)讓我收獲挺大的,感覺像是把學(xué)校里那些零散的知識(shí)點(diǎn)串聯(lián)起來了。最大的價(jià)值閉環(huán)是,我參與的認(rèn)證模塊重構(gòu)項(xiàng)目,通過引入Redis緩存和異步處理隊(duì)列,最終將接口平均響應(yīng)時(shí)間從850毫秒降到了320毫秒,這個(gè)62%的提升不是光說不練得來的,是每天對(duì)著日志、調(diào)整參數(shù)一步步測(cè)試出來的,現(xiàn)在回想起來,那種看到數(shù)據(jù)變好的感覺,就是實(shí)習(xí)價(jià)值最直接的體現(xiàn)。

職業(yè)規(guī)劃上,這次經(jīng)歷讓我更確定想往分布式系統(tǒng)方向發(fā)展了。之前在學(xué)校做項(xiàng)目,都是小打小鬧,單體應(yīng)用幾百行代碼就搞定了,但這次接觸的企業(yè)級(jí)系統(tǒng),上萬(wàn)行的代碼量,多個(gè)微服務(wù)之間復(fù)雜的交互,還有高并發(fā)下的性能調(diào)優(yōu),這些都讓我意識(shí)到自己的不足。比如有一次處理數(shù)據(jù)庫(kù)死鎖問題,花了整整一個(gè)下午分析事務(wù)隔離級(jí)別和鎖escalation,最后發(fā)現(xiàn)是查詢語(yǔ)句寫錯(cuò)了,雖然有點(diǎn)狼狽,但真的學(xué)到了不少東西?,F(xiàn)在我在想,后續(xù)學(xué)習(xí)可以重點(diǎn)補(bǔ)一下Kafka和Elasticsearch,公司用的技術(shù)棧里,消息隊(duì)列和日志分析系統(tǒng)占挺大比重,而且我注意到現(xiàn)在招聘高級(jí)后端工程師,都挺看重這些分布式組件的實(shí)戰(zhàn)經(jīng)驗(yàn)的。

行業(yè)趨勢(shì)上,我感覺微服務(wù)架構(gòu)已經(jīng)成了主流,但隨之而來的問題也很多,比如服務(wù)治理、配置中心這些,都是新的挑戰(zhàn)。我在實(shí)習(xí)中參與的監(jiān)控平臺(tái)搭建,用Prometheus和Grafana,就讓我直觀感受到,沒有完善的監(jiān)控,微服務(wù)系統(tǒng)跑起來風(fēng)險(xiǎn)太大了。而且現(xiàn)在AI這塊兒挺火的,我在看招聘jd的時(shí)候,發(fā)現(xiàn)不少公司都在招會(huì)結(jié)合AI能力的軟件工程師,比如用機(jī)器學(xué)習(xí)做智能推薦或者異常檢測(cè),感覺這塊兒是未來的大方向,我打算明年考個(gè)深度學(xué)習(xí)方向的證書,算是為后續(xù)求職加buff吧。

心態(tài)轉(zhuǎn)變上,最大的變化是責(zé)任感了。以前做課程設(shè)計(jì),完不成也沒啥大不了,但實(shí)習(xí)里寫的每一行代碼,都會(huì)影響到線上運(yùn)行,稍微有點(diǎn)問題就可能造成損失。記得有一次晚上調(diào)試一個(gè)并發(fā)問題,折騰到凌晨?jī)牲c(diǎn),最后才定位到是線程池配置參數(shù)不對(duì),雖然有點(diǎn)熬,但解決后心里特別踏實(shí)??箟耗芰σ裁黠@提升了,以前遇到難題就想找人幫忙,現(xiàn)在會(huì)先自己查資料、寫測(cè)試用例,一層層排查,感覺解決問題的能力確實(shí)上來了。這種從學(xué)生到職場(chǎng)人的心態(tài)變化,是書本學(xué)不到的,也是這次實(shí)習(xí)最寶貴的財(cái)富。

致謝

在此期間,感謝公司提供實(shí)習(xí)平臺(tái),讓我有機(jī)會(huì)接觸真實(shí)項(xiàng)目。感謝導(dǎo)師悉心指導(dǎo),特別是在微服務(wù)架構(gòu)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論