软件工程软件开发中心软件开发实习报告_第1页
软件工程软件开发中心软件开发实习报告_第2页
软件工程软件开发中心软件开发实习报告_第3页
软件工程软件开发中心软件开发实习报告_第4页
软件工程软件开发中心软件开发实习报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

软件工程软件开发中心软件开发实习报告一、摘要

2023年7月1日至2023年8月31日,我在软件工程软件开发中心担任软件开发实习生,参与XX系统后端模块开发。核心工作成果包括完成3个API接口的编码与测试,其中2个接口响应时间优化至0.5秒以内,整体系统吞吐量提升15%。应用Java和SpringBoot框架,结合Git进行版本控制,通过单元测试覆盖率达90%以上。在需求分析阶段,采用敏捷开发方法中的用户故事地图,将复杂功能拆解为12个独立任务,平均任务完成周期缩短至3天。提炼出可复用的代码重构流程,通过应用设计模式优化代码复用率至65%,为后续维护工作奠定基础。

二、实习内容及过程

1实习目的

想通过这次实习真正了解软件开发在团队里的运作方式,把学校学的那些设计模式、算法什么的,看看在实际项目里怎么用。不只是写代码,还想学学怎么跟人协作,怎么把需求变成产品。8周时间,希望能把自己锻炼得更像那么回事。

2实习单位简介

我在的软件开发中心,主要做企业级系统的开发,客户大多是那种大公司,系统复杂度高,对稳定性和性能要求特别严。团队里Java后端是主流,也有点Python和Go,技术栈挺多的。

3实习内容与过程

刚去那会儿,主要是熟悉环境,跟着导师看了之前的系统文档,了解代码结构。7月5号开始接触实际项目,是XX系统的订单模块重构。需求是优化老接口的响应速度,之前有些接口慢得离谱,动不动就两三秒。导师让我先从数据库查询入手,因为查到有慢查询日志。我用Redis做了缓存,把热点数据存进去,测试发现,原来平均0.8秒的接口,直接快到0.3秒。这让我挺有成就感,虽然只是做了个缓存,但确实解决了问题。

接着7月15号左右,开始写新接口。需求是增加订单状态的实时推送功能,客户那边要求客户端几秒内就得收到更新。一开始我考虑用轮询,但导师说太耗资源,让我学学消息队列。我就用了RabbitMQ,把订单状态变更事件丢进队列,客户端订阅消息。这样不仅客户端轻量,服务端压力也小。搞了小半个月,上线后监控显示延迟基本在1秒内,挺满意的。

整个过程里,跟着团队用Git管理代码,参与过几次CodeReview,发现自己写的代码有时候逻辑没写顺,被同事提了好几次,比如一个if条件写反了,导致测试环境一直报错。后面就注意多写注释,写完先自己测测边界情况。团队的开发流程挺规范的,需求评审、代码审查、测试都有,虽然有时候会拖慢一点进度,但确实能减少后面坑。

4实习成果与收获

8周里,我独立完成了3个API接口的开发,参与重构了2个旧接口,把它们的平均响应时间从0.8秒降到0.3秒。还实现了订单状态推送功能,通过RabbitMQ做到了低延迟。最大的收获是认识了几个同事,他们教了我不少实战技巧,比如怎么写高效的SQL,怎么用设计模式避免代码重复。以前觉得设计模式离谱,现在看那些工厂模式、策略模式,在项目中真的能省事。感觉自己的编码习惯好多了,以前写完就完,现在会想怎么让代码更易读,怎么方便后面维护。

5问题与建议

这次实习也遇到点问题。一是团队管理上,有时候需求变更比较突然,但沟通又不太及时,导致我之前写的部分代码白做了。二是培训机制,入职培训就一天,很多工具和系统都是自己摸索的,比如某个内部监控平台,花了一周才弄明白怎么用。三是岗位匹配度,我被分到后端,但其实我对前端也很有兴趣,如果能有机会接触点前端,可能会更全面。

改进建议的话,希望公司能给新实习生配个专门的导师,除了带技术,也能教教职场沟通。另外,能不能搞个在线文档,把那些常用工具的操作录个视频,省得我们总去打扰同事。要是能搞个轮岗机会,比如让我周末去前端组坐坐,就更好了。

三、总结与体会

1实习价值闭环

这8周,从7月1号到8月31号,感觉像是把学校理论和实际工作拧在了一起。刚去的时候,面对真实项目压力挺大的,特别是7月10号接手订单模块优化时,老接口慢得让人头大。通过分析慢查询日志,发现是数据库索引没做好,加上Redis缓存后,响应时间从0.8秒直接干到0.3秒,那一刻觉得挺值的。这种把问题解决、看到数据变好的感觉,是学校写作业给不了的。把需求文档里的文字,一步步变成能跑起来、客户能用上的系统,这种完整闭环的体验,让我对软件开发有了更深的理解。

2职业规划联结

这次经历让我更清楚自己想干嘛。之前觉得后端就是写写Java,现在知道要做个靠谱的开发,得懂缓存、消息队列,还得会看数据库执行计划。7月25号导师让我用RabbitMQ做推送时,我还懵,现在觉得这技能太重要了。接下来打算深挖一下分布式系统,学校那套课程太浅了,得自己找课补补。可能下一步会考个AWS或者阿里云的认证,至少得让简历看起来专业点。以前觉得工作就是写代码,现在觉得沟通、理解需求、扛住压力同样关键。这次跟测试、产品那边对接,发现很多坑是沟通不畅造成的,这比写代码还磨人。

3行业趋势展望

感觉现在行业对技术的要求越来越细,比如7月15号做的订单状态推送,直接用到了消息队列,这已经是挺主流的技术了,但不是所有学校都教得细。而且现在云原生、微服务好像成大势了,公司用的那些SpringCloud、Kubernetes,感觉学得越多越好。之前看招聘,很多岗位都要求会这个,自己会得那点Java基础就显得太浅了。这次也看到团队里有人用Go搞异步任务,效率确实高,得留心学学。行业变化快,感觉自己这8周学到的,可能过半年又有点落伍了,所以得保持这股劲儿,持续学。

4心态转变与未来行动

最大的变化可能是心态吧,以前写代码觉得对就是对,错就改。现在知道代码得考虑成本,7月20号写个查询,导师让我优化SQL,说索引太多会影响写性能,得权衡。这种全局视角是以前没有的。抗压能力也强了点,之前遇到Bug心态就炸,现在能冷静分析,比如7月30号半夜被通知接口超时,排查了网络、服务,最后发现是测试环境Redis重启了数据。这种经历多了,感觉人成熟了不少。未来肯定得继续敲代码,但会更有方向。打算把这次做的订单模块缓存和消息队列部分,整理成项目案例,争取秋招用得上。学校那套东西还是基础,但得跟实际结合,比如学算法不光是ACM,得想想怎么用在系统里。这8周让我明白,光会理论没用,得把技术跟解决实际问题结合起来,以后面试、干活才从容。

四、致谢

1

这次在软件开发中心的实习,能顺利完成,离不开不少人的帮助。感谢中心给我这个机会,让我在真实项目里摸爬滚打。

2

特别感谢我的导师,从7月1号到8月31号这8周里,耐心指导我,特别是7月10号我搞不定订单模块优化时,帮我捋清了思路。还有那些一起工作的同事,比如7月15号教我RabbitMQ消息队列的,还有帮我弄懂

温馨提示

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

评论

0/150

提交评论