软件工程互联网公司实习生实习报告_第1页
软件工程互联网公司实习生实习报告_第2页
软件工程互联网公司实习生实习报告_第3页
软件工程互联网公司实习生实习报告_第4页
软件工程互联网公司实习生实习报告_第5页
全文预览已结束

付费下载

下载本文档

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

文档简介

软件工程互联网公司实习生实习报告一、摘要

2023年6月5日至8月22日,我在一家互联网公司担任软件开发实习生,主要负责后端API开发与优化。在为期8周的实习中,我参与完成了3个核心模块的开发,累计编写并调试代码约1200行,其中通过引入缓存机制将某高频接口的响应时间缩短了40%,错误率降低了25%。工作中熟练应用了SpringBoot框架和Redis技术,并实践了Git进行版本控制与团队协作。通过项目实战,我掌握了敏捷开发流程中的需求快速迭代方法,以及自动化测试用例的设计思路,这些方法论可直接应用于后续的团队协作与项目管理中。

二、实习内容及过程

实习目的主要是将学校学的软件工程理论知识跟实际工作对接上,了解互联网公司里真实的项目开发流程和团队协作模式。

实习单位是做在线教育服务的一家互联网公司,技术栈偏向前后端分离,后端主要用JavaSpringBoot,数据库是MySQL和MongoDB,还用到Redis做缓存。我所在的团队负责一个核心的课程管理系统,用户量挺大的,对系统性能和稳定性要求比较高。

实习内容开始阶段,主要是熟悉项目代码库和开发环境,跟着导师看了几个现有模块的代码,然后参与了一个小功能的需求讨论。6月10号开始,我正式接手开发一个“课程评论”模块。这个模块需要支持用户对课程进行评分和发表文字评论,还得有管理员审核评论的功能。我负责后端的API设计和数据库表结构设计,前端同学根据接口文档实现页面交互。开发过程中,遇到一个挺麻烦的问题,就是高并发下评论列表的加载速度特别慢。数据量不大,但每次请求都要从数据库查几百条评论,再按时间倒序排序,响应时间明显超出了预期。导师建议我试试用Redis缓存热点评论数据,我一开始对缓存这块不太熟,花了两三天时间研究了Redis的set集合和zset有序集合用法,把最新的100条评论和用户评分信息存到缓存里,只当热点数据。评论列表接口先从缓存里查,缓存没有再查数据库,然后合并数据返回。改完之后我测了一下,并发500的情况下,接口平均响应时间从原来的1.8秒降到了0.3秒,延迟降低明显,接口错误率也降到了万分之一以下。这个模块在6月25号左右完成开发和测试,按时上线了。

实习后期,我参与了另一个模块的优化工作,主要是把一些频繁调用的查询语句改写成视图,减少了数据库的压力。期间还接触到了Docker容器化部署,帮着把测试环境的部署脚本弄得更自动化一些。虽然只用了几天时间,但感觉挺有意思的,至少知道怎么用DockerCompose了。

这段时间里,我最大的收获是学会了怎么在实际项目中运用敏捷开发的方法,需求快速迭代,每个小功能都做到小步快跑,不断收集反馈调整。之前在学校做项目,都是想一步到位,结果往往发现很多地方考虑不周。另外,对数据库索引和缓存这块的理解加深了,以前觉得这些概念有点虚,现在知道怎么在具体场景下分析瓶颈,并找到合适的优化方案。以前写代码比较随意,现在会特别注意代码规范和可维护性,比如多写注释,函数名取好名字,尽量写单元测试。团队里的CodeReview也让我受益匪浅,看到大佬们怎么写代码,怎么考虑边界条件,学到了不少东西。

实习中遇到的最大挑战就是前面说的评论模块性能问题,还有一开始对项目整体架构不熟悉,有些需求不知道怎么接入最合理。为了克服这些,我除了学Redis,还花时间把整个项目的技术文档和代码结构又重新梳理了一遍,遇到不懂的可以直接问导师或者资深同事,他们都很耐心。最终评论模块的上线,性能数据的改善,让我挺有成就感的。

这次实习也让我发现了自己的一些不足,比如对分布式系统的理解还比较浅,遇到高并发问题时候还是有点懵,虽然最后解决了,但过程挺费劲的。另外,感觉公司内部的技术培训机制有点欠缺,很多新技术都是靠自己去网上找资料学,如果能有更系统的培训计划就好了。我在团队里主要做后端开发,但感觉跟前端、测试的沟通有时候不太顺畅,需求细节容易传递不清,导致返工。如果岗位能更贴近全栈开发,或者团队内部有更明确的需求对接流程,效率可能会更高。总的来说,这次实习让我对软件工程这个领域有了更直观的认识,也明确了以后要努力的方向。

三、总结与体会

这8周在公司的经历,就像把书本上的软件工程知识装进了实际的模具里,每个模块的开发,每条接口的调试,都让我对技术有了更深的理解。从6月5号开始,到8月22号结束,我参与的“课程评论”模块最终上线,性能数据从1.8秒降到0.3秒,这个数字变化让我真切感受到技术优化的价值。实习的价值在于这个闭环,我学到了,我做了,我解决了问题,并且看到了成果。这段经历直接印证了课堂上学到的敏捷开发流程,也让我明白团队协作中沟通的重要性。导师常说“不要只写能跑的代码,要写能跑好的代码”,现在每次写代码都会想起这句话,对代码质量的要求更高了。

这次实习也让我开始思考自己的职业规划。之前对未来的想法有点模糊,现在感觉更清晰了。我发现自己对后端开发,特别是高并发场景下的系统优化很感兴趣,这也和我学校课后的学习方向对上了。接下来打算系统学习一下分布式系统相关的知识,比如Dubbo框架和微服务治理,争取年底前把相关技术栈补齐。实习中接触到的Redis缓存技术和Docker容器化,也让我萌生了考取相关认证的想法,比如AWS的SolutionsArchitect或AWSCertifiedDeveloper,把实践经验跟证书结合起来,提升自己的竞争力。

看着自己写的代码真的能为用户所用,这种成就感是以前在学校做项目完全体会不到的。从学生到职场人,心态上最大的转变是责任感。以前写代码出错,顶多是作业分数受影响;现在每一行代码都可能影响到系统的稳定运行,必须得加倍小心。处理“课程评论”模块性能问题时,为了找到瓶颈,连续几天加班到晚上10点,调试了上百行日志,虽然过程很累,但解决难题后的那种满足感,让我觉得抗压能力真的得到了锻炼。

行业里一直在讲技术迭代,像现在很多公司都在搞云原生,微服务架构也越来越普遍。这次实习让我近距离感受到了这种变化,也意识到持续学习的重要性。互联网行业不比其他行业,不进则退,每天都要接触新东西,才能不被淘汰。这次实习也让我看到了自己跟行业顶尖水平还有多大差距,比如对数据库底层原理的理解,对分布式事务的处理,这些都只是浅尝辄止。未来不管是继续深造还是直接工作,都得把这块补上。总的来说,这次实习是我成长路上一个很重要的节点,它让

温馨提示

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

评论

0/150

提交评论