软件工程软件园系统工程师实习报告_第1页
软件工程软件园系统工程师实习报告_第2页
软件工程软件园系统工程师实习报告_第3页
软件工程软件园系统工程师实习报告_第4页
软件工程软件园系统工程师实习报告_第5页
全文预览已结束

付费下载

下载本文档

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

文档简介

软件工程软件园系统工程师实习报告一、摘要

2023年7月10日至2023年8月27日,我在XX软件园担任系统工程师实习生,参与XX项目开发与测试工作。核心工作成果包括完成3个模块的代码开发,累计编写代码量约1200行,其中单元测试通过率达95%;协助搭建并优化5套测试环境,使部署效率提升20%;通过日志分析定位并解决2个系统性能瓶颈,响应时间缩短30%。专业技能应用涉及Java编程、Docker容器化部署及Jenkins自动化构建,熟练运用Git进行版本控制与协作开发。提炼出的可复用方法论包括模块化设计减少耦合度、自动化测试提升交付质量,以及日志驱动问题排查的系统性方法。

二、实习内容及过程

2023年7月10日入职,在XX软件园实习8周,岗位是系统工程师。实习目的主要是把学校学的分布式系统、数据库这些知识用上,看看实际项目怎么跑。单位是做企业服务的,主要搞B2B的SaaS平台,技术栈有Java、SpringCloud、K8s,环境是云原生的。

第2周开始接触项目,是做订单管理模块。需求是支持高并发下的订单事务,我负责写商品库存扣减那块逻辑。用到了Redis做分布式锁,避免超卖问题。刚开始写的时候,测试同学压测发现并发100的时候就有问题,锁策略死锁率飙高。后来发现是锁的粒度太细,改成了按商品ID分段锁,死锁率立马降了90%,测试通过。这段经历让我懂了分布式锁不是随便套用模板的,得看业务场景调优。

第5周参与了数据同步模块的重构。原系统用MQ异步处理,但延迟有几分钟,老板抱怨报表不准。我提议用消息队列的事务消息功能,结合数据库binlog,把同步时间缩到秒级。花了3天把MySQL的binlog解析器搭起来,跑了几次全量数据发现延迟基本是0。上线后运营同学反馈报表准点率提升85%。虽然过程踩坑不少,比如解析器初期把时间戳解析错了导致数据重复,但硬是把bug一个个找出来改了。

实际操作里最头疼的是环境问题。测试环境跟线上差太多,部署经常失败。比如有一次因为镜像版本不一致,镜像pull超时,折腾了半天才发现是测试网络限速。后来我建了个镜像库私仓,强制用指定版本的镜像,部署成功率从60%提到了95%。这让我认识到开发环境配置的重要性。

遇到的最大挑战是需求变更频繁。有时候前一天写的接口,第二天产品说要改字段,搞得代码都得重写。有次因为需求调整,我之前写的单元测试全挂了,花了两天补全。虽然挺烦人,但也逼着自己学得快,现在写代码前会多想几种可能的改法。

技能上最明显的是Jenkins用熟练了,以前只会简单跑脚本,现在能搭Pipeline了。还把Dockerfile优化了不少,以前写的一堆COPY,现在都改成了build上下文,镜像体积小了40%。思维上最大的转变是认识到系统设计不能光看理论,得考虑成本。比如为了追求高可用加了太多副本,最后发现资源浪费严重,得平衡成本和性能。

单纯看数据,我负责的模块上线后,系统吞吐量从500TPS提升到800TPS,错误率降了70%。但要说问题,单位培训确实一般,都是靠项目带,没人系统讲架构。建议可以搞个新人训练营,每周固定时间讲讲技术选型思路,或者开源项目源码解读啥的。另外岗位匹配度也有点悬,我来了后发现很多工作要做运维层面的东西,跟我想的纯开发差得有点远,希望后续能更精准匹配学生方向。

三、总结与体会

这8周,从2023年7月10日到8月27日,在XX软件园的经历让我对软件工程有了更实体的感受。实习的价值在于把学校的理论跟真实世界的项目拧在了一起。之前觉得分布式事务就是写几行代码搞个补偿,实际做起来才发现要考虑网络抖动、幂等性,我参与的订单模块就因为没处理好幂等,测试压测时出了超卖问题,后来加分布式锁才解决。这段经历让我明白,理论到实践不是简单的翻译,得在每个环节都多想一层。

职业规划上,这次实习让我更确定想往后端架构方向发展。之前对运维、测试也感兴趣,但接触项目后发现,我更享受设计系统、解决复杂问题的过程。比如重构数据同步模块时,从MQ异步到binlog实时,虽然踩了binlog解析时间戳的坑,但最终把延迟降了85%,这种把系统做优的感觉特别带劲。这也印证了我未来想学的方向,打算下学期深入研究下Kafka和Flink,争取把消息队列和流处理搞透。

行业趋势上,这次实习让我看到云原生和微服务不是嘴上说说,而是真的在改变开发方式。我们项目用Docker和K8s,一开始我对镜像构建、编排都不熟,结果发现不学这些,部署效率跟不上去。现在看网上大厂都在搞Serverless,感觉不掌握这些新东西,以后真可能被淘汰。这也给我提了个醒,学习不能只盯着课本,得跟上技术迭代,比如Dockerfile的写法、K8s的Ingress策略,这些都得赶紧补上。

心态转变上,最大的变化是对责任的理解。以前写代码写完就行,现在会觉得整个模块的稳定性都得背。有一次半夜被叫起来改缓存策略的bug,虽然烦但确实学到了,系统问题不能拖,必须第一时间解决。抗压能力也练出来了,连续加班两周,周末还要赶进度,虽然累但感觉自己能扛的事儿多了。这种从学生到职场人的感觉,挺奇妙的,也让我更珍惜学校的资源,打算下学期更主动去实验室接触实际项目。

未来打算把实习里没搞透的技术再啃一遍,特别是binlog解析和分布式事务,考虑去考个CKA认证,把K8s技能补齐。实习时还发现,写技术文档特别重要,上次我负责的模块因为注释不清,运维排查问题花了半天时间,这让我意识到,以后做开发不能只顾写代码,得学会用文档跟团队协作。总的来说,这次实习没白来,收获的不仅是技能,还有看待问题的新角度。

致谢

在XX软件园的这8周实习,我得到了很多帮助。感谢导师在项目上给我的指导,尤其是在订单模块的锁设计问题上,他的建议让我少走了很多弯路。也谢谢那些一

温馨提示

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

评论

0/150

提交评论