计算机科学与技术互联科技软件工程师实习报告_第1页
计算机科学与技术互联科技软件工程师实习报告_第2页
计算机科学与技术互联科技软件工程师实习报告_第3页
计算机科学与技术互联科技软件工程师实习报告_第4页
计算机科学与技术互联科技软件工程师实习报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

计算机科学与技术互联科技软件工程师实习报告一、摘要2023年6月5日至8月22日,我在互联科技担任软件工程师实习生,负责后端API开发与优化。核心工作成果包括重构支付模块接口,将响应时间从450ms降低至120ms,QPS提升至8000,错误率下降35%;参与用户画像系统开发,处理日均数据量达500GB,通过引入缓存机制将查询效率提升60%。期间应用SpringBoot框架实现微服务架构,运用Docker容器化部署加速环境配置,使用Prometheus+Grafana监控系统性能。提炼出的缓存穿透解决方案与异步处理模式可直接应用于高并发场景,验证了分布式计算理论在工业级项目中的实践价值。二、实习内容及过程1.实习目的想着毕业不说点实际的东西,简历都不好看,就想着来实习长点见识,看看自个儿学的那些东西在真金白银的项目里是啥样。就想体验下软件工程师的日常,搞搞后端,看看能不能把手头学的SpringBoot啥的用起来,顺便感受下业界的水温。2.实习单位简介我去的是互联科技,做的是各种在线服务的软件开发,用户量挺大,系统复杂度也高。他们那边技术栈感觉挺全,Java后端多,还有不少云原生的东西在用。3.实习内容与过程刚去那会儿,6月5号到6月10号,主要是熟悉环境,跟着导师看了下现有系统的文档,主要是支付和用户画像这两个模块。支付模块的老接口响应慢,动不动得450ms出结果,客户投诉不少。用户画像系统数据量大,500GB/day,查询慢得要命。导师就让我先从支付模块入手,看看能不能优化下。我花了两天摸了摸代码,发现是数据库查询问题,有些接口得查好几个表,还带点复杂计算。6月11号到6月20号,我就开始重构这部分代码,加了一些缓存,用的Redis。白天改代码,晚上跑压力测试,看效果。改完后,6月21号测了一下,最慢的接口响应时间掉到120ms,QPS上到8000,之前才3000,错误率也降了35%。导师看了还算满意,就让我继续搞用户画像系统。那个系统是用了Elasticsearch做搜索的,但索引更新慢,导致实时性不行。6月21号到7月15号,我试着用了消息队列RabbitMQ,把用户行为数据先存进去,然后异步更新索引。7月16号到7月25号,又加了个缓存层,用的本地内存缓存。测试时,7月26号白天用压测工具模拟了正常峰值,发现查询效率真的提升60%,系统扛得住5000QPS的请求。不过中间踩了不少坑,比如一开始没处理好消息重复消费的问题,导致数据错乱,花了两天时间才搞明白要加幂等键。7月26号到8月10号,又参与了新功能开发,是个推荐系统,用了机器学习模型的特征工程部分。导师让我负责后端服务,用SpringBoot搭的,数据接口用了Kafka,因为数据量大,得解耦。期间还学了点Docker,把环境打包成容器,部署快不少。4.实习成果与收获主要成果就是那个支付模块优化,客户那边反馈好了不少。用户画像系统也上线了,现在查询快多了。还搞懂了消息队列和缓存怎么用,遇到问题怎么查资料解决。最大的收获是感觉自个儿写代码的手感好多了,以前写代码跟写作业似的,现在知道怎么考虑性能、扩展性了。比如加缓存时,会想缓存穿透、缓存击穿怎么解决,怎么设置过期时间。遇到的挑战主要是那个消息队列问题,一开始没经验,消息积压导致系统卡顿。后来查了好多资料,才知道要加延迟队列、重试机制这些。还学了Prometheus+Grafana看系统监控,感觉挺有用的。这段经历让我觉得,学校学的理论还得跟实际结合,光会写代码不行,得知道怎么用工具解决真问题。5.问题与建议实习期间也发现点问题。比如单位内部管理有点乱,有时候需求变更没人统一协调,导致我这边返工不少。还有就是培训机制吧,刚去就扔个文档让我看,没人手把手教,有些技术细节真得自己钻。岗位匹配度上,我学的东西用得不多,比如数据库优化、分布式事务这些接触得少,希望能有更多实践机会。改进建议的话,希望单位能给新人搞个岗前培训,比如系统架构、常用工具这些,别一上来就让你接活。需求变更时,最好有个会议同步一下,避免重复劳动。另外,能不能多搞点CodeReview,我写的代码有人把关下,能学到不少东西。三、总结与体会1.实习价值闭环这8周,从6月5号到8月22号,感觉像是从理论世界掉进了实践场。一开始去的时候,心里挺没底的,就想着多看多学。结果真被现实教育了,书本上那些SpringBoot、Redis、消息队列,真用到系统里,问题一多,才知道自己懂的太少了。比如支付模块优化那会儿,450ms的响应时间,加个缓存就能到120ms,这差值让我直观感受到技术能带来的价值。后来用户画像系统那500GB/day的数据量,加上Elasticsearch和Kafka的组合,真正体验了一把大数据处理的挑战。每天对着日志、监控,调试到凌晨是常事,但每次问题解决后,那种成就感,是写作业做项目给不了的。感觉这8周,把课堂上学的一些零散知识点,通过实际项目串联起来了,才算真正入门。最重要的是,发现了很多自己的不足。比如一开始写代码没考虑扩展性,导致后面改起来很麻烦;还有对数据库优化这块了解太浅,索引、分表这些都没深入研究。这段经历就像给我画了个靶子,知道以后该往哪补枪了。导师也说过,我这人潜力挺大,就是得沉下心。现在回头看,确实学到了不少硬核东西,也知道自己哪方面得加强,实习的价值算是闭环了。2.职业规划联结这段经历直接影响了我的职业规划。以前觉得后端开发就是写写接口,现在明白,要做个好工程师,得懂系统架构、性能优化、数据库、中间件,甚至得了解点分布式事务、微服务治理。那套支付系统重构后,让我对高并发场景下的设计有了敬畏心。用户画像系统的Elasticsearch实践,也让我对搜索技术产生了兴趣。接下来打算深挖一下分布式计算这块,看看Hadoop、Spark啥的,顺便去考个AWS或者阿里云的认证,感觉这些技能在业界挺实用的。以前简历上写技能都是空话,现在好歹有了点实际经验可以写,面试时也能具体说上话。比如我可以详细讲讲支付优化那套方案,用到了哪些缓存策略,怎么测的QPS,降了多少错误率,这些比光说“熟悉SpringBoot”要有力多了。感觉自己下一步该怎么学,心里大概有谱了。3.行业趋势展望在互联科技那段时间,感觉整个技术栈还是挺前沿的。SpringBoot、Docker、Kubernetes、Kafka、Elasticsearch用得不少,还有那套推荐系统用到了机器学习,虽然我只是做了部分后端对接。这让我看到,现在软件行业真的在快速变化,云原生、大数据、AI这些技术已经深度融入业务了。之前在学校,觉得分布式、微服务是挺高级的东西,现在发现,不学这些,真进不了好公司。比如那天看技术分享,有人讲怎么用Kubernetes做服务自动扩缩容,应对流量峰谷,感觉挺有意思的。另外,看到系统里用的Prometheus+Grafana监控,也意识到运维和监控这块未来得重点学。行业趋势明显就是向更高效、更智能、更自动化的方向发展,这对工程师的要求越来越高,既要懂技术,还得懂业务,还得有系统思维。现在看来,大学这几年,光会写代码是远远不够的,还得培养解决问题的能力,还得持续学习,不然很快就会被淘汰。这段实习经历,让我对行业有了更直观的认识,也更有紧迫感了。4.心态转变最明显的还是心态变了。以前做项目,写完就行,现在会想怎么优化性能,怎么保证稳定性,怎么让代码更好维护。比如之前写个接口,只要功能对就行,现在会考虑并发场景下会不会出问题,数据库查询会不会慢。责任感也强了,因为你知道,你写的每一行代码,都可能影响到成千上万的用户。那天晚上调试用户画像系统,因为一个Bug导致索引更新慢,影响了一部分用户的搜索体验,第二天被导师叫过去挨了顿批,虽然不是什么大事,但心里挺难受的,意识到自己肩负的责任。抗压能力也锻炼了,以前做项目卡壳,可能抱怨一下就放下了,现在遇到难题,会主动去查资料,去请教,或者跟导师沟通,

温馨提示

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

最新文档

评论

0/150

提交评论