千羽Java开发的实习经验分享


powermock

说起实习

先附上一张图,还有一些是额外的,就没添加进去了

开始阶段

说起实习,感慨有很多很多,我从大一就开始关注一些外面的工作岗位的要求(大一还过来深圳踩点了哈哈)。

Java开发

Java开发

大一时,一边在学校上课,一边往自己的兴趣去学习,相对于学校教的课程,其实教的杂,教的广,教的浅。

当选定Java方向之后,就一直往这方面去走,跟着自己的兴趣去学,从Java基础,Javaweb,Spring,SpringMvc,MyBatis,MyBatis Plus,JPA,SpringBoot,SpringCloud,MySQL,前端HTML,Css,Js,JQuery,Vue,Element UI…..等等。其实也悄悄是跟着黑马程序员的Java方向走,哈哈,有需要的小伙伴,可以在我的公众号,回复“黑马”就可以了

准备面试

而今年因为疫情的影响,就开始筹备面试了,也是准备了两个月,刷题,面经…。之后就开始投简历了,这里有一点,很多时候,投出去的简历都石沉大海了,但是我们也不要气馁,对吧。所以得静下心来,慢慢找。所以找工作真的不容易。这一次有这样一次实习的机会,我非常的珍惜!

上班

当面试通过之后,和HR达成协议之后,我就提前来深圳了,先是租房,其实来深圳也不容易,租房确实贵,吃的也不便宜,租房好了,就开始自己的上班之旅了。但还是很开心。不过后面租的这个房子也有些问题,还好只是短租,不过明年毕业租房就不会租这种房子了,也算是提前涨了一点经验。

实习的体会

短短的两个月实习,我成长了很多

  • 以前写的代码没有规范,包括代码的命名方式,

  • 考虑事情的思维方式,可能对于学生的我感觉解决的办法就一个,感觉这样实施了,那肯定是没问题,结果问题多多,哈哈。但是在工作了7,8年的同事大佬来说,解决问题的办法有好多种。

  • 以前在学校接触的东西(技术),没有涉及的太深入,还存在我对有的技术是存在误解的

  • 说实话,虽然我的编程能力没有突飞猛进过

转折点就是这次实习了,ATOM是我实习的第一家企业,在公司的这两个月里,我认识了很多前辈,也结交了很多非常优秀的同一辈人,本科985,现在还是研究生..感觉自愧不如啊。如今,我就快要回学校去度过我人生中最后一段校园时光了,想着在这里记录下来,作为对自己实习经验的一个小总结,也希望能对大家有所帮助哦。

两个月学了啥

1. PowerMock

PowerMock是一个单元测试模拟的框架,用于解决测试问题。

举个例子,你在使用Junit进行单元测试时,并不想让测试数据进入数据库,怎么办?这个时候就可以使用PowerMock,拦截数据库操作,并模拟返回参数。

2. Postman

Postman 是一个 Chrome 扩展,提供功能强大的 Web API & HTTP 请求调试。它能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers。

因为公司的项目是前后端分离项目,后端拿到的数据返回json数据给前端解析。但是我的项目没有前端页面啊,怎么办呢,这时候Postman就出场了

3. Kafka消息队列

什么是Kafka?

在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。

  1. Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。

  2. Kafka最初是由LinkedIn公司开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。

  3. Kafka是一个分布式消息队列。Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)称为broker

  4. 无论是kafka集群,还是consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性。

    这个已经记录在我的GitHubhttps://github.com/nateshao/Queue/blob/master/Kafka%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0.md

4. 性能测试

性能测试这个也就那样吧,主要是测试项目的性能的情况,做出分析,如何解决

5. 序列化与反序列化(Msgpack)

定义:Java序列化就是指把Java对象转换为字节序列的过程

Java反序列化就是指把字节序列恢复为Java对象的过程。

Msgpack这个我就在写读写一致,然后测试的时候就使用过。

详细的话,可以看这篇文章:https://blog.csdn.net/tree_ifconfig/article/details/82766587

6. GenerateAllSette

这个东西主要是一个插件,为什么说这个好用,主要是一个类有很多字段,当你开发时,不可能一个一个字段去写,会耗费大量时间,还有出现错误。

GenerateAllSette减少了很多麻烦,Alt + Enter ,然后修改就完事了

7. honest-profiler火焰图

火焰图也是工作上常用的Java性能分析软件

详情可以看我这篇。

8. jmh基准测试

jmh 这个也是leader要求掌握的,不过我只是做了简单的Demo试了一下效果,后面我就没负责这一块了

简单入门,可以看一下这篇文章https://www.jianshu.com/p/0da2988b9846

9. jvisualvm

jvisualvm是jdk自带的分析工具。可分析JDK1.6及其以上版本的JVM运行时JVM参数系统参数堆栈CPU使用等信息。可分析本地应用及远程应用。

这个挺方便的,而且功能也很强大,这个当时也测了,忘记记录文档了,下不为例。

不过,使用的话可以看一下这篇文章:https://www.cnblogs.com/kongzhongqijing/articles/3625340.html

10. 测试用例

测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档

这个没得说,整个实习阶段,基本上都是在写整个,测试逻辑和覆盖率,之后就进行性能分析,性能测试。

11. Git Flow

这个是对git使用的一套规范,相似于restful风格

这个了解一下就好https://www.jianshu.com/p/41910dc6ef29

12. RestFul风格

RestFul风格一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

可以看一下我写的这篇

总结

  • 不过总体上工作还是非常满意的,主要是工作的气氛非常好,leader也很nice。
  • 大多数时间也不是特别忙,没有传说中的996/997,把每一天的任务做到最好就可以了。
  • 刚开始就想把代码理解透还是挺有难度的,因为这个要设计到业务逻辑。所以业务逻辑得会。
  • 两个月呆的时间特别棒,还有一点就是,月半了
  • 深圳这边,没得说,吃的住的都不便宜。
  • 大多时候是闲的:很多时候接到的任务都是基于原有的基础上添加一些功能,改Bug之类的,也做过小的模块开发。总体来看:技术难度不大,主要是对业务的理解

高性能MySQL


文章作者: 千羽
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 千羽 !
评论
  目录