计算机科学IT公司软件开发实习生实习报告_第1页
计算机科学IT公司软件开发实习生实习报告_第2页
计算机科学IT公司软件开发实习生实习报告_第3页
计算机科学IT公司软件开发实习生实习报告_第4页
计算机科学IT公司软件开发实习生实习报告_第5页
全文预览已结束

下载本文档

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

文档简介

计算机科学IT公司软件开发实习生实习报告一、摘要

2023年7月3日至2023年8月31日,我在一家领先的IT公司担任软件开发实习生,负责后端系统开发与优化。核心工作成果包括:独立完成3个API模块的开发,使系统响应速度提升20%;参与2个项目的代码重构,将接口调用延迟降低15%;通过单元测试覆盖率达90%以上,有效减少线上Bug率。期间应用Java、SpringBoot和SQL技术栈,掌握敏捷开发流程中的CI/CD自动化部署,实现每日构建效率提升30%。总结出模块化设计可复用代码框架,适用于高并发场景下的性能优化,验证了数据库索引优化对查询效率的显著影响(原查询耗时5秒优化至0.8秒)。

二、实习内容及过程

2023年7月3日到8月31日,我在一家做企业服务的IT公司实习,岗位是后端开发。实习目标是把课堂学的Java和数据库知识用到实际项目里,搞懂团队怎么搞开发。公司业务主要是做SaaS系统,用SpringBoot和MySQL比较多,团队规模大概30来人,开发流程是敏捷式的,每周开两次站会,用Jira管理需求,晚上偶尔会搞个CodeReview。

我主要参与了一个订单管理模块的开发,需求是优化高并发场景下的库存扣减接口。原来系统用Redis做缓存,但高峰期会超时,导致用户下单时库存数据不一致。7月10号到20号,我跟着导师把接口改成先查缓存,缓存没有再查数据库,并加了分布式锁。测试时发现,系统在模拟10000并发请求时,失败率从5%降到0.2%,响应时间也从1200毫秒降到800毫秒。导师还教我用了JMeter压测工具,让我对系统瓶颈感知更直接。

开发过程中遇到的最大坎是8月初数据库优化那阵子,某个报表查询特别慢,查一次要两三分钟。我一开始想加索引,但加了后查询反而更慢了。后来跟同事一起查执行计划,发现是某个JOIN子句没优化,把几个大表直接嵌套查询。最后改用LEFTJOIN,并分了批次处理数据,速度直接飙到十几秒。这事儿让我明白,数据库优化不能瞎加索引,得看执行计划,也学会了用Explain分析SQL。

实习最后两天,我整理了写的模块文档,还帮测试同学写了几个回归测试脚本,用了JUnit和Mockito。导师说代码注释够清晰,测试覆盖率也能达标就行。这让我意识到,写代码不光是功能对,得考虑别人怎么用、怎么测。

公司的培训机制其实一般,入职时给的资料比较少,很多技术细节都得靠自己摸索。比如微服务间的配置中心怎么用,刚开始完全搞不懂,后来翻了几篇博客才明白是Nacos。另外,岗位匹配上有点小问题,我学的数据库和中间件知识用得少,反而花大量时间在业务逻辑上。如果公司能提前给份实习任务清单,或者搞个技术栈速成班,可能效果会更好。我建议可以在Jira上把技术需求单独标记,或者导师多带带新人用特定工具。这段经历让我看清了,做开发光会理论不行,得懂团队流程,像CI/CD、CodeReview这些得提前适应。以后职业规划上,我打算补补消息队列和分布式事务这块,感觉公司那几个项目用得挺多。

三、总结与体会

这8周,从7月3日到8月31日,感觉像是从校园到准职场的快速过渡。实习最大的价值闭环是,当初为了完成订单模块优化的那个晚上,查了N多篇博客,试了3种并发控制方案,最后用分布式锁+缓存组合把QPS从300提升到1500,这个数据点现在想想还挺实际的。它让我懂了,理论框架和实际业务结合有多重要,比如Spring事务默认是传播性SAGA,但在我们那个库存扣减场景,用本地事务加补偿就能搞定,要是硬上分布式事务,代码量得翻倍不说,调试起来还真能让你怀疑人生。导师常说“代码要能跑,更要能看”,当时没太get到,现在写这段总结时才明白,他指的是代码不仅要通过单元测试,还得有日志输出方便排错。这种思维转变挺关键的。

职业规划上,这次经历帮我锁定了几个方向。比如微服务间通信,公司主要用Feign+Hystrix,我发现自己对Hystrix熔断器的原理理解不深,回去打算补补Netflix开源库的源码,顺便考个AWS认证,感觉云原生这块迟早要吃透。另一个是数据库优化,我那篇关于索引覆盖和全表扫描的笔记,现在翻出来看,还能找到7月15号测试时用EXPLAIN分析出的问题,这种经验比单纯背SQL语法强太多。

行业趋势这块,明显感觉到现在做业务对高并发要求特别高,我们那个订单系统,其实用户量不大,但设计上就得考虑双十一那种极端情况。这让我看到,以前觉得花里胡哨的技术,比如Redis集群、分库分表,现在真成了基本功。不过要说挑战,还是团队协作这块,8月初我写的一个报表接口,因为没提前跟前端同步字段,导致他们那边接收数据直接崩了,被叫去改了好几次,虽然最后搞定了,但那种被项目反噬的感觉挺真实的。这也提醒我,以后做开发得学会推演,不能只埋头写自己的模块。

心态转变上,最大的变化是责任感。实习前觉得写完功能就行,实习后才知道,线上一个微小的Bug可能让整个业务线瘫痪,比如8月20号我调优SQL时,把某个表的索引顺序调反了,导致慢查询从几百条降到十几条,但第二天发现关联查询又变慢了,这种细节折磨让我对“质量”二字有了新定义。抗压能力上,记得7月25号连续加班到凌晨三点搞测试环境部署,最后发现是Docker镜像缓存的问题,当时真是觉得头发都要掉了,但现在想想,这种经历比学校里做实验有意思多了。

总的来说,这段经历就像给我装了个“职场插件”,虽然只是后端开发的一个小角落,但学到的关于系统设计、性能调优和团队协作的细节,比学校里啃书有用多了。未来打算把实习时整理的《高并发系统设计避坑指南》补充完整,争取下学期找个机会给同学分享一下,也算是对这段经历最好的纪念。毕竟,能让你熬夜琢磨的技术点,才是真本事。

四、致谢

感谢实习期间给予指导的导师,8月31日前,在订单模块开发上给予的具体帮助,特别是在分布式锁选型和Redis缓存策略调整上的建议,让我对高并发场景下的系统设计有了更直观的认识。

感谢团队成员的同事,7月10号到8月15号期间,在JMeter压测工具使用和SQL优化问题上的讨论,特别是关于JOIN子句优化导致查询时间从1200毫秒

温馨提示

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

最新文档

评论

0/150

提交评论