下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学与技术信息技术软件开发实习报告一、摘要2023年7月1日至2023年8月31日,我在一家软件公司担任软件开发实习生,负责参与企业级管理系统的后端开发工作。核心工作成果包括完成用户权限管理模块,实现代码覆盖率提升至85%,优化数据库查询效率,使平均响应时间缩短30毫秒。期间应用Java、SpringBoot框架及MySQL数据库,通过设计模式重构了500行遗留代码,并运用Git进行版本控制,累计提交commit记录127条。提炼出可复用的敏捷开发流程,包括自动化测试脚本编写方法,将单元测试覆盖率从60%提升至92%,验证了CI/CD工具在持续集成中的效能。二、实习内容及过程实习目的主要是想把课堂上学到的计算机理论知识跟实际工作联系起来,看看自己在真实开发环境里能干啥。实习单位是做企业软件开发的,主要产品是那种管理用系统,客户群体挺大的,技术栈用得也挺主流的Java、SpringBoot还有各种数据库。我在那儿被分到了后端开发组,跟着师傅做项目。实习内容的话,前期主要是熟悉项目代码库和开发流程,用Git拉取代码的时候还手贱弄丢了点分支,好在他人帮忙找回的。后来就开始接手用户权限管理模块的优化工作,这个模块之前有点乱,权限控制逻辑嵌套得深。我花了大概两周时间,先把原有代码用策略模式重构了一遍,把500多行的权限判断代码拆分成十几个小模块,这样读起来清晰多了。测试的时候发现之前有些边缘情况没考虑到,比如一个角色继承了另一个角色的权限但又被单独取消了某个权限,这种场景要特别处理。后来又加了几个测试用例,确保覆盖得够全。重构后代码覆盖率从65%提升到85%,而且线上反馈说某个复杂权限校验的响应时间从300毫秒降到了200毫秒。还参与了一个报表生成的功能,需要跟前端联调。前端同学用ECharts做可视化,数据接口我这边用的是MyBatisPlus,刚开始数据传输的时候字段对不上,搞了半天是前端请求参数里多了几个没在数据库里定义的字段,沟通了好几次才弄明白。最后生成的报表支持导出为Excel,导出速度有点慢,我用了MyBatis的批量查询和Java8的StreamAPI优化了一下,大概把导出时间从8秒缩短到3秒多。遇到的挑战主要是第一次接触那种大型项目的代码库,几千个Java文件看着就头大,而且有些老旧的设计模式用得挺奇怪的。还有就是有一次线上环境出了个bug,是个并发问题,用户在操作某个接口的时候偶尔会出现权限校验失败的情况。排查的时候发现是数据库连接池配置太小,在高并发下获取连接超时了,临时调大连接数解决了,但根源还得改代码。后来我学了JUC包里的锁机制,像是ReentrantLock,感觉以后处理并发问题有方向了。实习成果的话,就是那个权限模块重构完成,测试数据能佐证优化效果,还有那个报表导出功能也上线了。收获挺多的,知道了一个完整项目的开发流程,从需求分析到代码提交,还有测试和部署这些环节。学会了Git的工作流,比如feature分支怎么用,怎么写规范的commitmessage。在解决那个并发问题时,对数据库连接池和JVM内存模型有了更直观的认识。对职业规划有点启发,感觉后端开发虽然技术更新快,但核心的数据库、网络、操作系统知识得扎实,不然遇到难题还是抓瞎。而且沟通挺重要的,比如那个报表导出问题,要是跟前端早点明确接口规范,可能不会出现后面的返工。实习单位管理上,感觉新人培训还是差点意思,很多东西都是靠师傅带,要是能有更系统的文档和培训计划就好了。岗位匹配度方面,我做的更多是优化和补丁开发,新功能参与得少,要是能有更多机会接触全栈或者架构设计会更好。可以建议他们搞个内部CodeReview的固定时间,让新人都参与进来,也能互相学习。三、总结与体会这八周实习,像是从校园到职场的快速通道,8月31日结束的那天,感觉心里空落落的,但收获是真的沉甸甸的。实习的价值闭环体现在哪里呢?就是那些曾经觉得抽象的理论,现在都能在真实的项目里找到对应。比如学过的SpringBoot自动装配原理,在调试项目的时候才明白每个Bean是怎么被加载的;又比如数据库索引的选择,之前只是知道B+树效率高,但看到优化前慢得离谱的查询语句,加上合适的索引后响应时间从十几秒降到几十毫秒,才真正理解性能优化的意义。这种把知识转化为生产力感觉特踏实。对职业规划的影响是具体的。之前觉得后端开发就是敲代码,现在明白要做好一个系统,得懂整个技术栈,从底层的JVM调优到外部的消息队列设计,还有跟测试、运维的配合。这次做的权限管理模块重构,让我意识到设计模式不是花架子,能用策略模式、装饰器模式的地方,代码的可维护性真的差不了多少。所以下学期打算系统学学《深入理解Java虚拟机》,顺便把软考的系统分析师证书也考了,感觉这些对往架构师方向发展有帮助。行业趋势这块,感觉现在云原生、微服务是大势所趋,这次实习用到的Docker容器化部署和Kubernetes的初步接触,让我意识到学校里学的虚拟化技术得赶紧补上。另外,那个报表导出性能问题,最后是用Java原生API解决的,感觉后端同学越来越重视JDK本身的优化了。技术迭代太快,不持续学习真的会被淘汰。心态转变是最大的体会。以前写代码图一劳永逸,现在明白要考虑扩展性、考虑线上问题,哪怕是加个日志都要考虑格式规范、不要影响性能。比如那个并发问题,第一次遇到直接懵圈,后来硬着头皮查资料、问师傅,最后解决了,感觉自己抗压能力和解决问题的能力肉眼可见地提升了。责任感也强了,提交的每个commit都要反复检查,生怕引入新的bug。这种从学生到职场人的感觉,就是多了一份沉甸甸的责任。未来打算把这次实习遇到的知识点系统梳理一遍,特别是Git的工作流和单元测试的写法,感觉做得还不够地道。那个权限模块重构用到的设计模式,打算找个类似场景在个人项目中实践一下。实习最后师傅跟我说,年轻人要多写代码,少说空话,这句话我一直记着。下阶段学习会更有方向了,毕竟知道了自己哪些地方做得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 郑州2025年河南郑州市郑东新区招聘派遣制教师224人笔试历年参考题库附带答案详解
- 苏州江苏苏州市吴中区卫生健康系统招聘备案制卫生专技人员8人笔试历年参考题库附带答案详解
- 白银2025年甘肃白银市中西医结合医院招聘13人笔试历年参考题库附带答案详解
- 职业性肺病患者无创通气撤机策略
- 崇左2025年广西崇左幼儿师范高等专科学校招聘20人笔试历年参考题库附带答案详解
- 宁夏2025年宁夏医科大学招聘24人笔试历年参考题库附带答案详解
- 台州2025年浙江台州三门技师学院教师招聘4人笔试历年参考题库附带答案详解
- 职业性肺康复中的有氧运动处方优化
- 职业性肺病康复中的呼吸康复个体化方案制定流程评价
- 职业性结核病的复发因素与防控对策
- 云南省玉溪市2025-2026学年八年级上学期1月期末物理试题(原卷版+解析版)
- 2026年哈尔滨通河县第一批公益性岗位招聘62人考试参考试题及答案解析
- 就业协议书解约函模板
- 研发部门员工加班管理细则
- 钢结构桥梁施工监测方案
- 2025人教pep版三年级英语上册字帖
- 《5G移动通信》课件-项目六 5G网络中的人工智能技术
- 2025江苏苏州高新区狮山商务创新区下属国有企业招聘9人笔试题库及答案详解
- 教培机构年终工作总结
- 2025年秋季青岛版三年级数学上册求比一个数的几倍多(少)几的数教学课件
- 2025年法医学法医鉴定技能测试答案及解析
评论
0/150
提交评论