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

下载本文档

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

文档简介

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

2023年7月1日至2023年8月31日,我在一家科技公司担任软件开发程序员实习生,主要负责后端系统开发与优化。核心工作成果包括完成3个模块的代码重构,使系统响应速度提升30%,并独立设计并实现了一个自动化测试脚本,将单元测试覆盖率从60%提升至85%。期间应用Java、Python及SpringBoot技术栈,通过编写高效SQL查询将数据库查询效率提高20%。提炼出的可复用方法论包括:采用敏捷开发模式结合每日站会快速响应需求变更,通过代码审查制度确保代码质量与可维护性。这些实践验证了技术选型对项目性能的直接影响,为后续开发工作提供了可量化的参考依据。

二、实习内容及过程

1.实习目的

主要是想看看自己学的软件工程知识在实际工作里能咋样,摸摸真实的开发流程,顺便积累点项目经验,看看自己到底喜欢这行不。

2.实习单位简介

在一家做企业服务的公司实习,主要是做B2B的SaaS产品,技术栈以Java和前端框架为主,后端用SpringBoot,数据库是MySQL和MongoDB,整体挺标准的互联网公司样子。

3.实习内容与过程

第一周主要是熟悉项目,跟着导师看现有代码,了解系统的架构设计,主要是微服务那种,各个模块之间用RESTfulAPI通信。第二周开始接手一个小功能,是个用户权限管理模块,需求是让不同角色的用户能看到自己该看的数据。花了两三天梳理了现有权限逻辑,发现有些接口权限控制写得很乱,有些地方还重复校验了。导师建议用RBAC模型重新设计一下,我就在这个基础上动手改,用到了SpringSecurity框架,搞了半天终于弄通。后来又花了五天把代码写完,提交测试的时候发现还有个边缘情况没考虑到,权限还是有点问题,改了三次才过。这个过程让我挺难受的,但后来慢慢习惯了,意识到做开发真的得把细节抠到位。

中间还参与了另一个项目,是个报表生成工具,需要把数据库里的数据转成可视化图表。我负责后端数据接口部分,用Python写了个脚本,每天凌晨跑一次,把数据整理成JSON格式给前端用。因为数据量有点大,一开始效率很低,卡半天才跑完,后来我用了多线程,把查询分批次处理,时间直接砍掉了一半多。这让我意识到性能优化有时候真不是瞎加缓存那么简单,得看具体场景。

4.实习成果与收获

最大的成果就是那个权限模块改完了,测试覆盖率做到了85%,上线后没出什么大问题。报表工具也稳定运行了,老板还夸效率高。收获就是学到了不少东西,比如怎么用SpringSecurity做权限控制,怎么用微服务架构设计系统,还有就是写代码得注意日志记录,不然bug找起来真要命。最直观的感受是,学校里学的理论跟真写代码还是差得远,很多细节都没讲到,比如数据库索引怎么用,内存优化要注意啥。

这次遇到的最大挑战是那个权限模块,一开始完全没搞懂之前的逻辑,改起来头都大了。后来我跑去问了导师,他给我画了张时序图,还推荐了我一本《Java并发编程实战》,里面关于线程安全的部分帮了大忙。还有就是那个报表工具的性能问题,我一开始想用缓存,但数据实时性要求高,最后还是多线程解决了。学到了不少新技术,比如Python的threading库,还有数据库分批查询的技巧。

这段经历让我对职业规划有点想法了,感觉后端开发还是挺有意思的,特别是系统架构这块,以后想往这个方向发展,得继续补补分布式、消息队列这些知识。

5.问题与建议

实习单位的管理确实有点问题,比如需求变更特别频繁,有时候前一天刚写的代码第二天就得推翻重做,这让我有点焦虑。而且培训机制也不太行,刚来的时候没给多少资料,全靠导师带着,要是能有个完善的入职培训手册就好了。岗位匹配度上,我觉得我可以负责点更核心的模块,现在分配的任务还是有点基础,学不到啥关键技术。

我建议公司可以搞个需求评审会,让开发早点参与进来,避免后期频繁改需求。另外可以给新人配个导师手册,写清楚项目背景、技术栈和开发规范,这样上手快多了。最好能让我接触点更复杂的模块,比如数据库优化或者中间件配置,现在感觉进步有点慢。

三、总结与体会

1.实习价值闭环

这八周实习像给我装了个实践引擎。从7月1日刚开始懵懵懂懂,对着陌生的代码库不知道咋下手,到8月31日能独立完成模块开发并看到它提升系统性能30%这样的具体数据,感觉收获特别实在。实习的价值就在于把学校里那些抽象的概念,比如微服务、数据库索引优化,都变成了我能亲手操作、量化的东西。比如我设计的那个自动化测试脚本,把单元测试覆盖率从60%拉到85%,这个85%不是纸面上的数字,是实实在在减少了我后面调试的时间,这让我觉得自己的工作有了真实的价值。导师也跟我说,代码写得怎么样,最终就看这能不能解决问题,能不能带来效益。我这八周的工作,算是把这个标准刻进了脑子里。

2.职业规划联结

这段经历直接影响了我的职业想法。之前我对后端开发、前端开发都挺好奇的,现在感觉后端特别是系统架构这块更吸引我。实习中接触到的分布式系统设计、高并发处理这些,让我觉得很有挑战性。比如我们那个报表工具性能优化,用多线程解决数据量大导致的卡顿,这个过程让我意识到技术深度的重要性。我现在打算下学期把《分布式系统》这门课的重点再学一遍,顺便去考个AWS或者阿里云的云服务认证,感觉有这些技能傍身,以后求职会更有底气。而且实习让我明白了,学校里学的知识只是基础,真要干好这行,还得持续学习行业最新的技术栈,比如那个SpringSecurity的用法,如果不是专门去查文档,可能我还真不知道怎么用好它。

3.行业趋势展望

通过实习,我也感觉到了一些行业的变化。现在企业对系统的要求越来越高,以前可能单点访问量几万就够,现在动不动就几百万上千万,这对后端架构提出了很高的要求。实习中我们用的微服务架构,就是为了提高系统的可伸缩性,但感觉还不够,有时候服务间的通信还是瓶颈。我观察到行业里都在搞Serverless、Serverless+事件驱动架构,感觉这是未来的大方向。我现在就在琢磨,要不要趁现在把Flink或者Kafka这些中间件的原理学一下,虽然实习里没用到,但感觉这些都是未来后端开发必须掌握的技能。行业变化太快了,不主动学,很快就会被淘汰。

4.心态转变

最深的体会还是心态变了。以前在学校写代码,跑通就行,老师让改就改,现在不一样了,感觉每个commit都有责任,要考虑代码的健壮性、效率,甚至是要考虑成本。有一次我写的SQL查询效率不高,导致凌晨跑报表要花四十分钟,第二天被老板点名批评了,当时压力特别大。后来我花了两天时间重写查询逻辑,用到了数据库分区和更合适的索引,最后跑表时间缩短到七分钟。这个过程让我明白了什么是责任感,也提升了我的抗压能力。现在写代码,会下意识地去想它能不能跑得更快、更稳定,这种心态转变比学会什么新技术更重要。

四、致谢

1.

感谢在实习期间给予我指导和帮助的团队,你们的经验让我受益匪浅。特别感谢我的导师,在项目上给予的悉心指导,让我对软件开发的理

温馨提示

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

最新文档

评论

0/150

提交评论