计算机科学信息技术程序员实习报告_第1页
计算机科学信息技术程序员实习报告_第2页
计算机科学信息技术程序员实习报告_第3页
计算机科学信息技术程序员实习报告_第4页
计算机科学信息技术程序员实习报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

计算机科学信息技术程序员实习报告一、摘要

2023年7月1日至2023年8月31日,我在一家科技公司担任信息技术程序员实习生。在为期8周的实习中,我参与开发了一个自动化数据处理系统,通过优化算法将数据清洗效率提升了30%,累计处理超过10万条记录。核心工作包括编写Python脚本实现数据批量导入导出,运用Git进行版本控制,并使用Docker容器化部署应用。期间,我应用了面向对象编程原则重构了遗留代码模块,减少了15%的冗余。通过实践掌握了敏捷开发流程中的持续集成技术,并总结出适用于小团队协作的代码审查方法论。这些成果验证了课堂所学的分布式系统理论,并提升了我在真实环境中解决复杂问题的能力。

二、实习内容及过程

1.实习目的

希望通过实践了解信息技术程序员的工作日常,将学校学的分布式系统、数据库设计这些理论用在真项目上,看看实际开发流程是怎么走的,提升解决问题的能力。

2.实习单位简介

我去的公司是做企业级SaaS服务的,团队主要搞后台系统开发,用Java和Python比较多,技术栈挺现代化的,搞了几个自研的中间件,像消息队列和分布式缓存这些用得挺多。

3.实习内容与过程

开始的时候跟着导师熟悉项目,他们用的代码库挺大的,模块之间依赖复杂,调试起来费劲。我接的任务是帮一个报表系统优化数据查询性能,原来自动化报表要跑大半天,用户反馈很慢。我花了两天时间分析SQL执行计划,发现几个Join操作没优化好,还有个临时表用得不对劲。当时挺懵的,因为学校做项目数据量小,这种百万级数据量真的卡死过几次。导师就教我用Redis缓存中间结果,还给我看了他们内部的性能压测报告,里面有个指标说索引覆盖度不到60%就会拖累查询。后来我把几个核心SQL改成了分批处理,加上缓存策略,测试环境跑下来报表生成时间从360秒缩到85秒,生产环境试了之后也准这个数。这个经历让我明白数据库优化真不是光会写SQL就行,还得懂点缓存原理。

中间还参与了一个微服务接口的开发,用的是SpringCloud全家桶,需求是给前端加一个实时消息推送功能。刚开始弄WebSocket协议的时候踩坑了,跨域问题搞了好久,发现客户端请求头乱带了一堆无用字段。调试的时候用到了Fiddler抓包,看着那些乱七八糟的HTTP头就头疼。后来查资料才知道得手动配置CORS策略,还得给WebSocket升级流程加重试机制。上线后用户反馈消息偶尔会乱序,我们加了个时间戳校验的逻辑才解决。这段经历让我意识到搞前后端联调得特别细心,一个请求头没对就可能导致整个功能崩。

4.实习成果与收获

主要成果就是那个报表系统优化,直接把用户等待时间砍了70%,还写了个自动监控脚本,跑完就发钉钉通知,比以前人工催导师效率高多了。另外那个消息推送功能也上线了,用了RabbitMQ做异步处理,目前支撑了日均50万次推送量,延迟稳定在200毫秒内。收获就是真的会用上数据库分页、缓存穿透这些实际场景,还学会了怎么用Docker容器快速环境部署,以前在学校都是直接装系统。最深的体会是代码不是写完就行,还得懂点网络、操作系统这些底层知识,不然线上问题排查真的会头大。

5.问题与建议

有个问题是团队测试流程有点太依赖人工了,自动化覆盖率不到50%,导致我改完代码得等好几个人手动测试签字,改个bug得等半天。建议搞个CI/CD流水线,像Jenkins那种,代码push过去自动跑单元测试、接口测试,通过才能提测,能省不少事。另一个是培训机制,入职培训就给了一份文档就让我上手,好多东西得自己摸索,要是能多几节内部组件的课就完美了。我建议每周搞个技术分享会,让老员工讲讲自研中间件的坑,或者项目里踩过的坑,效率比看文档强。

三、总结与体会

1.实习价值闭环

这8周实习像把书里的分布式系统、数据库索引这些抽象概念具象化了。7月15号第一次接触那个跑满天的报表系统时,真觉得学校学的SQL优化理论就是纸上谈兵,百万级数据量卡死JVM的情况完全没遇到过。后来通过分析执行计划,发现最慢的那个Join语句居然没被索引覆盖,改完性能直接翻三倍,这比做任何项目都让我有成就感。导师给我看的监控截图里,QPS从1200飙升到4500,CPU峰值还稳定在65%,这种数字变化就是最好的成就感证明。现在回头看,那些熬夜调试接口、查错百次的晚上,其实都在把学校学的理论知识变成实战能力,算是真正走完了理论到实践的闭环。

2.职业规划联结

实习最大的收获是看清了自己想干嘛。以前觉得后端开发就是改改数据库、写写接口,去了之后才发现一个功能上线背后是无数个组件在协同工作。比如消息推送那个需求,用RabbitMQ做异步处理的时候,突然就理解了微服务架构为啥要搞消息队列解耦嘛,系统A不用等B处理完就能发消息,这比学校里做的单体应用复杂多了。现在我想补齐的消息队列和缓存知识,计划下学期考个AWS认证,顺便看下SpringCloudAlibaba源码,争取下个实习能直接上手微服务项目。

3.行业趋势展望

在公司待着的时候,每天都在用那些时髦技术,像他们搞的分布式缓存集群、基于k8s的弹性伸缩,让我意识到现在后端开发真的不是埋头写代码就行。7月20号他们搞的那个混沌工程测试,直接把某个服务实例干挂了,看监控数据波动比看小说还刺激,发现系统居然自动降级了,这种极限环境下的测试能力现在特别重要。现在行业趋势明显是云原生、Serverless这些方向,下个实习我打算往这个方向试试,争取能接触点Serverless函数计算这类新玩意,毕竟现在企业级SaaS都是这个路子。

4.心态转变

刚去的时候特别玻璃心,被导师一句“你这SQL写的是个啥”就蔫了半天,现在倒好,人家直接说“你这Join嵌套写反了”,我都能笑着说“哦对,这里确实得反一下”。最明显的是抗压能力,以前做项目死一个Case就慌了,现在看线上服务500ms的延迟都觉得得优化,毕竟他们那种系统用户量是百万级别的。这种心态转变比学会什么新技术都重要,毕竟程序员不是一个人在战斗,得能扛得住压力。

5.未来行动

现在把实习遇到的问题都整理成笔记了,比如Redis缓存穿透怎么搞、消息队列如何防重复消费这些,下学期直接开啃。导师说下个实习能接触前端的话,建议先补补浏览器渲染原理,不然联调会累死。现在每天通勤路上都在听技术播客,像InfoQ那种,感觉知识面一下子开阔了,以后准备每季度考个云认证,把AWS、阿里云都补上,毕竟现在大厂面试都爱考这些。

四、致谢

1.

感谢实习期间给予指导的团队,特别是导师,在项目推进和问题解决上给了我很多实际帮助。那些关

温馨提示

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

评论

0/150

提交评论