前言

        本人目前在一家小公司后端开发实习差不多两个月了,现在准备离职了,就这两个月的实习经历写下这篇文章,既是对自己实习的一个总结,也是给正在找实习的小伙伴以及未来即将进入到后端开发这个行业的同学的分享一下经验。

一、个人情况及实习公司情况

        首先,本人是非科班出身(数学系,本科信息与计算科学,硕士数学),跟着黑马自学的java后端,差不多学历3个月吧,找实习之前学完了某某外卖项目和鱼皮的RPC框架项目(简历上写的也是这两个项目),由于是瞒着导师偷跑的(导师放养,主要靠博士师兄,哈哈),所以就找了附近省会城市的一家公司,工作时长是8小时工作制,早9晚6点半,中午休息1个半小时,实习生不要求加班。

        实习的公司说实话挺小的(虽然这边是分公司),我在的这个组6个后端+4个前端+2个测试,带2个实习生,还有一个架构师,产品经理都不在这边。(Ps:公司在这边没有业务,感觉这边开分公司纯属是因为这边的人力资源便宜)

二、实习过程及注意事项

        上来第一周主要还是熟悉环境,没给安排什么业务。公司给配了一台全新电脑,第一天早上去的时候显示屏还在包装盒里,人事说她不会,让我自己装(Ps:正式员工都有两块显示屏,我们实习生只有一块),第一天主要是在配环境,安装各种软件,开通各种平台账号。第二天参加了员工培训,培训完居然还要考试!!后面就开始看代码,一开始只给开了一两个模块的代码权限,看的要吐了。

接下来,根据我自己的经历总结了几点新人注意事项

  1. 新人刚来要问清楚公司项目的JDK版本,项目是使用Maven还是Gradle以及对应的版本,问导师或者领导要settings.xml文件,公司一般都是有Maven私服
  2. Git要熟悉,常见的切分支,合并分支,提交,推送代码要熟练,每次提交代码之前前要合并分支,一次不要提交太多代码,容易产生冲突。(Ps:有个老员工教的,每次提交代码操作:Ctrl + t,Ctrl + k,Ctrl + Shift + k,哈哈)
  3. 公司电脑都要装保密软件,离开公司网络,文件内容都会显示乱码,图片也会看不清,在家里只能通过远程连接进行工作

        第二周领导安排了一个代码重构的任务给我,说不限时长可以慢慢弄(Ps:要重构的代码中有一个方法1800多行,整个程序3000多行,给我看吐了),终于在AI的帮助下,通过提取公共方法,添加注释,枚举类,采用工厂模式+策略模式对整个程序代码进行了重构,大概花了3天,中间领导还给提出来不少意见(Ps:没有AI我真的要栓Q了)。

        第三周主要是在协助架构师,他想升级项目使用的Spring版本,我就跟着他在研究Spring源码,版本差异以及将其中的模块打包发送到指定位置,后面又让我研究了国产的海量数据库,公司项目要兼容这个数据库。

        后面开始给我安排一些业务上的工作了,基本上都是单表或者多表的CRUD,业务功能需求开发主要流程大概是:产品经理给一个需求文档——>开会,理解各自的需求——>开发,并与前端对接——>前后端开发完毕,提交给测试人员进行测试——>改测试发现的Bug——>功能上线。(Ps:这里吐槽一下公司产品经理写的需求文档,太粗糙了)。

这里我也总结了几点注意事项

  1. 需求一定要理解到位,不明白就要问领导问产品,不要自己瞎写,写出来很可能不符合需求,浪费很多时间
  2. 要跟前端沟通好,她传过来的是什么数据,你要返回给她的是什么数据,不要自己瞎写
  3. 公司的项目会与自己开发的项目有很大不同,在框架层面就会完成许多功能的实现,不是所有代码都需要自己写,此外代码规范也有很多要求(比如抛出的异常是要按照定义好的模板统一格式等等),刚开始上手的时候可以参考模块中的其他功能的代码

        实习期间也改了不少Bug ,基本上都是什么空指针异常,接口响应速度太慢这样的问题,没什么难度。

三、收获总结

        这次出来实习虽然只有短短两个月,只是一个小公司,但这次实习还是让我受益匪浅,主要包括两个方面的提升:1.人生阅历上的提升;2.技术上的提升

  • 第一次出来租房踩到的雷,自己买菜做饭踩到的雷,职场与学校两种截然不同的感觉,一个人生活的孤独感(Ps:一个人来到一个陌生的城市独自生活的感受只有亲身经历过才会懂,之前在学校待的有点不耐烦了,真正踏入社会时才感受到学校的生活是多么美好和轻松)
  • 从技术上看,之前自己仅仅只学习了3个月的时间,实际工作时才能感受到自己技术上的粗糙,以前写项目时很多不规范的地方,自己都没注意到,到工作上时全部都暴露出来了,领导一眼就能看出我写的代码哪里有问题(尽管能够实现功能需求),两个月的实习,一开始总是要借助Ai工具,后面逐渐可以独立完成功能开发了

就写到这里吧,欢迎大家在评论区分享自己的实习经历和感受

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86092.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86092.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/86092.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python基础(​​FAISS​和​​Chroma​)

​​1. 索引与查询性能​ ​​指标​​​​FAISS​​​​Chroma​​​​分析​​​​索引构建速度​​72.4秒(5551个文本块)91.59秒(相同数据集)FAISS的底层优化(如PQ量化)加速索引构建,适合批…

Windows下memcpy_s如何在Linux下使用

Windows下代码如下 memcpy_s(pLine->ppBuf[i], m_ColorLineByte, pIn nOffset, m_ColorLineByte); 方案 1:使用标准 memcpy 手动检查(最通用) // 检查参数有效性 if (pLine->ppBuf[i] nullptr || pIn nullptr || m_ColorLi…

2025年数学算法与自动化控制国际会议(ICMAAC 2025)

2025年数学算法与自动化控制国际会议(ICMAAC 2025) 2025 International Conference on Mathematical Algorithms and Automation Control 一、大会信息 会议简称:ICMAAC 2025 大会地点:中国长沙 审稿通知:投稿后2-3日…

C语言数组介绍 -- 一维数组和二维数组的创建、初始化、下标、遍历、存储,C99 变长数组

目录 1. 一维数组 1.1 数组的概念 1.2 一维数组的创建 1.3 一维数组的初始化 1.4 数组的类型 1.5 数组下标 1.5.1 数组元素的遍历 1.5.2 数组的输入 1.6 一维数组在内存中的存储 1.7 sizeof 计算数组元素个数 2. 二维数组 2.1 二维数组的创建 2.2 二维数组的初始…

SpringAI + DeepSeek大模型应用开发 - 进阶篇(上)

三、SpringAI 2. 哄哄模拟器 2.1 提示词工程 提示词工程(Prompt Engineering):通过优化提示词,使大模型生成尽可能理想的内容,这一过程就叫提示词工程。 (1)清晰明确的指令 谈谈人工智能 …

Spring Boot实现异常处理

Spring Boot 提供了多种灵活的方式实现异常处理,以下是核心方案和最佳实践: 一、基础异常处理方案 1. ControllerAdvice ExceptionHandler(全局处理) ControllerAdvice public class GlobalExceptionHandler {// 处理特定异常&…

【目标检测】IOU的概念与Python实例解析

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

Vue2中如何使用vue-print-nb打印功能

插件官网地址&#xff1a;vue-print-nb - npm 1.安装 npm install vue-print-nb --save 2.导入打印插件 //main.js import Print from vue-print-nb Vue.use(Print); 3.配置参数 4.页面使用 <div id"printDiv">打印内容</div><el-button v-print&…

Matplotlib快速入门

目录 基本使用 解决中文乱码 一个坐标系绘制多个图像 多个坐标系绘制 基本使用 什么是Matplotlib 是专门用于开发2D图表(包括3D图表)以渐进&#xff0c;交互式方式实现数据可视化 为什么要学习matplotlib 可视化是在整个数据挖掘的关键辅助工具&#xff0c;可以清晰的理解…

扣料不允许‘货物移动’

遇到了报错&#xff0c;不允许货物移动 以为又是和之前一样是订单已经关闭&#xff0c;看是领错料还是财务误关的原因&#xff0c;但是co03一看订单状态并没有关闭 原因就是这个CRTD 订单只是创建了&#xff0c;但是没有下达 找个正常的看看&#xff1a; 一般订单创建和下达都…

【AI】全新AI测试系列之二--------AI自动化测试,提高测试效率

目录 一、自动化测试 1、与手动测试对比 2、自动化测试流程 二、自动化测试环境搭建 三、web自动化使用AI的两种方式 1、利用DeepSeek快速生成脚本 2、pycharm集成通义灵码 四、通义灵码实战 1、使用提示词生成代码 2、使用pytest框架 前言&#xff1a;上一章节只要是…

npm包冲突install失败

--legacy-peer-deps是npm&#xff08;Node.js包管理器&#xff09;的一个命令行选项&#xff0c;主要用于解决依赖冲突问题。当安装依赖时&#xff0c;npm默认会严格检查peer dependencies&#xff08;对等依赖&#xff09;的版本兼容性&#xff0c;可能导致安装失败。启用此选…

68、数据访问-crud实验-删除用户完成

68、数据访问-crud实验-删除用户完成 以下是完成“数据访问-CRUD实验-删除用户”功能的一般步骤&#xff0c;以常见Web应用框架&#xff08;如Spring Boot MyBatis-Plus、Django、Ruby on Rails&#xff09;为例&#xff1a; #### 准备工作 - **数据库表设计**&#xff1a;确…

实现 TurtleBot3 多点轨迹跟踪导航

系统架构 move_base本身不支持一次性发送多个目标点并自动按顺序导航,使用nav_msgs/Path消息类型发布多个路径点,然后让机器人按顺序依次到达每个路径点。 发布一个包含多个路径点的Path消息(可选,用于在RVIZ中显示路径)。按顺序将每个路径点作为MoveBaseGoal发送给move_…

《人性的优点》:破解忧虑密码,构建积极人生

我强烈推荐4本可以改变命运的经典著作&#xff1a; 《寿康宝鉴》在线阅读白话文《欲海回狂》在线阅读白话文《阴律无情》在线阅读白话文《了凡四训》在线阅读白话文 一、世界观&#xff1a;忧虑的本质与生命的真相 &#xff08;一&#xff09;忧虑是精神的“虚构苦难” 卡耐基…

D2554探鸽协议,sensor属性,回调

D2554探鸽协议&#xff0c;sensor属性&#xff0c;回调 各属性的默认值 对比度&#xff1a; 0x4064&#xff08;10进制&#xff09; 清晰度、锐度&#xff1a; 0x000&#xff08;10进制&#xff09; 饱和度&#xff1a; …

.NET 4.7中使用NLog记录日志到数据库表

1. 首先安装必要的NuGet包 在项目中安装以下NuGet包&#xff1a; NLog NLog.Config (可选&#xff0c;用于自动生成配置文件) 相应的数据库提供程序&#xff08;如System.Data.SqlClient for SQL Server&#xff09; Install-Package NLog Install-Package NLog.Config In…

非对称加密实战:Python实现数字签名

目录 非对称加密实战&#xff1a;Python实现数字签名引言&#xff1a;数字世界的身份验证1. 非对称加密基础1.1 核心概念1.2 非对称加密算法比较 2. 数字签名原理2.1 数字签名工作流程2.2 数字签名的核心特性 3. RSA数字签名实现3.1 RSA算法数学基础3.1.1 密钥生成3.1.2 签名生…

优化提示词的常用技巧

优化提示词的常用技巧 1. 告诉AI你需要的重要要素 &#xff08;1&#xff09;风格&#xff1a;明确语言风格 优化前&#xff1a;写一篇人工智能的介绍。优化后&#xff1a;写一篇100字的人工智能介绍&#xff0c;受众是小学生&#xff0c;语言幽默。 &#xff08;2&#xf…

PyTorch实战(12)——StyleGAN详解与实现

PyTorch实战(12)——StyleGAN详解与实现 0. 前言1. StyleGAN1.1 模型介绍1.2 模型策略分析2. 实现 StyleGAN2.1 生成图像2.2 风格迁移小结系列链接0. 前言 StyleGAN (Style-Generative Adversarial Networks) 是生成对抗网络 (Generative Adversarial Networks, GAN) 的变体…