付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程互联网公司开发工程师实习报告一、摘要
2023年7月1日至2023年8月31日,我在一家互联网公司担任开发工程师实习生,主要负责后端系统模块开发与测试。期间,我主导完成3个核心功能模块的开发,包括用户认证系统优化、数据可视化接口重构,累计编写并调试代码超过5000行,其中通过单元测试的代码占比达92%。运用SpringBoot框架实现RESTfulAPI设计,结合Docker容器化部署,将接口响应时间从平均850ms缩短至320ms,性能提升约62%。通过Git进行版本控制,参与5次代码合并与冲突解决,熟练应用敏捷开发流程中的每日站会与迭代评审机制。实习中形成的自动化测试脚本被团队纳入标准开发流程,有效降低了后续维护成本。
二、实习内容及过程
2023年7月1日到8月31日,我在一家做电商后端的团队实习,岗位是开发工程师。实习目标挺明确的,就是想看看自己学的后端开发能不能在实际项目里用起来,顺便了解下互联网公司的开发流程。
公司规模不大,大概有五十来号人,主要做C端业务,后端用JavaSpringBoot,数据库是MySQL和MongoDB,前端是React。我跟着的一个项目是优化商品详情页的加载速度,那段时间前端同学反映页面白屏时间有点长,我接手了后端相关的优化工作。
具体过程就是先分析接口的响应时间,用JMeter压测发现商品详情接口有20%的时间卡在数据库查询上。我花了两天时间重写了那个接口的数据库查询语句,加了几个索引,还把部分数据改成了Redis缓存。改完之后用同样的工具压测,接口平均响应时间从700ms降到280ms,缓存命中率做到了75%。期间还踩了不少坑,比如一开始没注意MongoDB的索引类型,导致查询效率低到离谱,后来请教了带我的师傅才明白B树索引和哈希索引的区别。另一个挑战是部署时遇到的内存溢出问题,发现是某个第三方SDK内存泄漏,最后用JProfiler定位到问题,改成了按需加载的方案。
实习期间还参与了新功能的开发,比如用户行为分析模块,用到了Elasticsearch做搜索,那部分需求挺有挑战的,既要保证实时性又要控制成本。我尝试了不同的分片策略,最后选了个平衡点,现在查询延迟稳定在100ms以内。
这8周最大的收获是学会了怎么在实际项目中用Git进行分支管理,特别是参与了一次紧急的线上bug修复,从分支创建到代码合并花了不到2小时就上线了。之前在学校做项目,分支管理都是随便搞搞,真到了业界标准流程才觉得之前做得太糙了。还接触到了Docker容器化部署,虽然只是帮忙调试镜像,但了解了imagelayer和volume挂载这些细节,比学校教的多不少。最大的转变是开始关注代码的健壮性,以前写代码图省事,异常处理都不太完善,现在写每个接口都会想各种cornercase。
遇到的困难主要是团队培训机制有点薄弱,刚开始几天没人系统地讲项目背景和技术栈,全靠自己去啃文档。岗位匹配度上也有点小问题,我被分到的任务偏测试和优化多一些,想深入核心业务逻辑的机会没那么多。比如想参与前端改造项目,但感觉被后端这块大石头绊住了脚,没能及时转到那个track上。
有几点建议,一是公司可以考虑搞个新人技术分享会,不用太正式,每周一小时,让老员工讲讲项目难点或者某个技术选型的故事。二是可以在代码库放个Wiki,把每个模块的设计思路和接口文档都详细点,这样新人上手会快很多。最后我觉得可以搞个内部技术论坛,让大家分享踩坑经验,比官方的培训材料生动多了。
三、总结与体会
2023年8月31日,实习结束那天,我合上电脑,脑子里翻来覆去都是这8周的经历。回看实习日志,从7月1日那个还不太敢跟同事交流的愣头青,到现在能独立完成一个功能模块并推动它上线,变化挺大的。
这段经历给我最大的价值是完整走了一遍互联网公司的软件开发生命周期。从需求评审会开始参与,到用GitLab管理代码提交,再到Jenkins自动化构建部署,最后是线上监控和问题排查,每个环节都跟学校实验室里模拟的不太一样。比如那个用户认证系统重构项目,我主导了OAuth2.0方案选型,为了验证性能,在测试环境搭建了模拟5000用户的压测环境,发现Token刷新接口有性能瓶颈,后来改用Redis集群缓存方案,QPS从800提升到6500,这个数据现在还刻在我电脑的屏保上。这种把理论落地,再用数据验证效果的感觉,跟学校做课程设计完全不一样,收获巨大。
实习也让我更清楚自己未来的方向。之前我对微服务很模糊,觉得不就是拆分系统吗?来了之后看到团队用SpringCloudAlibaba实践服务注册发现、配置中心和熔断器,才明白每个组件选型都有讲究。现在我在想,要不要趁秋招前把Kubernetes好好补一下,至少能跟面试官聊点实际的东西。带我的师傅跟我说过,现在后端开发光会写代码远远不够,得懂点运维和架构,这让我意识到持续学习的重要性,打算下学期考个AWS认证。
看着线上跑着自己写的代码,那种成就感是做课程设计给不了的感觉。以前觉得写个接口跑通就行,现在会想这个接口的幂等性怎么保证,异步处理用什么消息队列更合适,这些细节在实习中潜移默化地培养起来了。最大的心态转变是责任感。比如有一次凌晨3点收到线上告警,发现是缓存雪崩导致接口超时,虽然不是我的代码,但主动去查日志,最后帮忙定位到是另一个同学写的定时任务触发的,虽然只是小问题,但让我体会到作为团队一员,关注整个系统的稳定是应该有的态度。
对行业趋势的观察也加深了。现在大家都在提云原生,但真正能做到的没几个。我实习的公司虽然基础架构还比较传统,但已经在逐步引入K8s和Serverless,这种务实让我觉得很有意思。未来如果要做技术选型,可能不会盲目追时髦,而是先看它能不能解决实际问题,成本会不会过高。比如Elasticsearch虽然好用,但看到有些团队为了节省成本用Solr替代,这说明技术在商业环境里也要讲经济性。
总的来说,这8周不是简单的打杂,而是把学校学的知识跟真实世界打通了。虽然最后的项目数据可能被覆盖,但那些解决问题的思路、排查问题的习惯,还有跟人协作的经验,是永远不会过期的。现在每天通勤路上还在想昨天那个分布式事务的方案,感觉离真正的工程师又近了一步,这种感觉挺不错的。
四、致谢
感谢那家互联网公司给我实习的机会,让我接触到了真实的软件开发流程。特别感谢我的导师,在我遇到技术难题时给予的指导,比如那个Redis缓存优化的问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 副处级管理干部竞聘知识能力考试题(B卷)及答案
- 安全生产责任制及管理制度
- 2026四川天府德阳分行人才招聘备考题库带答案详解(综合题)
- 2026上半年甘肃事业单位分类考试备考题库发布了吗附答案详解(研优卷)
- 2026四川天府德阳分行人才招聘备考题库附参考答案详解(培优)
- 2026年一般从业人员(全员培训)《新安全生产法》安全生产模拟考试题含答案
- 员工个人总结与自我评价范文6篇
- 2026上半年贵州事业单位联考贵州省红十字会招聘1人备考题库附答案详解(综合卷)
- 2026广东广州花都区新雅街尚雅小学招聘语文专任教师2人备考题库含答案详解(综合题)
- 2026广东华南师范大学招聘幼儿教师1人备考题库附答案详解(满分必刷)
- 地下矿山采掘安全培训课件
- 小程序海豚知道看课件
- 工程部机电安装主管年终总结
- 留置看护培训课件
- 电机润滑基础知识培训课件
- 施秉县恒泉水产养殖有限责任公司施秉县利来水产养殖项目环评报告
- 传统米醋制作工艺流程介绍
- 2025年住院医师规范化培训考试(肾脏内科)历年参考题库含答案详解(5卷)
- 血液小学生课件
- DB51∕T 2998-2023 四川省小型水库标准化管理规程
- 森林消防安全知识课件
评论
0/150
提交评论