软件工程IT公司软件开发实习报告_第1页
软件工程IT公司软件开发实习报告_第2页
软件工程IT公司软件开发实习报告_第3页
软件工程IT公司软件开发实习报告_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程IT公司软件开发实习报告一、摘要

2023年6月5日至8月22日,我在一家软件工程IT公司担任软件开发实习生,负责后端API开发与测试。核心工作成果包括完成5个模块的接口开发,累计编写并调试代码约1500行,其中3个模块通过压力测试,支持并发用户数达2000人/秒。参与团队使用敏捷开发方法,通过每日站会与CI/CD流程,将代码上线周期从3天缩短至1.5天。期间应用Java、SpringBoot、MySQL等技术栈,掌握数据库索引优化策略,使查询效率提升40%;采用JUnit单元测试框架,确保模块覆盖率超85%。提炼出可复用的微服务拆分方案,基于业务边界划分3个独立服务,并设计统一API网关。

二、实习内容及过程

实习目的是想把学校学的软件开发知识用到实际项目里,了解真实工作流程。实习单位是家做企业服务的软件公司,主要搞B2B的SaaS产品,我所在的团队负责一个电商后台系统的开发。

第1到3周,主要是熟悉项目,跟着导师看现有代码,用Git拉取代码,学习他们的代码规范和开发环境配置。导师给我安排了个小任务,就是修改一个订单状态的接口文档,需要跟产品经理沟通需求,然后更新Swagger文档,最后写单元测试用JUnit。这个过程中,我第一次接触SpringBoot的集成测试,感觉挺有意思的。

第4到6周,开始参与核心模块的开发。我负责的是商品管理相关的API,主要是用Java和MySQL。需求是开发一个批量导入商品的功能,需要支持Excel文件解析,并且有数据校验。我用了ApachePOI处理Excel,自己写了校验逻辑,比如商品编码不能重复,价格必须大于0这种。写完之后用Postman跑接口,发现有个边界条件没考虑,就是文件太大的时候会超时。我改用了流式读取,并且增加了分块处理,最后测试时能支持10万条数据导入,比之前能处理的上限5千条强不少。团队里用的CI/CD流程是Jenkins,每次提交代码都会自动测试,这让我养成了先写测试用例的习惯。

第7周遇到个挑战,是数据库查询慢的问题。某个报表功能需要查询近一个月的所有订单,但是跑起来要几分钟,影响用户使用。导师让我分析慢原因,我用了MySQL的EXPLAIN看到有个查询用了全表扫描。我加上了几个索引,比如订单表的创建时间索引,还有用户表的ID索引,调整完之后查询时间直接从3分钟降到10秒。这个经历让我明白索引优化真的很重要,特别是业务量上来之后。

第8周主要是收尾和总结,我整理了开发过程中的技术笔记,还参与写了部分技术文档。期间也用了Redis做缓存,减轻了数据库压力。总的来说,这8周学到了不少东西,比如微服务拆分,敏捷开发流程,还有怎么写健壮的代码。虽然有时候会觉得任务压力大,或者需求变动快有点懵,但确实挺锻炼人的。

在实习过程中,发现公司培训机制有点欠缺,主要是入职时给的材料太少了,很多技术细节需要自己摸索。另外岗位匹配度上,我学的后端知识用得比较多,但前端接触少,感觉对整个产品理解不够全面。如果公司能提供更系统的培训,比如安排几天前端基础培训,或者让实习生参与更多环节的讨论,可能会更好。我的建议是,可以在项目初期让实习生参与需求评审,这样能更快理解业务,而不是等到分配具体任务时才懵。

三、总结与体会

这8周在公司的经历,让我对软件开发有了更具体的认识。实习的价值在于把学校里抽象的理论,变成了实实在在的项目经验和代码。6月5日刚接手那个订单批量导入功能时,我对业务逻辑理解不深,写完单元测试就直接提交了。结果集成测试时,同事发现Excel格式不合规时,接口会抛出异常而不是友好提示。这个问题让我意识到,开发不能只埋头写代码,得站在用户和测试的角度思考。后来我调整了代码逻辑,增加了更详细的错误信息,并优化了校验流程,最终交付的版本稳定性好了不少。这种从实践中学习,再反过来改进的过程,是学校里很难体验到的。

实习也让我更清楚自己想要什么。我发现我对后端系统设计特别感兴趣,特别是微服务架构和数据库优化那部分。比如7月15日参与优化报表查询时,通过添加复合索引,把执行时间从3分钟缩短到10秒,那一刻感觉挺有成就感的。这坚定了我在校期间要深入学习分布式系统相关课程,可能明年会去考个AWS或阿里云的云服务认证,为以后求职加分。

从心态上,最大的变化是责任感。以前写代码写错了,最多是作业得分受影响;现在提交的每一个改动,都可能在生产环境运行,这种压力促使我更谨慎。比如8月2日修改商品管理接口时,为了确保兼容性,我主动去测试了旧版本的数据导入情况,虽然多花了点时间,但避免了一次潜在的线上问题。这种对结果负责的态度,是成长的关键。

看着团队用GitLab进行代码管理和CI/CD自动化部署,我感受到行业趋势确实在往DevOps和云原生发展。公司用的Redis缓存策略,还有服务网格Istio的初步探索,都让我意识到,学校教的SpringBoot、MySQL这些基础必须扎实,但也不能停止学习新技术。接下来的学习里,我会重点研究容器化技术和Serverless架构,毕竟这些已经是行业主流了。这段经历就像一个闭环,它让我明白理论要服务于实践,而实践又能反哺学习,这种良性循环正是职业成长的关键。

四、致谢

感谢公司提供这次实习机会,让我能接触到实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论