文章目录


前言

9月即将结束,我的三个月​​java​​开发实习也同样接近尾声。明天就是国庆,在这里先祝各位小伙伴们国庆快乐。我已经买好了明天回家的票,回家看看家人、跟老朋友聚一聚,之后回到学校就要继续努力啦。

下面分享一下我这次实习经历,进行一下小复盘,也希望对大家有帮助。

三个月经历

基本情况

先说一下我个人情况,目前大二,开学就是就是大三了,主服务器端开发(后端),目前主要使用​​Java​​语言。

我是放暑假前自己写简历然后向一些求职平台投递简历,之后通过笔试+面试进入苏州的一家公司,公司位于腾飞创新园,是一家软件公司(外包)。(注:自学java一年半左右,学之前有点​​C语言​​、​​计算机原理​​、​​数据结构基础​​)

公司的话也不小,进去也给分配一台台式电脑(部分一些公司可能会让你自带,自己找实习要问问清楚)。

该公司流程是这样的,先进行笔试,笔试(20-30分钟左右)写好之后hr会将你的笔试答卷以及简历给到面试官接着进入面试阶段。一般面试官和你面试的时候会快速浏览看你的简历还有你的刚刚答卷,接着主要是围绕你简历上写的内容进行提问,对于实习生主要考察你基础一些掌握,一般不会直接跟你聊项目还有框架一些东西只会提一下。(大多数情况面试官在面试的时候才看到你的简历,所以简历一定尽量写写好,让hr能捞到你),我的话是上午面完下午问hr就有了答复,接着之后就约定暑假第一天正式入职。

  • 上面介绍的其实与中小型软件公司面试流程也大致相同,一些大公司的流程可能会更加严格、复杂一些。以下主要就是围绕我在公司的个人真实实际经历来展开。


初入职场

入职第一天,会根据你被分配到的项目组来决定谁来带你。入职的该公司对于实习生是有一个培训+考核(10天),最后考核结果与你的考核内容以及培训期间表现来决定。

培训内容:git管理工具使用、环境搭建、前后端分离整个前后台交互流程、vue基础语法,核心思想理解等(不同公司培训的内容也不同,主要还是靠你平时自己积累)。

考核内容:让你在一个已不再开发迭代的系统上完成一个页面上基本增删改查及后台的接口功能实现,最后能够跑通并讲解给带你的leader听,接着会根据情况来给你打分。

进入公司其实并不会再像学校一样给你开课讲一上午之列的,一般都是把一些重要的核心的给你花30-50分钟讲一下,接着会给你一些学习资料自己学,有问题可以问。(这里分享一句我leader在当天入职对我说的话,印象很深—“进入公司你的角色就已经转变了,在学校你是甲方的角色你花钱学校安排老师给你上课,你学不学都无所谓;在公司你属于乙方,公司花钱是来雇你干活的,这时候就不会像学校那样想学就学不想学就不学,想干就干不想干就不干,公司安排的一些任务与进度是需要你自己想办法去完成与解决的”)

这段话一下子触到了我,印象十分深刻,我很感谢我leader对我说的这些话,这对于我之后也能够更快的从学生角色转为入职员工角色。

我的话花了3个工作日+一个周末,把安排的学习任务及考核内容完成,就正式进入到带我leader的项目组,之后就可以说正式开始我的暑期实习。


第一个项目组(半个月)

在培训期间的话我主要学习了vue以及其他一些当前公司项目使用到的一些技术、项目管理工具等等,培训期间也算把我我之前学习的一些前端知识点给拾起来了。

一般在中小型公司的话,并不会像一些大公司对职位有很细的划分,比如说吧对于一些大公司做一个项目会有专门的前端人员、后端人员、UI设计师、产品经理、测试、运维等。在这里的话可能会让你身兼多个位置,例如既让你做前端页面,也会让你写一些后端功能接口以及进行一些基本测试等,并不是你是后端就只写后端接口其他啥都不弄,对于一些即将实习并不是在大厂或者一些比较大的公司的同学一定要做好心理准备。

这样的话有利也有弊吧我认为,先讲一下我认为有好处的地方(以下仅仅是个人观点):其实在这样的公司是十分能够能够得到锻炼的,虽说可能既要做前端、后端、测试等一些其他工作,但这也会能培养一个人的全面发展的能力、全局观等。这时候就可能会有人说搞那么多搞的过来嘛,这对于你以后的发展肯定不利啊。其实我想反驳一下,在我进入公司之前我认为外包是没有啥技术含量、很普通的就是接一些别人自己不想搞所以外包出来的东西,这些观点我也仅仅是通过外界一些问答啊、文章才有的。真实进入项目组后,其实也并发现外包并非那么容易,在刚刚进入的阶段碰到一些业务也还是比较复杂并且也接触到了很多都没有使用过的技术等等,对我的帮助也十分大。还有有时候别看公司不大,卧虎藏龙的也有不少,千万不要觉得自己很厉害很牛逼,往往有这样自我感觉的大多是没有真正开过眼界、见识过厉害的人。

接着说一下我认为的弊端吧:长时间一直这样下来,若是没有对专门的一个方向进行垂直发展、深研的话是很难做到这个行业顶尖的一部分的,大多数技术专家、CTO等等都是对某个方向技术有独到的理解并且在某个领域上花费了大量的时间去钻研。

扯远了扯远了,回到进入项目组,正式进入时,就让我去学一下小程序方面的知识,这也是属于前端的知识点,此时我就有点郁闷了,我不是java开发嘛,咋进来都是搞一些前端的呢。尽管有些小抱怨但我还是照做了,之后半个月时间都在搞小程序相关的内容,在这段时间里也使用微信小程序开发做了一个仿微信聊天的辅助工具。说句实话当你一旦有了实操的场景和具有一定的适当的压力,学习起来效果额外好且快,还有一个好处就是一旦有碰上认知层面或是在解决不了的问题能够直接问周围的同事,这样子学习效率简直起飞。

六分之一的实习时间就这么过去了,主要就是​​vue​​、​​微信小程序​​的学习及开发。


第二个项目组(两个半月)

做完小程序工具以后,恰巧另一个部门缺人手我就被调了过去,他们项目组的项目是与汽运相关,是最近才开始的项目,技术的话也还是用的比较新的(我运气比较好正好赶上了),是一个微服务项目。

  • 介绍一下,一般外包公司的话会和其他公司合作,其他公司(这里也可以称为甲方)会把一部分模块交或者整个项目交由合作的外包公司来进行开发。

我进入整个项目组时已经开发了近两个月,基础环境搭建以及部分业务已经完成了一部分了,刚进去的前几天是很懵的,比如看后台一个请求的完整调用过程,光实体类都有很多种当时都把我绕晕了如​​Request​​,​​Pojo​​,​​Response​​,​​VO​​,​​DTO​​等,这些其实都是​​java​​里面的​​class​​类它们可以抽象成实体来表示不同层需要或想要得到的数据实体,这里不进行展开详细说明。

在进入项目并完成一些开发任务的同时,我也很庆幸之前自己有大部分基础知识的积淀,而不至于在做项目的时候花大量时间学基础知识从而导致完成不了进度任务。之前半个月学的小程序也在这个项目组中用上了。

  • 项目的话一般公司现在主要是​​springboot+vue​​,前端组件库使用的是​​element-ui​​。各个公司要求的都不同,其实你只需要做的就是把基础知识都掌握巩固好,很多知识其实也是在项目中边学边用。

在这里我想跟看到这篇文章并且也是在学习​​java​​的朋友说一句,在学校期间一定要多注重基础知识的学习积淀(也许你在学的过程中会有迷茫并可能还会觉得没啥用不过请相信我这些都将会有用武之地)。千万不要在初学java阶段就大量学习框架,框架这东西这些都是大佬大神给你封装好的工具库,其存在的意义就是让项目开发更规范,更高效,一定要基础学学扎实了再去进行框架的学习,对于框架的话先进行应用后深入看源码研究,一般的话想深入看懂源码,得需要你有一些设计模式基础知识背景,从全局再慢慢看到局部。

这里在介绍一下项目开发流程吧

  1. 首先先由项目经理去和甲方沟通,确认好一些开发功能以及相对应的数据库表设计后,接着就会制定一个开发进度计划表,该计划表中包含每个模块的功能实现点、指定开发人员、开发周期。
  2. 制定好开发计划之后,项目经理会组织我们开会来进行一些功能细节点的实现以及逻辑关系梳理等等,一般会拿着设计好的UI图进行讲解,讲解过程中我们有问题可以随时沟通。(由于项目经理长期在外,我们经常晚上进行开会过一下进度以及一些新提出的需求讲述等等)
  3. 紧接着就是进行开发了,每个人需要完成指定的开发任务,包含前端页面及后台接口,有时候还会去写一些小程序。我们的话是使用​​Git​​来管理项目的,对应​​GUI​​图形(提升使用​​Git​​的效率)工具我使用的是​​SourceTree​​,我们提交好代码后,也会有人对我们代码进行​​review​​(复查审查意思)审核检查,我喊他吕哥,其复查审核主要就是保证我们代码尽量规范避免导致出现项目运行报错等问题。

在公司的话我觉得最大的好处就是有场景给你实操,并且能够高效快速的解决问题(问同事、问leader都可以),对于实现一些功能的话你可以先去看原有项目中有没有已实现过的代码,有的话直接可以进行参考阅读。我是十分建议在校生去实习的,不仅能够开阔你的眼界,还能够很大程度的提升自己的能力,当然这也因人而异。(可能有些人就会抱怨安排的任务过于难度高或其他问题,我进来之后也听说有些人被安排了其自己较难以解决的问题就离职的)

还有想要说明的就是公司的项目绝对是你自己业余从网上看当练手的项目比不了的,而且看视频的话永远都是跟着别人的思路走实现起来也会相对容易许多,在公司是真的需要你去不断的思考业务及功能的实现,这对于每个成员都是很有考验的,对于自身的成长也十分的有帮助。

不知不觉3个月就这么过去了,7月1号入职到9月30号离职,正正好好三个月。对于提离职的原因就是我想之后好好进行转本,把主要的心思放在转本上,时间很快明年3月份就会进行统考,加油加油。

在工作上我想感谢一些人,首先是我邻桌的同事,刚进入项目组的时候也都是他给我解答问题,也节省了我很多的时间,我们在这段时间经常性的进行探讨问题互相学习进步;接着是刚入职带我的leader,十分有耐心的给我传授一些经验道理;还有就是我们项目组的吕哥还有项目经理黄哥,还有一些其他的同事他们都或多或少帮助过我,并且人都很好,这段实习经历也算是很圆满结束了,说实话很充实,在赚了点钱的同时,对自己技术水平、实战能力都提升了不少!




学习总结

这里话我对自己三个月以来的学习做下简单的总结

  • 生活:能够具有独立生活的能力,学做了一些家常菜,能够管理好自己的衣食住行。
  • 工作:提前体验职场生活,实际了解了真实项目的开发流程,能够很好且较快的融入团队并且完成一些开发任务,经常性的进行总结以及笔记记录。
  • 转本学习:将转本所需知识点已经大致过了一遍,整理了学习笔记。
  • 技术:能够进行​​vue+springboot​​完成基本以及一些较为复杂的业务开发(前后端分离项目)。认识及进行了一些前端、测试的工作,了解到这些工作的大致流程。学习了如​​mybatis plus​​框架、​​springsecurity​​安全框架、​​springboot​​集成​​redis​​、​​token​​认证、全局异常统一处理等等等等。

这三个月我认为很值很值,我觉得对我也说不仅仅是技术,包含认知水平等等方面都有着很大的提升。




未来的方向、努力的点

实习结束了,我也进入大三阶段,之后核心要做的事情的就是准备转本,统考转本时间是明年的3、4月份。

对于剩余6个月,我准备进行两轮复习,第一轮就是针对于考纲考点来对知识点进行二次巩固,成体系再次学习记录笔记;第二轮就是冲刺阶段,就是刷题,针对于往年真题及练习题,主要目的就是将知识点进行实际应用,在实际应用过程中对遗漏的知识点进行补充。

对于自己专业、技术方向,我准备在国庆之后做一个学校的多人用户博客网站,并在学校里组一个小团队能够一起协作开发做一些自己的东西以及扩展学习新的技术。

暂时主要就是这些,我知道很多事情说起来容易,做起来难,我只能说我会尽我所能,尽力做好自己想要做的事,不让自己后悔有遗憾,看到这里的小伙伴你也要加油噢,我们一起加油努力!




我是长路,感谢你的耐心阅读。如有问题请指出,我会积极采纳!
欢迎关注我的公众号【长路Java】,分享Java学习文章及相关资料
Q群:851968786 我们可以一起探讨学习
注明:转载可,需要附带上文章链接