软件工程软通软件工程师实习生实习报告_第1页
软件工程软通软件工程师实习生实习报告_第2页
软件工程软通软件工程师实习生实习报告_第3页
软件工程软通软件工程师实习生实习报告_第4页
软件工程软通软件工程师实习生实习报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

软件工程软通软件工程师实习生实习报告一、摘要2023年7月1日至2023年8月31日,我在软通软件担任软件工程师实习生,负责后端API开发与测试。核心工作成果包括完成3个模块的代码重构,将接口响应时间从平均450ms优化至180ms,提升60%;独立设计并实现1个自动化测试脚本,覆盖率达85%,减少每日手动测试时间4小时。期间应用Java、SpringBoot和SQL技能处理数据迁移任务,通过编写存储过程将10万条数据导入效率提升至80条/分钟。提炼出敏捷开发中的持续集成流程优化方法,通过Jenkins自动化部署缩短版本迭代周期30%。二、实习内容及过程1.实习目的去8周,是想看看自己学的那些东西能不能在实际项目里用上,感受下真正的开发环境和节奏。也不是完全为了找份工作,主要是想加深对软件工程的理解,看看自己到底喜不喜欢这块。2.实习单位简介我们实习那家公司规模不小,做的项目类型挺多,涉及金融、医疗这些行业。技术栈也比较全,Java、Python、前端啥的都有人在用。我们那个团队主要是做企业服务的,系统比较复杂,模块之间耦合度高,测试和迭代都挺花心思的。3.实习内容与过程刚去那会儿跟着导师熟悉项目,主要是看文档和代码,那个项目用得是SpringBoot,代码量不小,注释有点乱,花了我两天才大概摸清几个核心模块的逻辑。导师让我先从测试入手,因为测试这块相对独立,也容易出成果。后来接手了一个模块的回归测试,发现很多接口的覆盖率特别低,只有60%左右,而且测试用例写得比较随意,经常漏Case。我就提议重构测试用例,引入JUnit和Mockito,把关键的业务逻辑都跑一遍。为了验证效果,我选了三个最复杂的接口,手动测试要跑半天,重构后自动化脚本跑下来只要15分钟,覆盖率直接飙到92%。在做这个过程中,遇到的最大麻烦是数据库交互。那个项目用MySQL,但有些表设计得特别不合理,比如一个订单表关联了十几个小表,每次查数据都要写很长的JOIN语句,性能特别差。有一次我优化一个接口,发现它查一次数据要1.2秒,严重影响用户体验。我就花了两天时间分析SQL执行计划,把一些冗余的关联去掉,改用视图和缓存,最后响应时间降到了300毫秒以下。导师还夸我有潜力。除了具体工作,我也参与了团队的CodeReview,学到了不少写代码的细节,比如怎么避免长方法、怎么写可读性强的注释。团队那边的CI/CD流程也挺规范的,用Jenkins自动部署,每次提交代码都会跑测试和集成,虽然有点繁琐,但确实能省不少事。4.实习成果与收获8周里,我主导重构了3个模块的测试用例,把整体测试覆盖率提升了18%;优化了5个核心接口的性能,平均响应时间减少40%;还独立完成了1个数据迁移脚本,处理了8万条记录,比原计划快了1倍。最让我有成就感的是,那个耦合度高的订单模块,我通过重构Service层的逻辑,把之前一个工程师半年没解决的事,用两周时间理顺了,虽然只是小部分,但确实帮团队卸下了不少负担。收获上,感觉对分布式系统、数据库优化这些概念理解更深了,以前觉得抽象的东西,现在能联系到实际场景。而且意识到自己写代码太随意,现在提交前都会反复检查,生怕引入新的Bug。5.问题与建议那个团队虽然人挺多,但管理上有点乱,比如需求变更没人统一协调,有时候几个方向同时改一个模块,导致冲突不断。另外培训机制也一般,就给了我一些文档,没安排正式的导师带,大部分时间都是自己瞎摸索。建议他们可以建个更系统的需求管理流程,比如用Jira做看板,或者至少指定个负责人统一对接。培训方面,最好能配个初级导师,定期检查进度,而不是完全放养。我后来主动找师兄请教,才搞明白不少东西。还有就是岗位匹配度问题,我那会儿接手的工作其实挺基础的,主要是测试和优化,跟我想深入做的后端开发有点偏差,不过也学到了不少测试技巧,算是个意外收获吧。三、总结与体会1.实习价值闭环这8周,感觉像是把学校里那些零散的知识点串联起来了。7月1日刚去的时候,面对真实的业务代码和项目需求,确实有点懵,很多在学校觉得理所当然的设计模式,到了实际项目中都得重新考虑。比如那个订单模块的优化,我花了整整3天时间反复调试SQL执行计划,试了五六种不同的改法,最后才找到最优解。这个过程让我明白,理论到实践的转化,不是简单的套用公式,而是需要大量的试错和经验积累。现在回想起来,当初为了解决那个JOIN效率问题查阅的《高性能MySQL》里的索引策略部分,好像突然就活过来了。实习最大的价值在于,让我看到了自己的不足,也明确了努力方向。比如自动化测试那块,我最初只是想做个简单的脚本,但后来发现测试覆盖率、边界条件这些细节都挺复杂的,逼着自己去学JUnit的参数化、Mockito的模拟对象,最后写出来的用例比导师给的要完善不少。这种从被动接受到主动钻研的转变,我觉得比学会具体的技术更有意义。2.职业规划联结这次经历让我对未来的职业路径有了更清晰的认识。之前我对后端开发、数据分析这些方向都挺感兴趣,但实习期间接触的接口优化、性能调优等工作,让我意识到自己对系统整体架构的理解还远远不够。比如导师提到的一个分布式事务问题,说我们那套方案在高并发下会有脏数据风险,虽然当时没太懂原理,但回去后专门查了2天资料,看了几篇阿里云的技术分享,才大概明白是CAP理论的取舍问题。这让我觉得,如果想走技术路线,光会写代码是不够的,还得懂点底层原理和架构设计。所以接下来打算补补分布式系统、消息队列这些知识,可能要去考个AWS或阿里云的认证,至少让自己在简历上看起来不那么“空”。同时也发现,自己可能对测试开发这块有点兴趣,毕竟那段时间做测试用例时,还挺享受那种“钻牛角尖”的感觉,能发现别人忽略的细节。虽然现在很多公司不太强调手动测试,但自动化测试和性能测试的门槛还是挺高的,这让我有点心动。如果真要往这方面发展,可能还得学学Selenium、LoadRunner这些工具。3.行业趋势展望在实习期间,团队正在重构一个老系统,用的技术栈是SpringCloud+微服务,但模块间依赖很混乱,有些接口直接暴露了数据库表名和字段名。导师说现在行业的主流趋势是更注重代码规范和标准化,像OpenAPI规范、接口文档自动生成这些越来越重要,否则后期维护成本会指数级增长。我们那边的CI/CD流程虽然搭好了,但测试环境和生产环境的配置还是手动同步,偶尔出问题,这让我觉得,技术更新换代很快,但有些基础的东西,比如标准化、自动化,可能才是企业级开发的“魂”。另外还注意到,现在很多公司都在搞DevOps,强调开发和运维的协作,我们那边的运维同事其实也参与了不少开发工作,比如配置服务器、写监控脚本。这让我意识到,未来的工程师可能不能再局限于自己那一亩三分地,得有更开阔的视野。比如我这次做的那个数据迁移脚本,如果早点跟DBA沟通,也许能用更高效的SQL或工具完成,而不是自己用Java一点点写。这种跨职能的协作能力,可能比单纯的技术深度更重要。4.心态转变最大的变化还是心态吧。以前在学校写代码,跑通就行,错了就改,没啥心理负担。但到了实习,提交的每一个commit都感觉像是在给公司“打工”,稍微有点问题就特别焦虑。记得有一次重构测试用例,不小心把一个核心接口的依赖改了,导致整个测试suite全挂,花了2个小时才恢复,当时压力特别大。但这次经历也让我明白,责任感不是嘴上说说,而是体现在每一个细节里。现在写代码前会多检查几遍,提交前也习惯跑一遍全量测试,这种习惯可能比学会多少新技能更能帮到我。抗压能力上也有提升,以前遇到难题就想找老师,现在会先自己查资料、试方案,实在不行再请教同事。导师也说,这种“不伸手”的态度挺难得的。虽然有时候会搞到深夜,但那种解决问题的成就感,比睡个安稳觉更让人满足。这种状态,我觉得是真正从学生过渡到职场人的标志。5.未来行动接下来打算沉下心学几个硬核技能。那个订单模块的数据库优化经验,让我意识到SQL优化的重要性,所以打算系统学学《数据库内核原理》,争取过几个月能考个OCM认证。自动化测试那块,已经报名了Selenium的在线课程,计划下学期做一个完整的测试框架。另外,之前实习时用的GitLabCI,感觉比Jenkins方便不少,打算周末去啃啃官方文档,把本地流程搭得更完善。这些积累,应该能让简历更有说服力。而且这次实习让我发现,做技术真的得持续学习,不然很快就会跟不上节奏,所以打算把公

温馨提示

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

评论

0/150

提交评论