软件工程软件科技公司软件工程师实习报告_第1页
软件工程软件科技公司软件工程师实习报告_第2页
软件工程软件科技公司软件工程师实习报告_第3页
软件工程软件科技公司软件工程师实习报告_第4页
软件工程软件科技公司软件工程师实习报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

软件工程软件科技公司软件工程师实习报告一、摘要

2023年7月1日至2023年8月31日,我在一家软件科技公司担任软件工程师实习生。核心工作成果包括完成3个模块的代码开发,累计编写并调试代码1200行,其中单元测试通过率达95%。参与优化API接口响应时间,将平均响应时间从500毫秒降低至200毫秒。应用敏捷开发方法,通过每日站会快速迭代,2个需求在1周内完成从设计到部署的全流程。熟练运用Java和SpringBoot框架,结合Git进行版本控制,解决过8次线上Bug。提炼出可复用的CI/CD自动化部署流程,将部署时间缩短40%。通过实习,掌握了工程化实践中的代码规范、性能调优及团队协作方法。

二、实习内容及过程

1.实习目的

去8周,主要是想看看自己学的那些东西在业界怎么用,实际工作跟书本上差多少,顺便积累点项目经验,看看自己喜不喜欢这行。

2.实习单位简介

我在的公司是做企业级SaaS的,规模不大不小,几百人吧,主要做的是后台管理系统,客户主要是中小型公司。技术栈主要是JavaSpringBoot,前端用React,数据库用MySQL和MongoDB,搞了不少微服务,但也没那么复杂,几个核心模块是分得比较清楚的。

3.实习内容与过程

第1周跟团队熟悉,看了下现有项目代码,主要是后端模块,有些老代码写得比较混乱,注释也不多,花了不少时间读。第2周开始接触实际任务,第一个是修复一个报表模块的Bug,用户反馈导出数据会漏行,我排查了半天,发现是并发处理不当,用了Java的并发包里的工具类重写了一下那段逻辑,解决了。第3周开始参与新功能开发,是给一个客户定制的需求,做一个权限管理的小模块,用RBAC模型设计的,用了JPA做数据持久化,跟前端对接的时候用了RESTfulAPI,用了Postman调试接口,确保了数据格式对得上。第4周到第6周,主要就是写代码、写测试用例,参与了2个代码审查CodeReview,老板挺看重这个的,说能让人学到不少东西。有时候会参加技术分享,比如有人讲过怎么用Docker容器化部署应用,还有人讲过数据库索引优化,感觉挺有用的。第7周和第8周主要是收尾,把写的代码合并到主干,做了几次压力测试,确保性能达标,然后上线了。整个过程跟团队老大和旁边几个senior交流挺多的,他们建议我多看看Redis缓存相关的资料,说我们系统里用得挺多。

4.实习成果与收获

8周里写了大概1500多行代码吧,不算多,但都是正经东西,有单元测试,有接口文档。那个权限模块上线后客户反馈不错,说用着挺顺的。最大的收获是体会到敏捷开发是怎么走的,需求变来变去很正常,能快速适应。还有就是认识到写代码不光是写代码,沟通、理解需求、跟团队协作同样重要。以前觉得写个功能就行了,现在明白得考虑得全面点,比如怎么扩展,怎么维护。对微服务也有了点实际感受,虽然没接触特别复杂的,但了解了几个服务是怎么交互的,用了消息队列什么的。

5.问题与建议

遇到的困难主要是刚开始看老代码的时候,有些设计没文档,得自己猜,挺花时间的。还有就是有一次写API的时候,跟前端对接口,数据格式出了点问题,返工了好几次,挺烦人的。后来我就开始用Swagger自动生成文档,自己也强制自己写注释,尽量把设计思路说明白,问题就好一些了。

老实说,公司培训这块有点弱,除了入职那会儿安排了两天讲讲环境,后面就没啥了,很多东西都得靠自己摸索,有时候问人也不一定有人及时回。建议可以搞个内部Wiki,把常用的操作、设计规范、遇到的问题都记上,方便新人看。另外,我觉得我的岗位跟我想学的方向有点偏差,我更想深入后端或者分布式,但他们安排我主要是做些业务模块,感觉成长空间有限。建议可以考虑按技术方向分更细一点,或者多给些技术挑战型的任务,我这种想学技术的肯定更感兴趣。

三、总结与体会

1.实习价值闭环

这8周,从7月1日到8月31日,感觉像是把学校里那些散碎的知识点串联起来了。刚去的时候,面对真实项目的代码库,特别是看到一些老模块的实现方式,心里挺没底的,很多地方写法上跟老师教的不太一样。但硬着头皮看,动手改,慢慢就清晰了。比如修复那个报表导出Bug,开始以为很简单,结果发现是并发问题,用了ThreadLocal和synchronized才解决,这个过程让我对Java并发机制有了更深的理解。后来参与权限模块开发,从需求讨论到API设计,再到代码实现和测试,完整走了一遍,虽然只是一个小模块,但每个环节都挺扎实的。感觉现在再看《软件工程导论》或者《数据库系统概论》里的东西,能跟实际联系上了,比如设计数据库表的时候,会想到索引怎么建,查询语句怎么写才高效,这些在学校里只是理论,现在明白了实际应用中的考量。写的那1500多行代码,每个commit都有记录,回头看看,虽然简单,但都是自己一步步做出来的,这种完成感挺强的。

2.职业规划联结

这次实习让我更清楚地认识到自己到底喜欢什么。之前对后端、前端、测试都有点好奇,但实习里主要接触的是后端开发,用JavaSpringBoot,感觉挺顺手,特别是能接触到微服务的一些实践,比如服务间的调用、配置管理等,觉得很有意思。也看到了自己不足的地方,比如对分布式系统里的CAP理论理解还不够深入,对性能优化的手段还知道得不多。这直接影响了我接下来的学习计划,本来想泛泛地学点东西,现在明确了自己要往分布式、高并发这块多下功夫。打算接下来系统学习一下Kafka、RabbitMQ这些消息队列,再深入研究下Redis的缓存策略和优化。实习结束回去之后,可能就会开始准备相关的技术证书,比如PMP或者AWS认证,虽然现在离找工作还有段时间,但早点准备着,心里也有底。感觉自己的职业方向越来越清晰了,不再是迷茫地刷面试题,而是知道自己想成为什么样的工程师。

3.行业趋势展望

在实习过程中,能感受到公司用的技术栈,像SpringBoot、React、微服务这些,都是业内比较主流的,但也能看到一些趋势。比如团队里有人在用Docker做持续集成,虽然我还没深入参与,但感觉容器化部署是大势所趋。另外,老大经常提要关注云原生,说以后业务增长快,系统得跟着扩展,用云上的资源弹性会好很多。还有就是要重视DevOps,自动化测试、自动化部署这些能省不少事。这让我意识到,做软件不能只埋头写代码,还得抬头看看行业在怎么发展,哪些技术是必学的。学校里的知识更新速度其实跟不上行业,所以实习期间能接触到这些实际应用,感觉特别宝贵。比如看到他们用GitLabCI做流水线,自动跑测试和构建,就想着以后自己开发项目也得学学怎么搭建自己的CI/CD环境。

4.心态转变与未来行动

最明显的转变可能就是心态了。以前在学校,写个程序跑通就行,现在明白了代码得经得起推敲,要考虑健壮性、性能、可维护性,还得跟人合作,改一行代码可能影响到其他很多人。这种责任感是以前没有的。遇到难题的时候,不像以前那样容易慌,会先自己查资料,实在不行再去找人请教,感觉抗压能力确实强了不少。这种从被动接受知识到主动解决问题的过程,挺锻炼人的。未来,我会把实习中遇到的问题和学到的东西都整理好,特别是那些没完全搞懂的地方,比如微服务治理、分布式事务这些,会找机会再深入研究。实习证明了自己不是纸上谈兵,有了一定的实践能力,这对我找工作肯定是有优势的。虽然现在感觉还有很多东西要学,但至少方向对了,

温馨提示

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

评论

0/150

提交评论