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

下载本文档

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

文档简介

计算机科学与技术码星软件工程师实习报告一、摘要2023年7月1日至2023年8月31日,我在码星担任软件工程师实习生。核心工作成果包括重构3个核心模块,使系统响应速度提升40%,通过自动化测试脚本减少每日运维时间3小时,累计修复12处关键Bug。期间应用Java和Python开发数据处理工具,处理超过10万条日志数据,优化查询效率50%。采用敏捷开发模式,完成5个迭代任务,推动项目提前两周上线。提炼出基于设计模式的代码解耦方法,适用于高并发场景下的系统维护。通过实践掌握了CI/CD流程,搭建的自动化部署脚本覆盖80%生产环境需求。二、实习内容及过程1.实习目的想着能摸摸真实的开发项目,感受下业界是怎么搞事情的,顺便把学校学的那些东西用上,看看自己短板在哪儿。主要是想加深对分布式系统和高并发场景的理解。2.实习单位简介单位做的是金融风控这块儿,系统得抗住9宫格的压力,数据量也是真的吓人,动不动就几个G的日志要处理。技术栈主要是Java,搞了不少中间件,啥Kafka、Redis、Zookeeper都用上了。3.实习内容与过程刚进去那阵子,跟着师傅看了两天线上系统架构图,感觉脑子嗡嗡的,各种组件跑来跑去看得眼花。后来被分配了个重构任务,是个老模块,代码注释都没几条,注释里还有些是过时的。我花了3天把相关接口梳理一遍,发现好几个地方用到了线程池没配置好,导致高并发时CPU飙到100%。改完之后用JMeter压了一下,原来2秒的响应时间直接干到0.3秒,老板还夸我“手艺不错”。接下来是参与日志分析项目,系统每天产生十几G日志,老是用脚本处理特别慢。我发现他们用的ELK堆栈有点乱,Kibana查询效率低,就自作主张弄了个Flink实时处理脚本,把日志先转成Parquet格式存HDFS,再让Flink每小时跑一次聚合统计。跑了一周数据,查询速度确实快了,从半天降到1小时,不过师傅说我这个方案有点重,如果数据量再大可能得加集群。后来又调整了下窗口配置,现在资源利用率到60%左右,感觉还行。4.实习成果与收获8周里,重构了3个核心模块,推动项目提前两周上线。写了个自动化测试工具,把每日运维时间从3小时压缩到1小时。修复了12处线上Bug,有2个还是我主动发现的,算是给系统“除垢”了。最大的收获是搞懂了如何在高并发场景下做代码解耦,用策略模式把几个功能模块拆分开,后续维护起来方便多了。还学会了怎么用Docker快速环境部署,不过踩了不少坑,比如有一次忘了加卷挂载,导致改好的配置全丢失,那会儿真是欲哭无泪。遇到最大挑战是初期面对庞大代码库完全懵,加上Mentor有时候太忙顾不上细讲,好几次是自己在GitHub上看开源项目学的。后来我就开始记笔记,把每个模块的逻辑画成时序图,慢慢就清晰了。还有一次Flink脚本内存溢出,查了半天才发现是状态太大没做背压,学到了滑动窗口和计数器限流的用法。对我职业规划影响挺大的,以前觉得做技术就得堆代码,现在明白架构和规范更重要。比如这次重构,如果早点用领域驱动设计,可能不用改这么多。接下来想补补分布式事务这块,像2PC、TCC这些得好好学学。5.问题与建议单位管理上,周会有时候开得没效率,好多人轮流说不到重点,建议用敏捷开发那种短会模式,比如每天站会就5分钟。培训机制方面,新人资料太分散,好多东西得自己找,要是能有个结构化的Onboarding流程就好了,比如按模块做上手指南。岗位匹配度上,我拿到的其实是偏后端的任务,想接触前端或者数据挖掘的还得额外争取。建议可以搞个技术兴趣小组,让实习生能跨组交流。三、总结与体会1.实习价值闭环这8周,从7月1日懵懵懂懂开始,到8月31日结束,感觉像是从理论到实践的完整过场。刚去时觉得写代码就是照着模板敲,现在明白每个选择都要考虑成本和边界。比如重构那个模块,为了提升40%响应速度,我换了多种设计方案,最终选的基于策略模式的解耦方案,现在看确实优雅,而且后续维护成本低。这让我体会到,技术不是炫技,而是解决问题,把事情做扎实最重要。修复的12处Bug里,有3个是别人没注意到的边界条件,这让我认识到细节决定成败,尤其是在高并发场景下,一个微小的逻辑漏洞可能就炸了整个系统。2.职业规划联结这段经历让我更清晰职业方向。以前想当纯后端工程师,现在发现分布式、高并发才是我的菜。比如遇到的线程池配置问题,如果早接触过《Java并发编程实战》,可能不会花3天才找到症结。接下来打算系统学完《分布式系统:概念、设计与实现》,顺便考个AWS或阿里云的ACE认证,争取下个实习能接触更多云原生项目。师傅常说“技术要为业务服务”,这句话我现在每次写代码都会默念。比如日志分析那事儿,如果当时只想着用Flink做,而没有先问“业务到底需要什么指标”,可能就会做无用功。3.行业趋势展望金融风控那块儿,系统必须7x24小时稳定,这对技术要求极高。我看到现在很多公司都在用微服务+Serverless架构,但缺点是运维复杂度高。如果未来能结合DevOps理念,用GitOps工具链管理,或许能平衡开发效率和稳定性。比如我们用的Jenkins其实好多插件都是冗余的,如果用ArgoCD统一部署,可能能省不少事。此外,AI在风控中的应用越来越广,我接触过用机器学习预测欺诈行为的模型,但数据标注是个大坑,得花大量人力。如果学点数据挖掘和深度学习,或许能帮上忙。4.心态转变以前写代码追求“完美”,现在明白“可用性”更重要。有一次测试环境压力测试,我发现内存泄漏,但当时项目进度紧,只能先发个补丁暂时缓解,后面再慢慢优化。这让我学会取舍,知道在什么场景下该“先完成再完美”。最明显的是抗压能力,刚开始被Bug追着跑,后来能同时处理3个任务了。比如7月15号那天,线上突然报错,我凌晨3点还在定位问题,最后发现是第三方接口超时。虽然熬夜累,但搞定后成就感爆棚。现在写代码会主动加日志和监控,毕竟“能观测才能治理”。5.未来行动这8周攒的代码库、设计文档都是宝贵财富,打算整理成博客系列发出来,也算是对师傅指导的回报。另外,实习时用的Flink脚本性能还有提升空间,比如可以考虑用Pulsar替换Kafka,据说吞吐量能翻倍。如果下个实习能接触大数据平台,我打算把Hadoop生态补全,特别是HBase和SparkStreaming。师傅说“年轻人要多看源码”,我整理了个技术书单,打算下学期啃《Linux内核设计与实现》和《Go语言编程》,毕竟底层原理才是根本。四、致谢1.感谢码星提供的实习机会,让我第一次接触真实世界的项目,这段经历比想象中宝贵。2.特别感谢导师的耐心

温馨提示

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

评论

0/150

提交评论