软件工程IT企业软件工程师实习报告_第1页
软件工程IT企业软件工程师实习报告_第2页
软件工程IT企业软件工程师实习报告_第3页
软件工程IT企业软件工程师实习报告_第4页
软件工程IT企业软件工程师实习报告_第5页
全文预览已结束

付费下载

下载本文档

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

文档简介

软件工程IT企业软件工程师实习报告一、摘要

2023年7月1日至2023年8月31日,我在一家IT企业担任软件工程师实习生。核心工作成果包括参与开发一款在线协作工具,完成3个主要功能模块的开发与测试,累计修复12个Bug,其中5个为高优先级问题。期间应用Java编程语言和SpringBoot框架进行后端开发,使用Git进行版本控制,并通过JIRA跟踪任务进度。掌握并实践了敏捷开发方法中的Scrum流程,每日站会中提出的问题均在24小时内得到解决,有效提升了团队协作效率。提炼出可复用的代码重构方法,将一个原有模块的执行时间从2.5秒缩短至0.8秒,提升了64%的性能。

二、实习内容及过程

2023年7月1日到8月31日,我在一家做企业级SaaS服务的公司实习,岗位是软件工程师。刚去那会儿主要是熟悉环境,导师给我安排了几个基础任务,比如整理旧代码库的文档,用Git把分散在几个分支上的注释统一格式。我花了三天时间,把一个有两年历史的项目注释规范搞明白了,还写了份使用指南,后来团队其他成员都用了。

实际开发是7月15号开始的,参与的是团队的一个新功能模块。需求是做一个实时消息推送系统,要支持单聊和群聊,还得兼容Web和App端。我负责的是后端的数据同步部分。用Java写服务逻辑,数据库选了PostgreSQL,因为项目里之前就用习惯了。刚开始写的时候,消息队列的处理有点卡,客户端请求过来后,有时候要等3秒才能收到响应。后来发现是Redis缓存设置的时间太短了,调整了下配置,把过期时间从1分钟改成5分钟,客户端那边又加了重试机制,最后延迟降到500毫秒以内。这个模块上线后,日均处理消息请求量从5000条涨到2.5万条,没出什么大问题。

实习期间遇到过两个坎。一个是团队用的测试框架是JUnit5,但我之前接触的都是JUnit4,API不太一样,有些断言写不对,跑不过来。我就去看了官方文档,对着网上的一些例子改了两天,把Mockito也重新学了遍,最后把单元测试覆盖率提到了85%。另一个是部署的时候,服务器内存不够用,导致JVM堆溢出。排查了半天才发现是某个第三方库在并发场景下有问题,临时改了配置把内存上限降了点,然后找了个更稳定的库替换掉。后来想,如果早点用JProfiler分析内存快照,可能不会花那么长时间。

这段时间让我最直观的感受是,企业级项目跟学校里做的课设完全两码事。需求变更特别频繁,有时候昨天写完的接口,今天又要改。不过也学到了不少东西,比如怎么用Docker容器化部署应用,怎么看懂复杂的时序图,还有写代码前先想好边界条件有多重要。之前总觉得把功能做出来就行,现在明白要考虑扩展性、可维护性。比如我写的消息模块,后来又加了离线消息功能,就庆幸当时把数据库表结构设计得留了余量。

公司那边的流程确实有优化空间。比如需求评审会,有时候产品经理会把一堆模糊的需求往我们身上一扔,没人引导怎么拆解,最后只能自己硬着头皮写。而且培训这块,虽然给了几份技术文档,但都是英文的,没人带着读,看不懂就卡在那儿。建议可以搞个新人专属的项目,难度低点,一步步带,或者把文档翻译成中文。岗位匹配度上,我发现自己对数据库这块挺感兴趣,但实习里接触得不多,希望以后能多参与一些后端存储相关的项目。

三、总结与体会

这8周,从2023年7月1日到8月31日,感觉像是从校园门口摸着石头过河,到真正踏入河流游泳的一段经历。实习最大的价值闭环,就是我把学校学的那些抽象概念,比如设计模式、敏捷开发,真真切切用在了线上项目里,而且看到它产生实际效果。参与的那个实时消息模块,上线前夜还紧张得睡不着,结果第二天监控显示QPS稳稳过了预期,那一刻觉得之前熬的夜值了。这让我明白,理论联系实际,最终还是要落到解决用户问题上。

这次经历直接影响了我的职业规划。之前觉得后端开发就是敲代码,现在清楚要做好一个分布式系统,得懂缓存、消息队列、数据库优化,还得有架构思维。我发现自己对系统可用性这块挺感兴趣,实习回来打算系统补齐这块知识,可能去考个AWS或阿里云的解决方案架构师认证,虽然听着有点远,但得有目标。公司里那些能快速定位线上问题的老工程师,处理Issue的时候那种沉稳,让我意识到技术深度是硬道理。

看着项目从我这儿输出的代码,变成用户在手机上实际用到的功能,才体会到什么叫责任感。以前写代码,Bug修了就行,现在明白一个微小的逻辑错误,可能就让成千上万的用户受影响。这8周也练了我的抗压能力,需求改了N次,Trello看板上的红色任务不断,刚开始焦虑,后来习惯了快速响应,甚至主动跟产品沟通实现方案的可行性。这种在压力下保持冷静,快速学习和适应环境的能力,比单纯写代码技能更宝贵。

行业趋势上,这次实习让我特别关注云原生和Serverless。我们那个消息模块,如果用Serverless改造,弹性伸缩肯定更爽,运维成本也低。感觉以后做软件,不懂容器化、微服务,可能就要被淘汰了。企业级开发对代码质量要求极高,单元测试、CodeReview不再是形式主义,而是生存法则。我那段时间把JUnit和Mockito练得挺熟,就是为了减少线上问题。这种精益求精的工匠精神,我觉得比单纯追求新技术更重要。

心态转变是真的,以前觉得技术好就行,现在明白职场里沟通、协作、解决问题的能力同样关键。虽然只是8周,但感觉自己肩上的担子重了点。接下来,会把实习中遇到的坑都记下来,比如那个Redis缓存问题,回头专门研究下分布式缓存的一致性问题。学校的知识体系是通用的,但企业项目里的细节,必须靠自己去积累、去打磨。这段经历,就是最好的敲门砖,也是未来路上最扎实的起点。

四、致谢

感谢在实习期间给予我指导和帮助的团队。特别感谢我的实习导师,在项目开发中给予的耐心讲解和方向性建议,让我对软件工程的

温馨提示

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

评论

0/150

提交评论