软件工程XX信息技术公司软件工程师实习报告_第1页
软件工程XX信息技术公司软件工程师实习报告_第2页
软件工程XX信息技术公司软件工程师实习报告_第3页
软件工程XX信息技术公司软件工程师实习报告_第4页
软件工程XX信息技术公司软件工程师实习报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

软件工程XX信息技术公司软件工程师实习报告一、摘要2023年7月3日至2023年8月31日,我在XX信息技术公司担任软件工程师实习生,负责后端系统开发与优化。核心工作成果包括重构API接口,使系统响应速度提升40%,并独立完成3个模块的单元测试,通过率100%。期间应用Java、SpringBoot和MySQL,通过设计数据库索引将查询效率提高35%。提炼出的可复用方法论有:采用敏捷开发模式缩短迭代周期至2周,实施代码评审降低bug率至1%;运用JMeter进行压力测试,确保系统承载用户量达1000并发。二、实习内容及过程1.实习目的想通过实践把学校学的软件工程理论知识用起来,了解真实项目开发流程,积累点后端开发经验。主要是想看看自己适不适合做这行,顺便熟悉下行业常用技术栈。2.实习单位简介我们实习那家信息技术公司,做的是企业级SaaS服务,客户主要是中小型制造企业。技术栈以Java为主,后端架构用的是微服务,数据库用MySQL和MongoDB混合,前端是React。3.实习内容与过程第12周主要是熟悉环境,跟着导师把公司基础代码库拉下来,看他们开发规范和代码风格。用Postman测试了几个旧接口,发现一个返回参数类型错误,改了之后测试同事又提了个性能问题,说某个接口在高峰期响应慢。我就用JProfiler抓了堆栈信息,发现是SQL查询条件没加索引,加完之后慢了30%。第35周参与一个订单管理模块开发,需求是重构原有的单体服务为RESTfulAPI。我负责了库存扣减和支付回调两个接口。用到了SpringBoot的Actuator监控接口流量,发现并发请求高峰时会有超时,后来改成了异步处理,响应时间从500ms降到200ms。还用了Redis缓存订单状态,把数据库查询量减少了一半。期间导师教了我怎么写单元测试,用JUnit+Mockito写了10几个测试用例,覆盖率从60%提到85%。第68周独立完成了一个报表生成功能,客户需要按物料ID和日期导出消耗数据。刚开始用JDBC直接查数据库,导10万条数据要3分钟,客户嫌太慢。我就改用SQL的GROUPBY优化,再加了分页查询,最后10分钟就能导完。还加了个定时任务用Quartz跑批,凌晨自动更新报表。4.实习成果与收获成果方面,完成了2个核心接口开发,写了30多页技术文档,提了5个代码优化建议被团队采纳。收获最大的还是工程化思维,以前写代码就是功能跑通就行,现在会考虑高并发、容灾、监控这些。还学会了看线上日志用ELK堆栈分析问题,以前只会用System.out.println。职业规划上更清晰了,想往分布式系统方向深入,准备下学期补补Dubbo和Zookeeper。5.问题与建议遇到的困难有2个。第一个是需求变更太频繁,有时候一个接口改了3次设计,导致进度有点赶。第二个是培训机制有点欠缺,入职第一天发个手册,后面没人带,很多内部工具和流程都是自己摸索的。建议公司可以搞个新人训练营,每周固定时间讲讲项目架构和代码规范。另外我觉得岗位匹配度可以更精准,我之前做毕业设计是全栈,实习后发现自己后端经验还是不足,要是能提前了解一下具体任务会更好。三、总结与体会1.实习价值闭环这8周像把书里那些抽象概念具象化了。7月10号刚接手那个库存模块时,面对几十个依赖关系头都大了,硬是靠画时序图、列状态机才理清。现在回想,学校教的设计模式、UML建模真不是白学的。导师说我的单元测试覆盖率不到80%不让我提交,我就把JUnit和Mockito翻出来啃,最后写满注释的测试报告得到了肯定。从最初连数据库索引都搞不清楚,到后来用慢查询分析优化SQL,这种认知升级挺具体的。实习就像把理论装进了实践模具,现在再看《软件工程导论》那本书,很多章节都有了对应注脚。2.职业规划联结最大的感受是后端开发远比我想象的复杂。8月25号调试那个分布式事务问题时,发现Redis缓存和数据库的一致性是个坎,晚上查资料到凌晨3点才明白需要用消息队列解耦。这次经历让我确定要往中间件方向深耕,下学期报名了AWS的SolutionsArchitect课程,顺便把项目里用到的SpringCloud组件都补上。导师说如果我想继续留在这个领域,必须把Linux性能调优练扎实,现在每天午休都在看《Linux内核设计与实现》的电子版。3.行业趋势展望公司那个报表生成功能差点因为数据量太大做不了,最后用了Elasticsearch才解决,这让我意识到大数据处理能力会越来越重要。8月30号技术分享会上,架构师讲微服务治理时提到服务网格(ServiceMesh)技术正在落地,感觉比DockerSwarm更靠谱。现在在看论文时,会特别留意Kubernetes和Istio的演进方向。行业变化太快了,学校教的那些基础理论还能用,但像分布式、云原生这些新东西,必须靠业余时间疯狂补课。4.心态转变以前觉得写个功能只要自己能看懂就行,现在明白代码是给人维护的。7月15号提交的接口文档被同事用红笔改了十几页,原来标点符号位置都得讲究。这种被挑剔的感觉挺别扭,但确实让代码规范意识强了。最怕的就是上线前的压力,8月28号部署订单系统时,手心全是汗,好在监控报警及时发现了配置错误。现在再写代码,会下意识考虑容灾方案,比如定时任务加双写机制。这种从学生到职场人的责任感转变,比学了多少新技术更珍贵。5.未来行动下个月打算把实习期间写的那套报表导出工具开源,现在已经在构思文档和测试用例了。导师建议可以继续研究流处理技术,打算用Flink再做一个实时化版本。如果下学期课业不重,会去考个CKAD证书,毕竟公司用的K8s环境挺多。这种把实习经历转化为持续成长的动力,或许就是实习最大的意义吧。四、致谢1.感谢XX信息技术公司给我这次实习机会,让我能接触到真实的项目开发环境。2.特别感谢导师在实习期间对

温馨提示

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

评论

0/150

提交评论