版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程与科学专业XX互联网公司软件工程师实习报告一、摘要2023年7月1日至2023年8月31日,我在XX互联网公司担任软件工程师实习生,负责后端服务开发与优化。通过参与电商平台核心模块重构,将系统响应时间从平均1200ms降低至450ms,并发处理能力提升至原有3.2倍。主要运用Java语言和SpringBoot框架,结合Redis缓存技术,完成订单处理接口的微服务化改造,使接口吞吐量达到每秒8000次。采用持续集成工具Jenkins自动化部署,将部署周期从8小时压缩至30分钟。提炼出基于领域驱动设计的模块解耦方法,以及利用JMeter进行压力测试的标准化流程,可直接应用于高并发场景的架构设计。二、实习内容及过程1.实习目的去2023年7月1号到8月31号这段时间实习,主要是想看看自己学的软件工程与科学专业在实际工作里能干啥,能不能把学校里学的那些设计模式、算法优化什么的用上,顺便了解下互联网公司真实的开发流程和团队协作方式。2.实习单位简介我实习的公司是做电商平台的,用户量挺大,技术栈主要是Java、SpringBoot,还有不少微服务。团队规模不大,但节奏快,技术更新也快。3.实习内容与过程我跟着后端开发组,主要搞电商平台订单模块。7月第一周先熟悉业务,看以前的代码,导师给我发了两个月的旧需求文档,我花了4天时间才大概摸清模块结构。7月10号开始动手改一个慢查询的订单查询接口,原版用了很多JOIN,跑起来要1秒多,我改成先查Redis缓存,缓存没命中再查数据库,并加了索引优化,最后把响应时间缩到200ms以内。这个过程中用到了SpringAOP做切面统计耗时,JProfiler看了下内存泄漏问题。8月初参与重构库存扣减服务,原版是串行处理,导致高峰期超时率到30%,我改成基于Redis的分布式锁+异步更新,并发量直接翻了两番。整个过程用了两周时间在Jenkins上搭环境,配置了自动构建,每次提交代码大概能省1小时的手动部署时间。导师还教了我怎么用GitLab的CI/CD流水线,加了一些单元测试覆盖率检查,我那组提交的代码从60%提升到85%。4.实习成果与收获最明显的成果是那个订单查询接口,从1200ms降到200ms,用户反馈说加载快了。库存重构后,8月那周系统扛住了2万QPS的压力,比之前强多了。我总结了几个东西:第一是Redis缓存命中率要调到90%以上才稳,第二是微服务拆分不能只看功能,要看数据依赖,比如库存和订单最好在一个服务里。还学了点JMeter压测,跑个模拟订单创建的脚本要跑1小时才能看到瓶颈。职业规划上,我觉得后端开发真是个需要不断学的活儿,现在明白为啥要学那么多数据库和中间件了,不然真的会卡死。打算下学期补补消息队列这块,公司用Kafka但没细学。5.问题与建议有两个坎挺难跨的。一个是团队里老代码太多了,注释少,我重构接口时花了3天才搞懂业务逻辑,感觉像在考古。另一个是需求变更太频繁,有时候前一天写的代码第二天就推翻,压力挺大的。对公司来说,我觉得可以搞个代码规范文档,别老靠猜。还有是新人培训可以系统点,我刚开始时环境搭了快一周,要是有个上手手册就好了。另外,需求变更频繁可以试试看用敏捷开发的小迭代,比如一周一个最小交付包,这样开发人员不容易懵。三、总结与体会1.实习价值闭环这8周实习,感觉就像把书上学到的软件工程理论真的跑了一遍。7月1号刚进公司时,对着导师给的订单模块需求文档还是有点懵,完全不知道怎么下手。后来跟着团队把那个查询接口从1200ms优化到200ms,用Redis缓存加索引,那一刻才真切感受到《数据库系统概论》里讲的那套索引原理不是纸上谈兵。再比如,为了把库存服务改成分布式异步处理,我熬了两个通宵研究Redis事务和JMeter压测,最后看到QPS从8000飙升到26000,觉得这钱花得值。实习最后那周写的总结报告,我直接把导师教我的基于领域驱动设计的模块解耦方法用在了课程设计的电商系统中,老师还说比上次提交的方案思路清晰多了。这种学以致用,闭环了。2.职业规划联结现在看招聘JD,能明白为啥后端开发要同时懂数据库、缓存、消息队列这些东西了。公司那个用Kafka做异步通知的接口,如果我不懂消息队列的可靠性保证机制,根本没法接手。所以下学期打算去考个AWS认证,把云原生的那套也捋顺。导师还告诉我,现在后端开发真不是单纯写代码,得懂系统架构和性能调优,像那次用JProfiler定位内存泄漏,比单纯写功能强多了。我记下他的话了,准备考研的时候得多关注分布式系统和中间件这块。3.行业趋势展望在公司待的时候,感觉现在互联网开发卷得不行,但技术确实在变好。比如我们用的SpringCloudAlibaba,有些组件已经不推荐用了,明年估计要全面换成SpringCloudGateway。导师还给我看了他们内部搞的Istio流量治理方案,说微服务架构下服务治理太重要了。现在大厂好像都在搞Serverless,但感觉我这实习水平还玩不转Serverless的架构设计。所以打算下学期搞懂容器化,把Docker和K8s的实践课内容做透,不然毕业真的找不到好工作。行业在推着变,自己不主动学就得被淘汰了。4.心态转变以前在学校写代码,跑通就行,现在实习才懂什么才是好代码。导师让我重构那个订单接口时,我本来只想加个缓存,但他坚持说要用领域驱动设计把模块再拆细,还说这样未来升级系统才不容易出问题。现在想想,他教我的不仅是技术,更是做软件的责任心。每天早上开站会,听导师讲用户量又涨了多少,系统又扛住了多少QPS,突然觉得这份工作挺带劲的。有时候半夜被线上问题弄醒,虽然烦但第二天真的会想怎么把系统做得更稳。这种从学生到职场人的心态转变,挺难得的体验。四、致谢1.感谢在2023年7月1日至8月31日期间给予我实习机会的公司,让我能接触到真实的软件开发环境。2.特别感谢我的实习导师,在实习期间给予的悉心指导和耐心解答,尤其是在订单模块重构和Redis缓存应用方面的点拨,让我对高并发系统设计有了更深的理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 名班主任工作室考勤制度
- 学校员工考勤制度范本
- 公司针对个人考勤制度
- 在群里发布公司考勤制度
- 严格考勤制度打卡制度
- 学校班级防疫考勤制度
- 农业园区工人考勤制度
- 学员考勤学员考勤制度
- 乡镇社区居委会考勤制度
- 2026年农村人居环境整治试题及答案
- DB32/T 3595-2019石墨烯材料碳、氢、氮、硫、氧含量的测定元素分析仪法
- 离婚放弃协议书模板
- GB/T 1040.1-2025塑料拉伸性能的测定第1部分:总则
- 2025年湖南长沙天心城市发展集团有限公司招聘笔试参考题库附带答案详解
- 盘发培训课件
- 新22J01 工程做法图集
- 高中生干部培训
- 2025固体矿产地质调查规范1:25000
- (一模)2024~2025 学年度苏锡常镇四市高三教学情况调研(一)英语试卷
- 《运营管理 第7版》课件 马风才 第01-6章 运营管理概论- 工作系统研究
- 设计符号学现代设计语言中的符号学在建筑设计中的运用
评论
0/150
提交评论