软件工程软件开发公司软件开发工程师实习报告_第1页
软件工程软件开发公司软件开发工程师实习报告_第2页
软件工程软件开发公司软件开发工程师实习报告_第3页
软件工程软件开发公司软件开发工程师实习报告_第4页
软件工程软件开发公司软件开发工程师实习报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

软件工程软件开发公司软件开发工程师实习报告一、摘要

2023年7月1日至2023年8月31日,我在一家软件工程软件开发公司担任软件开发工程师实习生。期间,我主要参与了一个电商平台项目的后端开发工作,负责用户认证模块的设计与实现。通过运用Java语言和SpringBoot框架,我完成了5个核心API的开发,并优化了数据库查询效率,使平均响应时间从300毫秒降低至150毫秒。此外,我运用Git进行版本控制,并通过Jenkins实现了自动化构建,累计提交代码127次,解决bug23个。实习期间,我掌握了敏捷开发流程中的迭代管理方法,并将单元测试覆盖率从60%提升至85%,验证了技术方案的有效性。

二、实习内容及过程

1.实习目的

我这次实习主要是想看看自己学的软件工程知识在实际开发里能干啥,能不能跟上节奏。想体验下真实项目的开发流程,尤其是敏捷开发那套东西是怎么玩的,顺便把简历上那些技术点,比如Java、SpringBoot、Git什么的用起来。

2.实习单位简介

那家公司规模不大,但挺专注做电商后端的,客户都是中小商家。技术栈以Java为主,后端框架用SpringBoot,数据库是MySQL和Redis。我所在的团队就4个人,一个TechLead,两个后端开发,我一个实习生。

3.实习内容与过程

刚开始是熟悉项目,那套代码量有点吓人,注释也不全。TechLead给了我一个用户认证模块的Task,让我先从登录接口开始。这个模块用到了JWT做token验证,我还得配个Redis缓存token,避免频繁查数据库。写代码的时候踩了不少坑,比如JWT解析时签名算法没对上,导致token总过期。后来问了Lead,才知道得用项目里指定的HS256算法。

后来我又接手了订单创建接口,这个接口比较复杂,要调用库存、支付这几个微服务。开发过程中发现数据库事务有点问题,某个服务挂了会导致订单状态混乱。我琢磨了两天,最后用了Spring的分布式事务,加了个超时机制。测试时还模拟了服务宕机,确实稳了点。

4.实习成果与收获

这8周我总共写了5个API,修复bug23个,提交代码127次。最让我满意的的是那个订单创建接口,上线后接口成功率从92%提升到98%,而且平均响应时间降了1秒多。我学会了怎么用JMeter压测,发现缓存命中率可以从60%提到85%。最大的收获是理解了敏捷开发里的小步快跑是怎么实现的,每个sprint结束时得有可用的功能,不然客户那边会很急。

遇到的困难主要是初期对业务逻辑不熟,比如一个优惠券用的逻辑,商家搞了半天,我愣是花了3天理清关系。后来我逼着自己多问,而且把关键逻辑画了时序图,慢慢就顺了。另一个是Redis缓存穿透问题,有次查不存在的用户导致数据库压力巨大。解决方法是用了布隆过滤器,虽然项目里没现成方案,但我自己捣鼓了两天搞定了。

5.问题与建议

那家公司管理上有点乱,比如需求变更没人统一管,有时候几个方向同时改,搞得我头大。建议他们搞个需求看板,每天同步一次。培训机制也挺水的,就给我发了几篇文档,也没人带。最好能配个正式的Mentor,每周聊点东西。岗位匹配度上,我本来想学点前端,但实际做的是纯后端,感觉有点浪费我之前的努力。建议他们给实习生多开点选择,比如前端或者全栈的轮岗机会。

三、总结与体会

1.实习价值闭环

这8周实习像把书本知识具象化了。刚开始接手用户认证模块时,JWTtoken的各种坑让我焦头烂额,比如算法不对导致过期,Redis配置错误引发缓存雪崩。硬着头皮查文档、问同事,最后搞明白原理,写出来的代码居然一次通过了所有测试用例。那一刻感觉特别踏实,原来理论结合实践这么重要。我写的5个API,其中订单创建接口用了分布式事务,上线后客户那边反馈稳定性好了不少。这种把想法变成真实产品,并且看到数据变好的感觉,是学校里做项目没法给的。127次代码提交记录和23个bug修复,这些数字看着简单,但每个后面都跟着具体的调试过程和解决方案。

2.职业规划联结

实习前我想的是毕业随便找个工作,但这次经历让我更清晰了。我发现后端开发里,数据库优化和缓存策略太重要了,之前光顾着写业务逻辑,这些细节完全忽略。所以接下来打算系统学下MySQL高级特性,顺便考个AWS的认证。另一个收获是认识到沟通的重要性,比如有次我自作主张把某个接口的返回格式改了,结果前端那边对接半天。现在写代码前会先确认需求文档,而不是想一出是一出。这种职场人的严谨态度,比单纯会写代码更有价值。

3.行业趋势展望

公司用的SpringBoot和Redis都是后端标配,但后来接触了微服务,发现Docker和Kubernetes才是未来趋势。虽然这次没直接上手,但回去肯定要补课。现在看各种大厂招聘都要求熟悉云原生,这8周让我意识到,技术迭代太快了,光靠学校教的不行。而且电商行业对性能要求特别高,我参与的订单模块优化,把QPS从500提升到800,才明白为什么得用Nginx负载均衡。这让我觉得,学技术不能只停留在会用,得懂底层原理,不然遇到复杂问题就会卡壳。

4.心态转变

最明显的变化是对责任的感知。以前写代码随便删改,现在得考虑会不会影响其他模块。有次半夜收到告警,发现是我在测试时没加限流导致服务挂了,虽然不是我的代码,但第二天还是主动去排查了相关依赖。这种从学生到职场人的心态转变,让我觉得肩上沉甸甸的。抗压能力也强了,以前做项目遇到Bug就想放弃,现在能冷静分析问题,查资料、写单元测试一步步解决。虽然这8周只学了皮毛,但这段经历让我明白,技术这东西不是学会多少,而是会不会学,怎么学得更快。

四、致谢

1.

这次实习经历离不开几个关键的人。感谢那家公司给我机会,让我接触到了真实的开发环境,尤其是TechLead在技术上的指点,让我对分布式事务和缓存优化有了更深的理解。虽然他们没搞啥花里胡哨的培训,但那种遇到问题一起解决的氛围特别棒,比如有次我写的接口性能差,大家一起分析CPU和内存占用,最后定位到是SQL子查询没优化。

2.

我的学校指导老师也帮了不少忙,实习前帮我梳理了简历,临走时还提醒我注意职场礼仪。虽然没直接参与我的实习,但那些课上的软件工程理论,比如敏捷开发、需求分析,在实习中都用上了。

3.

团队里的几个同事也值得谢。有次我搞不懂Redis持久化机制,一个师兄晚上抽时间给我画了时序图,讲得特别透彻。还有个女生教了我

温馨提示

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

评论

0/150

提交评论