信息技术专业实习周记与总结范文_第1页
信息技术专业实习周记与总结范文_第2页
信息技术专业实习周记与总结范文_第3页
信息技术专业实习周记与总结范文_第4页
信息技术专业实习周记与总结范文_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

信息技术专业实习周记与总结范文一、实习基本信息实习单位:XX科技有限公司(XX行业解决方案提供商)实习岗位:Java开发实习生实习时间:202X年X月X日-202X年X月X日参与项目:XX电商平台(微服务架构,核心模块包括用户管理、订单系统、积分体系)二、实习周记(一)第一周:环境适应与基础能力打磨1.工作内容概述公司与项目认知:熟悉组织架构(技术部下设后端、前端、测试、运维组)、项目组分工(我隶属于用户体系组,负责用户积分模块开发);学习项目技术栈文档(微服务架构:SpringCloudAlibaba(Nacos服务注册/发现、Sentinel流量控制)、MyBatisPlus数据持久化、Redis缓存、Elasticsearch全文检索)。环境配置与工具熟悉:完成开发环境搭建(JDK17、Maven3.8.6、IntelliJIDEA2023.1、Git);掌握公司开发规范(代码风格遵循阿里巴巴Java开发手册、提交记录需包含[模块]-[功能]-[描述]、注释覆盖率≥30%)。基础任务实践:修复用户登录模块bug(密码校验规则遗漏特殊字符检查,修改`UserService`中的`validatePassword`方法);完成用户信息查询接口的文档补充(使用YApi完善接口描述、请求参数、返回示例)。2.技术实践与探索Git分支管理:遵循公司`dev->feature->release->master`流程,从`dev`分支拉取`feature/user-login-fix`分支,提交代码后发起PullRequest(PR),通过代码评审后合并至`dev`。3.遇到的问题与解决问题2:Git合并冲突(修改了`UserController.java`的同一行代码)。解决:通过`gitdiff`查看冲突内容,联系同事确认需求(需保留双方修改),手动合并冲突后提交。4.本周收获与反思收获:快速适应职场环境,掌握公司开发工具链(Git、Maven、YApi)与编码规范;对项目整体架构有了初步认知。反思:环境配置时未提前查看公司文档,导致走了弯路;需加强对项目技术栈的预习(如SpringCloudAlibaba的核心组件)。(二)第二周:需求分析与原型设计1.工作内容概述需求评审:参与“用户积分体系”需求评审会,产品经理明确需求目标(提升用户复购率)、核心功能(积分获取/消耗、积分规则配置、积分明细查询)。原型设计:使用Axure绘制积分系统原型图(包括积分首页、兑换记录页、规则设置页),定义交互逻辑(如点击“兑换”按钮弹出确认框)。需求确认:与前端开发人员对齐接口需求(如`/api/points/query`接口需返回用户当前积分、最近7天变动记录),编写《积分系统需求文档》(包含业务流程图、验收标准)。2.技术实践与探索Axure高级功能:使用“动态面板”实现积分规则的展开/隐藏效果;通过“变量”记录用户操作状态(如是否勾选“同意协议”)。需求分析方法:采用“用例图”描述用户与系统的交互(如“用户查询积分明细”用例包括输入用户ID、调用接口、展示结果);使用“流程图”绘制积分兑换流程(用户发起兑换→校验积分余额→扣减积分→生成订单→通知用户)。3.遇到的问题与解决问题1:原型图不符合用户使用习惯(如积分明细页的“时间筛选”放在页面底部)。解决:参考同类产品(如京东积分页)的设计,将“时间筛选”调整至页面顶部;征求测试人员意见(认为调整后更符合操作逻辑),修改原型。问题2:接口需求不明确(前端要求`/api/points/query`接口返回“积分变动类型”,但需求文档中未定义)。解决:组织产品经理、前端开发人员开小会,明确“积分变动类型”包括“购物获得”“兑换消耗”“活动奖励”,补充至需求文档。4.本周收获与反思收获:掌握需求分析的流程与方法(从评审到文档输出);提高了跨团队沟通能力(与产品、前端、测试人员协作)。反思:需求文档中遗漏了“积分变动类型”的定义,导致后续沟通成本增加;需加强对需求细节的把控(如逐一核对每个功能点的输入/输出)。(三)第三周:模块开发与技术落地1.工作内容概述任务认领:从Jira中认领“积分兑换模块”开发任务(包括兑换接口开发、积分扣减逻辑、数据库设计)。数据库设计:设计`points_exchange_record`表(字段包括`user_id`(用户ID)、`goods_id`(商品ID)、`points`(消耗积分)、`status`(兑换状态)、`create_time`(创建时间)),遵循第三范式(避免数据冗余)。接口开发:使用SpringBoot开发`/api/points/exchange`接口(POST请求),实现以下逻辑:1.校验用户积分余额(调用`/api/points/query`接口获取当前积分);2.扣减用户积分(更新`user_points`表的`current_points`字段);3.记录兑换记录(插入`points_exchange_record`表);4.返回兑换结果(成功/失败原因)。缓存优化:为`points_rule`表(积分规则)添加Redis缓存(键为`points_rule:{rule_id}`,过期时间为1小时),减少数据库查询次数。2.技术实践与探索MyBatisPlus高级用法:使用`QueryWrapper`构造积分余额查询条件(`eq("user_id",userId)`);通过`UpdateWrapper`实现积分扣减(`set("current_points",current_points-exchange_points)`)。Redis缓存策略:采用“缓存穿透”解决方案(使用布隆过滤器过滤不存在的用户ID);设置“缓存击穿”防护(为热点数据设置互斥锁);避免“缓存雪崩”(为不同key设置随机过期时间)。3.遇到的问题与解决问题1:接口响应慢(`/api/points/query`接口耗时2秒)。解决:使用JMeter做压力测试(并发100次),发现是频繁查询`user_points`表(每请求一次查询一次)。于是增加Redis缓存(键为`user:points:{user_id}`),将接口响应时间缩短至200毫秒。问题2:数据库插入失败(`points_exchange_record`表的`goods_id`字段为`null`)。解决:查看日志(`ERROR:字段"goods_id"不能为空`),发现是前端未传递`goods_id`参数。于是修改接口文档,要求前端必须传递`goods_id`;在代码中添加参数校验(`@NotNull(message="商品ID不能为空")`)。4.本周收获与反思收获:掌握了模块开发的完整流程(需求分析→数据库设计→接口开发→缓存优化);提高了技术应用能力(MyBatisPlus、Redis的实际使用)。反思:接口开发前未充分考虑性能问题,导致后续需要优化;需在开发前进行“性能预估”(如预计该接口的并发量,是否需要缓存)。(四)第四周:测试优化与团队协作1.工作内容概述测试支持:将积分兑换模块部署到测试环境(使用Docker构建镜像,通过K8s部署);配合测试人员测试(解决了“兑换积分时数量计算错误”“积分明细页显示重复数据”等5个bug)。代码优化:重构`PointsService`中的重复代码(提取`calculatePoints`方法,统一处理积分计算逻辑);优化SQL语句(为`points_exchange_record`表的`user_id`字段添加索引,将查询时间从1.5秒缩短至0.3秒)。2.技术实践与探索测试工具:使用JUnit编写单元测试(测试`calculatePoints`方法,覆盖正常情况、边界情况(如积分余额为0)、异常情况(如输入负数));用Postman做接口自动化测试(创建集合,保存常用请求)。代码重构:遵循“单一职责原则”(将`PointsService`中的积分计算逻辑与数据库操作逻辑分离);使用“开闭原则”(通过抽象类实现积分规则的扩展,如新增“活动积分”规则时无需修改原有代码)。3.遇到的问题与解决问题1:测试环境部署失败(Docker容器无法启动,提示“端口8080已占用”)。解决:使用`dockerps`查看运行中的容器,发现是之前的测试容器未停止。执行`dockerstop<container_id>`停止容器,重新部署后成功启动。问题2:bug修复后引入新问题(修改积分计算逻辑后,导致用户购物获得的积分减少)。4.本周收获与反思收获:学会了测试与优化的方法(单元测试、接口测试、代码重构);提高了团队协作能力(与测试、运维人员配合)。反思:bug修复后未进行充分的回归测试,导致引入新问题;需养成“修改代码后执行所有相关测试用例”的习惯。(五)第五周:成果交付与总结反思1.工作内容概述成果交付:将积分兑换模块上线到预生产环境(采用灰度发布策略,先向10%的用户开放);编写《积分系统用户手册》(包含操作步骤、常见问题解答);参与上线评审会(汇报模块的功能覆盖率(100%)、性能指标(并发1000次响应时间<500毫秒)、测试通过率(98%))。实习总结:整理实习期间的成果(完成2个模块开发、修复12个bug、编写3篇文档);与导师讨论实习收获(导师肯定了我的学习能力,指出了文档编写的不足)。2.技术实践与探索灰度发布:使用Nginx实现灰度发布(根据用户ID将10%的请求转发到新版本服务);监控新版本的性能(使用Prometheus收集metrics,Grafana展示dashboard)。用户手册编写:遵循“用户视角”原则(用简单易懂的语言描述操作步骤,如“如何兑换积分:1.进入积分页;2.选择商品;3.点击兑换”);添加“常见问题”section(如“兑换失败怎么办?”“积分过期吗?”)。3.遇到的问题与解决问题1:预生产环境出现“积分扣减失败”问题(用户兑换积分后,积分余额未减少)。解决:查看日志(`ERROR:事务未提交`),发现是代码中未添加`@Transactional`注解。添加注解后,重新部署,问题解决。问题2:用户手册写得不够清楚(测试人员反馈“找不到积分页入口”)。解决:在用户手册中添加截图(标注积分页的入口位置);征求用户的意见(邀请2个内部用户测试手册,修改了3处描述)。4.本周收获与反思收获:学会了成果交付的流程(灰度发布、用户手册编写、上线评审);提高了文档编写能力(从“技术视角”转向“用户视角”)。反思:预生产环境未添加事务注解,导致严重问题;需加强对“生产环境部署”的重视(如检查事务、权限、配置文件)。三、实习总结(一)实习概况回顾本次实习为期5周,我在XX科技有限公司的Java开发岗位实习,参与了XX电商平台的用户积分体系开发。实习期间,我完成了从环境适应到成果交付的完整流程,涉及需求分析、模块开发、测试优化、成果交付等环节。(二)核心收获与成长1.技术能力提升:掌握了微服务架构的实际应用(SpringCloudAlibaba、Nacos、Sentinel);熟练使用MyBatisPlus、Redis、Docker等工具(如用MyBatisPlus实现复杂查询,用Redis优化接口性能);学会了性能优化的方法(缓存、SQL优化、灰度发布)。2.职场能力提升:沟通协作:学会了与产品、前端、测试、运维人员沟通(如对齐需求、解决测试问题);文档意识:掌握了需求文档、用户手册的编写方法(注重细节、用户视角);时间管理:学会了使用Jira管理任务(制定周计划、跟踪进度)。3.思维方式转变:从“学生思维”转向“职场思维”(不再追求“完美代码”,而是注重“交付价值”);学会了“问题解决”的方法(遇到问题时,先查日志、再找原因、最后解决);理解了“技术选型”的权衡(如选择Redis而不是Memcached,因为Redis支持更多数据结构)。(三)存在的不足与改进方向1.技术深度不足:对分布式事务、消息队列(如RocketMQ)等技术的理解还不够深入(如未在项目中使用分布式事务,遇到跨模块数据一致性问题时解决方法有限)。改进方向:学习分布式事务的解决方案(如Seata)、消息队列的使用(如RocketMQ的消息发送/消费);参与更多复杂项目(如涉及跨模块的业务)。2.经验不足:遇到复杂问题时不够冷静(如预生产环境出现问题时,一开始不知道如何排查);对生产环境的部署流程还不够熟悉(如K8s的高级用法)。改进方向:多参与生产环境的问题排查(向运维人员学习);学习K8s的高级功能(如滚动更新、扩容缩容)。3.文档编写能力:用户手册的截图不够清晰(如未标注关键元素);需求文档的业务流程图不够详细(如未包含异常流程)。改进方向:学习文档编写的技巧(如使用Snagit截取清晰的截图,用Visio绘制详细的流程图);多写文档(如每周写一篇技术总结)。(四)对未来工作的启发1.主动学习:信息技术行业发展迅速,需保持学习的热情(如关注技术博客、参加技术会议);学习新的技术(如Go语言、云原生技术)。2.注重团队:团队协作是项目成功的关键,需主动沟通(如遇到问题及时向同事求助);尊重他人的意见(如前端开发人员的设计建议)。3.

温馨提示

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

最新文档

评论

0/150

提交评论