软件工程互联网科技公司软件工程师实习生实习报告_第1页
软件工程互联网科技公司软件工程师实习生实习报告_第2页
软件工程互联网科技公司软件工程师实习生实习报告_第3页
软件工程互联网科技公司软件工程师实习生实习报告_第4页
软件工程互联网科技公司软件工程师实习生实习报告_第5页
全文预览已结束

下载本文档

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

文档简介

软件工程互联网科技公司软件工程师实习生实习报告一、摘要2023年7月1日至2023年8月31日,我在一家互联网科技公司担任软件工程师实习生。在为期8周的实习中,我参与了XX项目后端模块开发,使用Java和SpringBoot框架完成5个API接口的设计与实现,通过单元测试覆盖率达到90%的验收标准。协助团队优化数据库查询性能,将特定报表生成时间从3秒缩短至1.2秒,采用Redis缓存技术提升了系统并发处理能力。熟练运用Git进行版本控制,提交代码合并请求23次,解决冲突问题17个。期间通过阅读团队技术文档和参与代码评审,掌握了敏捷开发流程中的持续集成实践方法,形成了可复用的RESTfulAPI设计规范。二、实习内容及过程2023年7月1日至8月31日,我在一家做分布式系统的公司实习,岗位是软件工程师。刚去那会儿主要熟悉业务和系统架构,跟着导师看了XX系统的代码库,这个系统用Java和Kafka做消息队列,服务端是微服务架构,分成10多个独立部署的模块。第3周开始参与具体开发,接手的是用户权限模块的优化,原接口响应时间稳定在2秒以上,我通过添加缓存层,把热点数据的查询速度提到0.5秒内,前后压测对比,QPS从800飙到3500。期间遇到一个缓存穿透问题,某个查询频繁命中数据库,当时试了布隆过滤器没弄懂,后来请教导师用本地缓存+数据库双写解决,还学了Redis的持久化机制。8周里独立完成3个功能上线,提交代码50多次,每次提交都写单元测试,覆盖率保持在85%以上。印象最深的是重构一个老接口,把同步调用改成异步,系统吞吐量直接翻倍。导师说做技术不能只盯着性能,稳定性也得兼顾,这点我后来懂了。最后那周参与线上问题排查,用JProfiler定位到内存泄漏点,虽然只是个边缘案例,但感觉收获挺大。实习最大的感受是,学校学的理论得落地,光会写代码没用,还得懂系统怎么跑,怎么排错。公司环境确实和学校不一样,节奏快,要求严,有时候压力挺大,但逼着自己进步挺明显。比如Git的使用,之前只会基础,现在会常用一些高级操作,比如rebase合并分支,效率高多了。第2周开始接触实际项目,XX系统是我们团队的核心产品,基于SpringCloud搭建的,服务间通信靠Dubbo,数据存储分了关系型和NoSQL两种,ES做全文检索。导师给我分配的任务是优化用户登录接口,原接口因为数据库查询慢,高峰期会出现超时,登录成功率掉到90%以下。我分析发现是密码加密方式太耗资源,改用BCrypt后,接口响应时间从1.5秒降到0.3秒,登录成功率回升到99%。这个过程中我踩了不少坑,比如一开始没注意线程安全问题,导致缓存数据不一致,用JVM参数XX:+HeapDumpOnOutOfMemoryError抓到堆栈信息后才解决。第4周遇到个棘手问题,XX模块的定时任务偶尔会卡死,日志看不出来什么,后来发现是依赖的第三方API超时,但对方没有重试机制。我提议在服务端加熔断器,用Hystrix实现,导师采纳了,现在系统稳定性强不少。这个经历让我明白,做分布式系统不能假设对方都靠谱,得考虑各种异常场景。另外,公司代码规范特别严,比如变量命名不能拼音,必须用英文,方法超过50行就要拆分,这点一开始真不习惯,但确实让代码可读性高很多。实习后期参与过一次技术分享会,同事讲微服务治理的经验,说他们用Zookeeper做配置中心,服务发现靠Eureka,这让我对分布式架构有了更直观认识。虽然只实习了8周,但感觉学到的东西比两年课还多,特别是团队协作,怎么跟产品经理沟通需求,怎么给测试写用例,这些在学校根本接触不到。公司培训机制其实一般,没人手把手教,全靠自学,有时候真想有个导师带着,但这也算锻炼独立能力吧。最大的收获是意识到自己的短板,比如数据库优化这块,虽然学了SQL,但实际用起来还是菜,这次补了不少课。如果再来一次,我会提前把公司用的技术栈摸熟,比如Docker和Kubernetes,肯定能更快上手。三、总结与体会2023年8月31日结束的这8周实习,像一根绳子把学校学的理论和实际工作拧在了一起,真真切切感受到什么叫“学以致用”。刚去那会儿,面对真实世界的项目代码,手忙脚乱是常态,比如XX系统那个微服务架构,光看懂模块间的依赖关系就花了整整一周。但每天啃文档、看线上问题日志、跟着导师调试,慢慢就摸清门道了。记得第5周独立开发用户权限模块时,为了把接口响应时间从2秒压到0.5秒,反复试了N种缓存策略,最后用本地缓存+Redis双写才搞定,当时导师说“技术是妥协的艺术”,这话我一直记着。现在回头看,那些熬夜排查Bug、写单元测试到凌晨的日子,真没白费。实习最大的价值在于,让我明白软件工程不只是敲代码,更是责任。比如有一次线上接口突然雪崩,我虽然只负责一小块,但跟着团队紧急排查到凌晨3点,那种压力是真真切切的。现在写代码,每个if语句、每个变量都会多想一层“线上会怎么反应”,心态跟以前完全不一样了。这次经历也让我看清了职业规划的方向。之前觉得后端开发就是“做功能的”,现在发现,想走远路,得往分布式架构、中间件、云原生这些方向钻。公司用的技术栈里,我对Zookeeper和Eureka特别感兴趣,实习最后那周还主动去学了Docker的容器编排,现在看相关教程,感觉跟学校学的完全两回事,更注重实践和效率。接下来打算深挖一下Kubernetes,顺便考个CKA证书,感觉这比死磕学校里的毕业设计实在多了。行业里现在都在讲高并发、高可用,这次帮XX系统做缓存优化的经验,要是拿到面试上,绝对能加分。而且现在懂了,为啥大厂都喜欢要“有项目经验”的,学校那点东西太虚了,得用数据说话。比如我做的权限模块,测试压测时QPS从800提升到3500,这数据摆在那,比说“我懂设计模式”有说服力多了。看着公司那些老员工,每天跟各种技术难题打交道,却还能保持从容,我意识到自己的路还长着呢。互联网行业变化太快,现在AI、大数据、隐私计算这些新概念层出不穷,感觉不持续学习很快就被淘汰。实习最后导师跟我说“技术是工具,不是目的”,这句话点醒了我。以后不管走哪条路,都得把基础打牢,像数据库优化、网络协议这些底层东西,得反复琢磨。这次实习还让我看清了行业现状,比如加班是常态,但回报也确实高,关键看自己能不能扛。如果再来一次,我会更早接触业界主流的开发工具链,比如Git的rebase、CI/CD流程,这些现在看来是基本功,当时真没太重视。总之,这段经历让我从一个只会背概念的学生,慢慢变成一个能动手解决问题的准职场人,虽

温馨提示

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

评论

0/150

提交评论