计算机软件开发程序员实习报告_第1页
计算机软件开发程序员实习报告_第2页
计算机软件开发程序员实习报告_第3页
计算机软件开发程序员实习报告_第4页
计算机软件开发程序员实习报告_第5页
全文预览已结束

下载本文档

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

文档简介

计算机软件开发程序员实习报告一、摘要2023年7月1日至2023年8月31日,我在一家互联网企业担任软件开发实习生。期间,主要参与某电商平台后端系统的优化工作,完成了3个核心模块的重构,将接口平均响应时间从450毫秒降低至180毫秒,吞吐量提升40%。应用了SpringCloudAlibaba框架进行微服务拆分,通过Redis缓存优化查询效率,使数据库负载下降35%。熟练运用Git进行版本控制,累计提交代码127次,解决冲突23次。掌握了敏捷开发流程中的CI/CD自动化部署,使用Jenkins构建了5个流水线,将部署周期缩短至2小时。总结出基于日志埋点的性能瓶颈定位方法,可应用于同类项目。二、实习内容及过程1.实习目的想着能接触点实际项目,把学校学的那些API、数据库啥的用起来,看看大厂的开发流程是怎么样的,顺便提升下解决实际问题的能力。2.实习单位简介那家公司做电商后端开发,技术栈主要是Java,搞了挺多年了,项目确实有点东西,不过有些地方也老掉牙了。3.实习内容与过程我被分到了一个项目组,负责优化一个老系统的订单模块。这模块代码挺乱的,注释也少,一开始真头大。导师让我先从日志分析开始,看看是哪块儿卡着。我用了Prometheus+Grafana画了几个监控图,发现库存查询接口响应时间老超标,占用了大概30%的资源。后来查了慢查询日志,发现Redis缓存命中率低,好多重复查询。我就琢磨着加个缓存策略,用Redis的setnx命令加锁,避免超卖问题。写了个小测试,本地跑没问题,但上线后居然报了几个空指针。后来发现是早期版本遗留的null处理没做好,坑爹。最后改完上线,测试环境数据跑下来,接口响应时间从450ms直接干到180ms,QPS从800飙到1200,老板还挺满意。另外还参与了服务拆分,把订单创建和支付两个独立模块用SpringCloud拆出去。以前老是一个巨大的jar包,部署起来慢,监控也难。拆完之后发现每个服务能单独扩容,压力小多了。4.实习成果与收获八周里提交了127个Git提交,解决了23个冲突,重构了3个模块,做了5个CI流水线。最大的成就是那个缓存优化,上线后系统负载直接降了35%,客户那边投诉少了。还学会了怎么用ELK堆日志,对系统瓶颈的定位思路清晰多了。最大的收获是认识到代码质量有多重要,注释少真要命,以后写代码一定多写注释。还有就是团队协作,有时候一个改动能影响好几个模块,沟通太关键了。5.问题与建议有个事儿挺烦的,就是公司有些老员工技术确实不错,但没啥耐心带新人,分配给我的任务描述也模糊不清,有时候要反复问才能搞明白。另外培训机制也挺弱的,就发了几本书,没啥系统性的培训。我觉得吧,可以搞个实习生专属的代码评审会,让老员工带着讲讲项目架构,或者搞个内部Wiki,把那些坑和解决方案都记下来。还有,任务分配的时候最好写清楚背景和预期结果,别到时候干半天还跑偏了。三、总结与体会1.实习价值闭环这八周,从7月1日懵懵懂懂地接手那个注释满天飞的订单模块,到8月31日把它性能优化将近一半,中间真是踩了不少坑。比如那个Redis锁的实现,本地测试完美,一上线就因为早期代码的null处理炸了几个接口。后来对着日志查了三天,把所有可能为空的字段都加了防御,才搞定。这段经历让我明白,写代码不能只靠本地测试,线上环境复杂得多。学校学的理论框架вродеSpringCloud、微服务这些,真用起来才知道细节那么多,比如服务注册发现用Eureka比Zookeeper好在哪里,网关的熔断器怎么配置最合理。把127次Git提交变成上线后35%的负载下降,这种把想法变成产出的感觉太棒了。2.职业规划联结这份实习让我看清了自己想干嘛。以前觉得后端就是写写CRUD,现在知道一个高性能系统背后是无数细节的权衡,从数据库索引到缓存策略,再到服务治理。我发现自己还挺喜欢钻研底层原理,比如这次用Prometheus+Grafana画监控图,从零开始配置的过程让我挺有成就感。接下来打算把这块儿深化下,看看能不能考个CKA认证,至少对Kubernetes的理解能更深一层。导师说我对性能调优有股劲儿,也许以后可以往SRE或者中间件方向发展,这比单纯写业务代码挑战大,但也更有意思。3.行业趋势展望在那家公司看到的很多实践,比如敏捷开发中的CI/CD流水线,还有用ELK做日志分析,现在云厂商的托管服务也越来越多,但自己懂底层原理总不是坏事。感觉现在做开发,光会写代码远远不够,还得懂系统架构、懂运维,甚至懂点业务。特别是分布式系统,像微服务治理、容灾这些,以后肯定更吃香。我注意到他们内部还在搞Serverless的探索,虽然用得不多,但感觉会是未来方向。这次实习让我意识到,技术迭代太快了,不持续学习真会被淘汰。后续打算多关注云原生这块,看看K8s、ServiceMesh怎么发展,也许以后能结合业务做点有意思的东西。4.心态转变八周前我还觉得写个接口多简单啊,八周后才知道线上每毫秒都要计价。遇到问题不再像以前那样慌,会先尝试自己搜解决方案,实在不行再问。比如那个Redis锁问题,我查了多篇博客,对比了不同方案的优劣,最后才找到问题根子。这种独立解决问题的能力,感觉比学会多少新技术更重要。现在写代码会想得更多,比如这次加缓存,不仅要考虑性能,还要考虑一致性问题,甚至要写完善的监控。这种责任感,是从学生时代很难体会到的。四、致谢1.感谢

温馨提示

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

评论

0/150

提交评论