软件工程互联网企业软件开发工程师实习报告_第1页
软件工程互联网企业软件开发工程师实习报告_第2页
软件工程互联网企业软件开发工程师实习报告_第3页
软件工程互联网企业软件开发工程师实习报告_第4页
软件工程互联网企业软件开发工程师实习报告_第5页
全文预览已结束

付费下载

下载本文档

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

文档简介

软件工程互联网企业软件开发工程师实习报告一、摘要

2023年7月1日至2023年8月31日,我在一家互联网企业担任软件开发工程师实习生。核心工作成果包括完成3个模块的代码开发,累计提交87次代码合并,推动1个功能上线,修复12个线上Bug,其中5个为严重级别。期间应用Java、SpringBoot、MySQL等技术栈,通过自动化测试工具Jenkins提升测试覆盖率至92%,将API响应时间优化至150ms以下。提炼出敏捷开发中持续集成与代码评审的复用方法论,具体通过每日站会同步进度,使用GitLab进行分支管理,实现开发效率提升20%。

二、实习内容及过程

实习目的主要是把学校学的软件开发理论跟实际工作对接上,看看自己在真实项目里能干啥,顺便熟悉互联网公司的开发流程。

实习单位是家做在线教育平台的,主要业务是做课程系统和用户互动功能,技术栈偏前后端分离,后端用JavaSpringBoot多,数据库是MySQL和MongoDB。

实习内容开始时跟着导师熟悉项目代码,用Git拉取代码库,看项目结构,搞明白几个核心模块的逻辑。7月5号开始独立负责课程评论模块的开发,需求是支持用户对课程内容发表文字和图片评论,还要有点赞和回复功能。因为数据量可能比较大,导师建议用MySQL存结构化数据,图片评论部分用MongoDB存轻量文档。开发过程中踩了不少坑,比如一开始没注意数据库索引,导致插入数据特别慢,查询延迟老高,线上测试时查一个评论列表要等好几秒,用户体验不行。后来我查资料学了解决方案,给关键查询字段加了索引,比如评论的创建时间和用户ID,重新部署后响应时间直接降到了500ms以内。另一个问题是并发下会出现数据重复问题,后来用了Redis做分布式锁,控制写入顺序,问题就解决了。前后写了大概3k行代码,通过了导师的CodeReview,8月10号上线后,监控显示日均处理评论请求超过5w次,峰值时能扛住200qps的访问量。

后期还参与了消息推送模块的优化,以前用户上课超时不提醒,现在加了WebSocket实时推送功能,用SpringWebSocket实现服务端和客户端的直连,不用每次都轮询,大大降低了服务器压力。期间用了JMeter做了压力测试,发现线程数开到300的时候接口还是稳定的,说明架构设计得还行。

这次实习最大的收获是学会了GitFlow工作流,之前都是随便分支随便合并,现在知道怎么用featurebranch、hotfixbranch规范管理代码,还掌握了Postman调试接口和Jenkins自动化部署的基本操作。最大的挑战就是第一次独立负责一个功能上线,压力挺大的,怕出Bug影响用户体验。为了克服这个,我每天晚上都会模拟用户场景测试几遍,还写了个测试脚本,上线前把核心功能跑了100遍,最后总算平稳过渡。这段经历让我明白做开发不光要会写代码,还得懂点数据库优化、并发控制、系统监控这些,不然写出来的东西可能就是一堆废铁。职业规划上更坚定了,想往分布式系统方向发展,感觉这块挺有挑战的,也符合我喜欢的钻研技术的感觉。

实习过程中也发现单位管理上有点问题,比如需求变更比较频繁,有时候一天要改好几回,影响开发节奏。培训机制也一般,就给了个代码库访问权限,没人手把手教怎么用设计模式或者啥的,都是得自己摸索。岗位匹配度上,我学的数据库和算法部分用得不多,后端开发里更偏前后端交互和业务逻辑,感觉技术深度还有待加强。建议单位能给实习生安排个资深工程师带一带,定期讲讲技术方案或者架构设计,这样成长会快很多。另外需求变更频繁可以考虑用Jira的版本管理功能控制一下,不能说改就改,得有个评估流程。

三、总结与体会

这8周实习像是在学校学东西之外,又打开了一扇看世界的窗。从7月1号到8月31号,每天在电脑前敲代码,感觉跟以前在学校写作业完全不一样,有实实在在的责任感。当初去实习,就是想看看自己学的软件开发能不能在真实项目里用上,结果真的收获满满。

实习最大的价值闭环是,我当初想掌握数据库优化和并发处理,实习期间负责的课程评论模块正好用上了。为了解决评论插入慢的问题,我研究了MySQL索引原理,甚至写了点SQL慢查询分析的小脚本,最后把延迟从几百毫秒降到一百毫秒以内。导师还夸我这点做得不错。这个经历让我觉得,学习不能只停留在理论,得动手实践,在实践中解决问题,才能真正把技术吃透。职业规划上,这次经历直接坚定了我往分布式系统方向的决心。我发现自己挺喜欢那种系统庞大、架构复杂但又稳定可靠的技术挑战,感觉未来很有发展空间。

通过这次实习,也看到了行业的一些趋势。现在互联网开发越来越强调自动化和效率,比如我们用Jenkins自动部署,用GitLab管理代码,还有监控工具24小时盯着系统状态。这让我意识到,以后做开发光会写代码肯定不够,还得懂点DevOps,会用各种工具链。这也成了我接下来要重点学习的内容。

心态转变是最大的体会。以前在学校,写个程序跑通就行,现在不一样了,得考虑性能、稳定性、安全性,还得想着怎么让用户用着爽。8月15号晚上调试那个并发重复问题到凌晨两点,虽然累,但看到问题解决、系统恢复正常,那种成就感是以前没有的。抗压能力确实提升了,也明白了团队合作的重要性,一个人埋头苦干效率不如大家多交流。

对未来,我打算把实习期间学的SpringBoot和MySQL知识再深钻一下,争取拿下PMP证书,提升项目管理认知。感觉有实习经历打底,简历上也能写点具体的项目和数据,以后找工作肯定更有优势。这段经历就像给我的职业生涯打了个强心针,让我更有信心去迎接未来的挑战。

致谢

温馨提示

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

评论

0/150

提交评论