信息技术智科软件工程师实习报告_第1页
信息技术智科软件工程师实习报告_第2页
信息技术智科软件工程师实习报告_第3页
信息技术智科软件工程师实习报告_第4页
信息技术智科软件工程师实习报告_第5页
全文预览已结束

下载本文档

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

文档简介

信息技术智科软件工程师实习报告一、摘要2023年7月10日至2023年9月5日,我在智科软件公司担任信息技术智科软件工程师实习生。核心工作成果包括完成3个模块的API接口开发,累计编写并调试代码约1200行,推动2个测试用例通过率提升至95%;参与搭建并部署了基于Docker的微服务架构,使系统响应时间缩短至平均120毫秒。专业技能应用方面,运用Python和Java进行后端开发,熟练运用Git进行版本控制,结合PostgreSQL数据库优化查询效率达40%。提炼出的可复用方法论包括模块化代码设计原则和自动化测试脚本编写模板,通过引入Jenkins实现每日构建与测试,有效降低了30%的部署错误率。二、实习内容及过程实习目的主要是把学校学的编程知识用到实际项目里,了解软件开发的完整流程。实习单位是家做企业级软件开发的公司,主要业务是定制化系统开发,技术栈偏向Java和Python,用的数据库是MySQL和PostgreSQL,部署环境基于Docker和Kubernetes。7月10号开始实习,第一个月跟着导师熟悉项目,主要是看现有代码和参加团队周会。接触了他们的一个电商后台项目,用SpringBoot框架搭建的,我负责跟进其中一个订单管理模块的优化。原模块用SQL查询效率不高,响应时间慢,有些复杂查询要3秒多才能出来。我花了两周时间,把部分查询用Redis缓存解决,并重构了部分JPQL语句,最后测试时,相同数据量的查询速度提到了0.8秒左右,提升了75%。还参与了一个新功能的需求分析,用Visio画了流程图,写了几页的详细设计文档。第二个月开始独立负责小模块开发。8月15号接到任务,要做一个批量处理订单的功能,需求是每小时处理5000条订单数据,不能影响线上系统性能。我选了Python写脚本,用多线程分批处理,每批1000条。为了确保不影响主系统,在非高峰时段运行,并加了日志监控。过程中踩坑了GIL问题,数据量大时线程优势不明显,最后改用进程池,效率提到预期水平。9月初完成了2个模块的开发,导师让我帮忙写了单元测试,用了JUnit和Mockito,覆盖率达到85%。遇到的困难有2个。一个是刚开始看复杂代码时,很多自定义的类和工具方法看不懂,反应慢。当时项目用的是微服务架构,服务间通信靠RESTfulAPI,我以前没接触过分布式部署,有些接口调试了很久才发现是配置问题。后来我每天抽时间看他们的技术文档,还问了导师几次,慢慢就熟悉了。另一个是批量处理订单时,内存消耗太大,系统卡顿。我查了资料,学了Python的生成器语法,用yield代替列表存储中间结果,内存占用降了60%。实习成果主要是完成了订单模块优化和2个新功能开发,写了一万多字的设计文档和测试用例。收获是掌握了微服务调试方法,学会了用Docker容器化部署应用,对数据库优化有了直观感受。职业规划上,我发现自己对后端开发更感兴趣,特别是中间件和数据库调优这块,想以后深入钻研。单位管理上,我觉得新人培训可以更系统些,现在主要是导师带,但不同项目技术细节差异大,容易跟不上。建议可以出份统一的开发规范手册,还有每周搞次技术分享会,让新人互相学习。岗位匹配度上,初期觉得要学的东西太多,有点焦虑,但后来发现持续学习反而很有成就感。可以建议公司给实习生提供更明确的成长路径图,比如分阶段学习目标。三、总结与体会这8周,从7月10号到9月5号,在智科软件工程师的岗位上,我感觉自己像经历了一次小型“社会化”改造。实习的价值在于把学校的理论知识和实际工作场景对齐了。以前写代码,追求的是能跑通就行,现在明白要考虑性能、可维护性,比如那个订单模块优化,从3秒提到0.8秒,虽然只是模拟数据,但看到自己的改动能带来这么大的提升,确实很有成就感。写单元测试时,要求85%的覆盖率,我一开始觉得麻烦,后来发现有了测试用例,后续修改代码就安心多了,这就是开发闭环,写代码不是终点,保证质量才是。这次经历直接影响了我的职业规划。我发现自己对后端系统的底层逻辑,比如数据库索引优化、分布式事务处理,比单纯做前端界面更感兴趣。学校里学的数据库原理、计算机网络,现在有了具体应用场景,比如看到项目中用Redis做缓存,才真正理解内存数据库为什么比硬盘快那么多。接下来打算系统学习下Kubernetes和消息队列,这些在学校课程里没怎么接触,但实习中看到团队在用,感觉是未来发展的重点。明年想考个关于云原生或者数据库优化的专业证书,把实习中学到的零散知识系统化。实习也让我看到了行业的一些趋势。现在很多公司都在用微服务架构,但随之而来的问题就是系统复杂性增加,调试难度加大。我遇到过一个服务依赖链太长导致响应慢的问题,排查起来特别头疼。这让我意识到,未来的工程师不仅要懂数据结构和算法,还得懂系统设计和运维。敏捷开发模式确实能加快迭代速度,但文档和沟通的重要性也凸显出来了,有些时候为了赶进度,需求文档写得简单,后面容易返工。心态转变是最大的收获。以前做项目,老师给题目,步骤都教得明明白白,现在实习,导师给方向,具体怎么做,用哪个工具,都得自己琢磨。8月的时候遇到那个批量处理内存溢出的难题,试了好几种方法都不行,一度觉得压力很大,晚上回去查资料到12点多。但最后解决了,感觉抗压能力确实锻炼了。现在看问题,不会像以前那样畏难,会先分析核心矛盾,再找解决方案。这种从学生到职场人的责任感,是从没做过的事情。总的来说,这次实习没白来。把课堂上学到的抽象概念,比如RESTfulAPI设计原则、数据库事务隔离级别,都落到了手里面。虽然只是做了几个模块,但参与了一个真实项目的生命周期,从需求分析到测试上线,每个环节都有收获。最大的体会是,技术是不断更新的,保持好奇心和学习能力比什么都重要。接下来的学习,会更有针对性,毕竟实践出真知,这些踩过的坑、吃过的

温馨提示

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

评论

0/150

提交评论