软件工程软件研发程序开发实习生实习报告_第1页
软件工程软件研发程序开发实习生实习报告_第2页
软件工程软件研发程序开发实习生实习报告_第3页
软件工程软件研发程序开发实习生实习报告_第4页
软件工程软件研发程序开发实习生实习报告_第5页
全文预览已结束

付费下载

下载本文档

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

文档简介

软件工程软件研发程序开发实习生实习报告一、摘要

2023年7月1日至2023年8月31日,我在一家科技公司担任软件研发程序开发实习生。核心工作成果包括完成3个模块的代码开发,累计提交代码量达1200行,其中包含200行自定义函数。参与重构了2个遗留系统,使系统响应时间从3.5秒优化至1.8秒。应用了Git进行版本控制,管理了5个分支,合并了8次代码冲突。通过实践掌握了敏捷开发流程,提炼出可复用的单元测试自动化方法,覆盖率达85%。验证了CI/CD工具在持续集成中的效率提升,单次构建平均耗时从45分钟缩短至25分钟。

二、实习内容及过程

2023年7月1日到8月31日,我在一家做企业软件的公司实习,岗位是软件研发程序开发实习生。主要是跟着团队做项目,学的是后端开发。

实习初期,我被分配到一个小型项目组,负责优化一个老系统的用户登录模块。系统用的是JavaSpringBoot,数据库是MySQL。当时发现登录接口响应特别慢,平均要3.5秒才能返回结果。我花了两周时间,通过加索引和改SQL查询,把响应时间缩到1.8秒。这个过程中,我用了JProfiler工具查性能瓶颈,还写了个自动化测试脚本来验证优化效果,覆盖率做到了85%。

中期参与了新项目的一个需求开发,是个电商系统的订单管理功能。用到了Redis做缓存,减轻数据库压力。刚开始写代码的时候,对缓存穿透问题没太注意,测试环境走了几次边缘案例,发现部分订单数据是空的。我赶紧学习了布隆过滤器这个方案,花了两天时间重构了缓存逻辑,上线后系统稳定性明显提升。这段经历让我明白,做开发不能只盯着功能实现,得考虑各种异常场景。

团队用的是Git管理代码,我负责维护一个功能分支,期间遇到过8次代码合并冲突,有两次还挺复杂的。一开始挺懵,后来跟着导师学了Git的rebase和cherrypick命令,效率高多了。

实习最后两周,我参与了CI/CD流程的搭建,用的是Jenkins。之前公司没这套东西,都是手动打包部署,每次更新都要等运维那边弄半天。我写了个Pipeline脚本,集成了单元测试和自动打包,单次构建从45分钟缩到25分钟,虽然不算特别夸张,但确实省了不少事。导师还夸我这点做得挺好,说以后工作肯定用得上。

遇到的最大挑战是第一次接触企业级代码库,代码量比我之前做的所有项目加起来还多,而且风格比较老旧,有些地方注释不全。一开始看代码头都大了,好几次都卡在同一个小bug上。后来我尝试用IDE的代码导航功能,结合单元测试来定位问题,还建了个笔记文档,把遇到的坑都记下来。慢慢就适应了,最后提交的代码居然没被导师驳回。

收获挺大的,不仅熟悉了敏捷开发流程,还把数据库索引、缓存设计这些知识用上了。最大的转变是认识到开发不是闭门造车,得跟测试、产品多沟通,需求细节得抠到位。比如有一次我自作主张把某个字段类型改了,结果导致前端展示错乱,被测试抓了个正着,当场就撤回了代码。这教训我记了好久。

公司管理上,我觉得培训机制有点欠缺,新人进来就是直接上项目,没人带,很多技术细节都是自己摸索的。另外岗位匹配度也有点问题,我实际做的偏测试运维方向,跟简历上写的后端开发不太一样。建议可以搞个新人培训计划,至少给个技术导师带一带。还有,团队内部可以搞点CodeReview,互相学习学习。

三、总结与体会

这8周,从2023年7月1日到8月31日,在公司的经历让我对软件工程的理解从书本跳到了现实。一开始吧,我就是个菜鸟,连Git的rebase都用不太熟练,更别提处理复杂的业务逻辑了。但跟着导师和同事们一起,我参与了两个项目的开发,代码提交记录从实习开始时的零增加到最后的1200多行,其中包含200多行我自己写的工具函数。这个数字看着简单,但每行代码背后都是查资料、写测试、改bug的功夫。

最大的收获是学会了怎么在实际项目中用敏捷开发。以前在学校做项目,需求定好了就写代码,根本不考虑后续怎么维护、怎么迭代。这次我参与的电商订单系统,需求是随时在变的,每天站会都要同步最新进展,这让我明白做软件不是一锤子买卖。我还亲手把Redis缓存引入系统,把一个慢查询接口的响应时间从3.5秒压到1.8秒,虽然不算惊天动地,但看到监控系统里的指标真的变好了,那种成就感是以前没体会过的。

实习也暴露了我的不足。比如刚开始写代码太自大了,觉得自己的想法肯定对,结果有一次把数据库字段类型改了,导致前端展示全错,被测试追着骂了好几天。后来我就学会了多问、多确认,写完代码先自己跑各种边界条件。这种心态转变比学会什么新技术更重要,毕竟职场不是一个人单打独斗。

这次经历直接影响了我的职业规划。我原来对后端开发挺执着的,现在发现自己对系统架构、性能优化这些方面更感兴趣了。接下来打算系统学学分布式、微服务相关的知识,看看能不能考个AWS或者阿里云的认证,以后求职的时候能加分。行业里现在都在说云原生、Serverless,公司这次项目也用了Redis、Jenkins,这些都是我后续要重点补的课。

从学生到职场人的感觉挺奇妙的。以前写代码就是完成任务,现在得考虑成本、考虑稳定性、考虑怎么给用户带来更好的体验。这种责任感让我觉得压力不小,但同时也更有动力了。实习最后导师跟我说,以后有机会可以多交流,我当场就记下了。这8周不仅让我学了东西,更让我明白了自己未来要走的路。

致谢

在此期间,感谢公司给我这个实习机会,让我接触到了真实的软件开发流程。特别感谢我的导师,在遇到技术难题时给予的耐心指导,比如帮我解决Redis缓存设计的问题,还有带我熟悉项目

温馨提示

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

评论

0/150

提交评论