计算机科学与技术软件开发程序员实习报告_第1页
计算机科学与技术软件开发程序员实习报告_第2页
计算机科学与技术软件开发程序员实习报告_第3页
全文预览已结束

下载本文档

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

文档简介

计算机科学与技术软件开发程序员实习报告一、摘要

2023年6月5日至8月22日,我在XX科技公司担任软件开发程序员实习生,负责参与电商平台后端系统开发。核心工作成果包括完成用户模块API接口开发,实现日均处理订单量1.2万笔,接口响应时间稳定在200毫秒以下;优化商品推荐算法,提升搜索准确率至92%;应用SpringCloud微服务架构,将系统并发处理能力提升至500QPS。期间深度实践Java编程、MySQL数据库设计、Docker容器化部署等技能,总结出高并发场景下的数据库分库分表策略,可减少查询延迟30%。通过迭代开发与性能压测,验证了敏捷开发流程在复杂业务场景下的适用性。

二、实习内容及过程

实习目的主要是把学校学的计算机科学理论知识跟软件开发实际工作搭上桥,看看自己到底喜不喜欢做这行,顺便积累点实战经验。

实习单位是家做电商技术解决方案的公司,规模不大不小,主要是给中小型商家提供系统开发服务。我所在的团队负责一个在线购物平台的维护和升级,技术栈主要是Java后端,用SpringBoot框架,数据库是MySQL和MongoDB。

实习期间,我的工作就是跟着导师一起搞项目。刚开始几天主要是熟悉环境,看之前的代码文档,跑通项目。6月10号左右,我开始接手用户登录注册模块的维护,那个模块有点老旧,接口响应有时候慢得离谱。导师让我先从优化数据库查询开始,我花了两天时间把冗余的索引删了几个,还把部分数据改成了Redis缓存,用MapReduce对用户画像数据做了个预处理,结果接口响应时间从700毫秒降到了280毫秒,虽然不算特别夸张,但确实感觉有明显进步。

6月18号开始,我参与了一个新功能的需求讨论,是搞一个秒杀活动页面。那段时间挺累的,要跟前端沟通接口细节,还要跟测试联调。秒杀场景对系统并发要求特别高,我们那套系统说实话压力有点大。测试压测的时候,CPU飙升到90%,内存也快爆了。导师就教我用JMeter写脚本,还给我看了他们以前做高并发测试的一些压测报告,里面有各种线程池配置、数据库连接池参数设置的细节。我根据那些报告,把系统的线程池大小调了大点,数据库连接池的maxIdle和maxWaitTime都重新整了,还加了一些熔断降级的逻辑。最终线上活动搞完,系统没崩,虽然还是有点抖,但至少扛住了峰值。

7月2号左右,我开始独立负责订单模块的开发。主要是开发一个订单状态自动流转的功能,要跟支付系统、库存系统交互。我用了消息队列来解耦,用RabbitMQ。开发过程中踩了不少坑,比如消息重复消费、消息丢失的问题,最后花了挺长时间才搞明白怎么用消息确认机制和死信队列来解决。测试的时候发现有个边界条件没考虑到,订单超时未支付的情况下,库存扣减了却没生成订单,我赶紧改了逻辑,加了事务控制,还写了对应的单元测试和集成测试。这个功能上线后,客服那边投诉订单问题的数量明显少了。

实习期间遇到的困难主要是两个。一个是刚开始的时候对业务逻辑不熟,有时候需求理解错了,导致返工。我后来就学着主动跟产品经理、测试多沟通,搞清楚每个字眼的意思,还把遇到的问题记在本子上,没事翻翻。另一个就是高并发场景下的系统调优,我对JVM内存模型、数据库索引原理这些了解还不够深,压测的时候看着那些指标乱飙有点懵。我就利用业余时间把《Java性能调优》那本书又看了一遍,还找了一些开源项目的源码看了看,慢慢就有点感觉了。

实习成果的话,主要是完成了用户模块和订单模块的优化跟新功能开发。用户模块的接口响应时间降了30%,订单系统的日处理量从5万提升到了8万。我还整理了一份秒杀活动压测的总结报告,给团队后续搞活动提供了点参考。

这段经历让我对软件开发整个流程有了更直观的认识,从需求分析到设计实现,再到测试上线,每一步都不容易。以前在学校写代码,觉得对就行,现在知道要考虑的东西太多了,比如兼容性、可扩展性、安全性。职业规划这块,我以前挺迷茫的,现在稍微清晰点了,想往后端开发方向发展,特别是高并发、分布式这块,感觉挺有挑战也挺有意思的。

实习单位管理上吧,感觉人跟人之间沟通挺好的,但流程上有点乱,有时候需求变更没人统一管理,导致开发的时候东一块西一块的。培训机制我觉得也一般,主要是导师带着,要是能系统教教Git版本管理、Docker部署这些常用工具就好了。岗位匹配度方面,我做的开发工作跟我的专业方向还是挺契合的,但感觉对业务理解这块要求太高了,有时候会觉得有点吃不消。

我建议他们可以搞个新人培训计划,比如每周安排一次技术分享,讲讲常用的工具、框架或者项目经验啥的。还可以把项目文档搞规范点,需求变更的时候用Jira或者类似的工具跟踪,避免口说无凭。另外,可以搞个内部的知识库,把一些踩过的坑、好的实践都总结一下,新人入门的时候能少走点弯路。

三、总结与体会

这8周实习,感觉像是从书本理论掉进现实世界的第一个浪,挺呛的,但也挺解气的。6月5号刚去的时候,手心直冒汗,连Git的分支都搞混,导师给我改了三个来回的代码。但到8月22号走的时候,独立搞那个订单模块的自动流转功能,还用消息队列搞了点解耦,虽然最后测试环境压测CPU飙到85%,差点把服务器干挂,但硬是扛下来了,导师看代码的时候脸上那表情,嗯,知道意思了。这8周,感觉脑子里装的东西不是多,是实了,以前觉得抽象的数据库索引、线程池,现在知道怎么去查VPS监控里的慢查询日志,怎么去分析JProfiler出来的CPU热点图了。这种把问题拆解,然后一个个去锤,最后看到它顺顺当当地跑起来的感觉,挺上瘾的。实习的价值闭环,我觉得就是从“我会”变成“我搞定过”,这种经历不是光看书能给的。

对职业规划的影响挺直接的。以前模模糊糊想搞后端,现在特别想往高并发、分布式这块钻。实习里遇到的系统抖动、CPU爆表的情况,反而不是坏事,是提醒我,学校教的那些基础,比如操作系统、计算机网络、数据结构,那真是底层,必须啃得死死的。感觉现在脑子里有根弦绷着,知道以后学什么、看什么书,不能瞎混了。比如导师让我看的那本《Java性能调优》,回去肯定得啃透了,还想找个时间去考个AWS或者阿里云的云认证,把容器化部署、微服务治理这些实操起来。实习里搞的秒杀压测那事儿,虽然最后CPU还是飙上去了,但至少学会了怎么用JMeter模拟高并发,怎么看那些指标,这绝对是后续学习或者面试能吹的资本,而且是真的会,不是瞎编。

看着那个在线购物平台每天真真切切有人下单,有人收到货,感觉挺有意思的。这行吧,技术迭代太快了,感觉每天不学点新东西,明天就out了。微服务、Serverless、AI大模型这些词儿,以前觉得离自己好远,现在实习里看到团队在讨论要不要把推荐系统那块整成用向量数据库,感觉触手可及。行业趋势这东西,不是说看几篇文章就能懂的,得真去参与个项目,去踩坑,去解决问题。感觉现在技术圈变化挺快的,光靠学校那点课是跟不上的,得主动去学,去跟上节奏。比如实习结束前那周,我就在琢磨,下一步是不是得学学Go语言,看看有没有机会接触下更前沿的分布式技术。心态转变最大的还是责任感吧,以前写代码写完自己跑跑就行,现在知道每个改动可能影响到多少用户,影响到多少钱,晚上睡不着觉的情况多了,这也是一种成长吧。这段经历肯定会成为我

温馨提示

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

评论

0/150

提交评论