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

付费下载

下载本文档

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

文档简介

软件工程公司软件工程师实习报告一、摘要2023年7月1日至2023年8月31日,我在一家软件工程公司担任软件工程师实习生。期间,主要负责参与某电商平台后端系统的开发与测试,完成3个模块的代码编写与单元测试,提交代码提交次数达120次,其中通过率达到95%。核心工作成果包括优化商品推荐算法,使接口响应时间从800ms降低至300ms,提升30%。熟练应用Python和Java进行开发,通过Jira管理任务进度,使用Git进行版本控制,掌握了敏捷开发流程中的Scrum实践方法。在实习中,我深入理解了代码审查的重要性,并总结出“先测试后开发”的工作方法,该方法在后续项目中应用后,bug修复周期缩短了40%。二、实习内容及过程1.实习目的希望通过实习了解真实软件开发流程,提升实践能力,将学校所学应用到实际项目中。2.实习单位简介我在一家做电商后端的软件公司实习,团队主要用Java和Python开发服务端接口,项目采用微服务架构,代码库基于Git管理,流程是敏捷开发模式,每周开一次站会同步进度。3.实习内容与过程第12周主要是熟悉环境,跟着导师学习项目代码,了解业务逻辑。参与过一次需求评审会,讨论的是优化商品详情页加载速度的问题。第35周负责开发一个订单创建模块,需要调用3个第三方支付接口,自己写单元测试用例超过50个,用Postman模拟请求测试了各种边界情况。第67周参与线上bug修复,修复了一个高优先级的并发问题,用户反馈在同时下单时偶尔会出现库存重复扣减的情况。具体做了啥:用SpringBoot写RESTfulAPI,通过MyBatis操作数据库,用Redis缓存热点数据。每天写完代码都会提交到GitLab,写完就push,有时候一天提交10几个小分支。导师教我用Jira跟踪任务,每完成一个功能点就更新状态。团队里CodeReview挺严格的,我提交的几个PR(PullRequest)都被要求重写了好几次。4.实习成果与收获成果方面,那个订单模块按时上线了,测试覆盖率达到了85%,上线后线上A/B测试数据显示接口响应时间稳定在200ms以内。最大的收获是学会了怎么处理高并发场景,之前在学校做项目从没遇到过这种问题。面对锁竞争导致的死锁,我查了资料学会了用分布式锁,用Redisson实现了分布式事务,最后线上再也没出现那个问题。还学会了怎么写更健壮的单元测试,以前写测试只想过用例全覆盖,现在知道要考虑异常场景。5.问题与建议实习中遇到的挑战主要是:一是有次需求没完全理解就动手写,导致返工了,花了两天时间重写模块;二是团队内部文档太少了,有些技术细节只能问同事。我的解决方法是自己把学到的整理成笔记,还建议公司给新人弄个技术文档库,现在很多东西都在聊天群里找,效率低。另外觉得公司培训机制可以再完善点,比如基础的技术栈培训可以更系统些,我们组有新人连Docker都没用过,只能手动装环境。岗位匹配度方面,我觉得我的数据库知识还可以再加强,实习中用到SQL的地方还是有些吃力。建议公司可以搞个内部技术分享会,让老人带带新人,现在大家都很忙,没人有精力手把手教。三、总结与体会1.实习价值闭环这8周实习像把理论和实践拧成了一股绳。刚来时懵懵懂懂,连Docker容器怎么用都发愁,后来跟着团队做项目,从需求评审到代码提交,每一步都跟上了节奏。印象最深的是那个订单模块,写单元测试时花了整整3天写用例,导师还让我再加一组模拟网络延迟的测试,虽然开始觉得麻烦,但上线后系统稳定多了。这让我明白,以前在学校写个功能只要自己跑通就行,现在得考虑各种极端情况,这就是真实开发跟课堂作业最大的区别。最扎心的数据是,我提交的代码第一次CodeReview被退回修改的地方有7处,现在回看那些修改,每一处都让我学到新东西。比如之前写SQL总是用`SELECT`,导师教我用`EXPLAIN`分析执行计划,发现一个查询慢了是因为用了全表扫描,改用索引后查询时间从500ms降到50ms。这种细节上的提升,在学校根本接触不到。实习结束时我负责的模块用户反馈很好,有次线上监控显示接口并发处理能力比预期高30%,虽然不是我自己单独完成的,但参与其中让我很受鼓舞。2.职业规划联结这次经历让我更清楚自己适合什么样的工作。之前想找个纯算法岗,现在发现后端开发更适合我,特别是看到团队怎么用SpringCloud治理微服务,怎么用Prometheus监控告警后,觉得这种系统化的东西很有挑战性。实习最后我主动跟导师聊了职业发展,他说现在公司缺有经验的人做中间件优化,建议我下学期补补Kafka和Nginx的知识。这让我决定下学期考个AWS认证,现在已经在学S3和EC2的相关课程了。最重要的是,我发现了自己的短板。比如有一次写定时任务处理库存同步,因为没考虑数据量太大导致内存溢出,花了2小时才定位问题,这让我意识到分布式系统设计这块必须补上。现在在整理实习笔记时,专门开了个文档记录这些坑,打算找机会做个小型分布式项目练练手。3.行业趋势展望在公司看到好几个技术趋势在现实中应用。比如他们用的分布式事务是本地消息表+定时任务补偿的方案,比新潮的Seata还接地气;还有那个商品推荐系统,用的协同过滤算法,但团队在讨论要不要引入图数据库Neo4j来优化相似度计算。这让我意识到,行业里很多技术选型不是看谁最新,而是看谁最适合业务场景。导师跟我说现在公司招人特别看重"工程化能力",什么CI/CD、自动化测试、线上监控,这些以前觉得是运维的事,现在才知道后端开发必须懂。他们用的CI是Jenkins配合GitLab,每次提交代码都会自动跑测试和镜像构建,比学校实验室那种手动编译环境好太多了。这让我觉得,以后学技术不能只盯着核心代码,还得把整个开发运维流程都摸透才行。现在在关注CNCF那些新技术趋势,打算学学Knative和Terraform,感觉这些可能是未来几年后端开发绕不开的东西。四、致谢1.感谢实习期间给予指导的团队,特别

温馨提示

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

评论

0/150

提交评论