1年多经验的 Java 开发,该如何提升自己比较好?

2023-10-27

中级Java开发岗位职责:

负责研发公司应用软件的模块设计、开发和交付;
负责编码、单元测试;
按照功能组件的详细设计,对其他软件工程师的代码进行审核;
参与新知识的学习和培训;
参与业务相关的需求评审,编写技术文档设计;

中级Java开发的岗位要求:

精通weblogic、jboss tomcat、websphere等应用服务器,
精通linux\windows系统上的安装部署、配置及性能调优;
掌握EJB、servlet、JSP等技术,
掌握Spring MVC、dubbo、Spring boot、spring cloud、hibernate、MyBatis等开源框架;
掌握分布式开发经技术;
熟练掌握HTML、CSS、Javascript等WEB页面设计与编程,熟悉AJAX;
精通数据库技术,至少精通SQLServer/DB2/Oracle/MySql中两种数据库;
精通OOD、OOP及软件架构设计模式,
至少熟悉UML及Visio/Rational Rose/PowerDesigner中一种设计工具;
熟悉软件工程思想与软件设计开发流程;
有Redis和MongoDB、Memcached应用经验优先;
良好的沟通协调能力,具备良好的学习能力和潜力;

以上内容为大家整理的企业招聘需求,那么根据需求查漏补缺就可以了。其实题主问题描述当中自己也非常清楚自己的问题了,如果还不知道怎么提升,完全属于行动力不足。有一句严重警告给大家,有的时候你知道应该学什么不去学的时候,三年后你很难在开发岗位立足。身为开发需要不断地自学…

一、从几点开始提升

1.1 Java基础

这个阶段要夯实Java基础了,尽管Java新技术层出不穷,但是各个企业的侧重点不同,只有这真正夯实Java基础的同学们才能快速掌握新的技术。需要在核心算法、面向对象应用、数据结构和集合框架、反射、输入输出、多线程、异常处理等方面进行深入学习。

1,2 Linux操作系统

Linux是现在广泛应用的服务器操作系统,Java工程师需要对Linux高级命令集脚本编程,有所了解。

1.3 深入学习数据库技术

互联网公司离不开数据库技术,任何一个中大型的应用,数据库设计好坏,数据库访问的效率直接影响了项目的成本,必须掌握的两个主流数据库:MySQL、Oracle;除了能熟练应用数据库体系结构和SQL语句之外,还要掌握数据库设计、SQL语句优化方面。

1.4 企业级框架

Java组件和框架,所有Java程序员都应该了解Java框架

另外在开发、测试,部署实际项目适需要有特定的软件环境,但是很多技术人员不太重视。

二、如何提升自己

2.1 玩转GitHub

学习优秀的开源项目,关注并且了解最新的行业动态。所以各位一定要学如何玩转GitHub,我已经写过多次教程,大家有需要的查看:

如何开始在 github 上学习东西?
891 赞同 · 10 评论回答

2.2 提升顺序

各位小伙伴们,Java本身应该学的内容,如标题一中的全部内容,你都没学明白,就不要追求什么微服务,把基础先学好比较重要。如果你Github不会,那么你就开始学,如果以上你觉得都差不多了,在去学微服务分布式。

编程强化课程:设计模式|数据结构与算法|JVM高级^优化|并发编程|网络编程强化

2.3 项目经验

我们知道面试的时候必问问题就是“最近的项目,项目的复杂问题,你是如何解决的?”明确大家的项目是主要做什么的,有什么功能。明确项目的整体架构,不要总看着自己的一亩三分地。能够清楚地说出从哪里调用的,使用的是什么方式的调用,清楚的知道自己的模块咋整个项目中的位置和应用,清楚自己的模块用了什么技术,哪里有优化空间。

2.4 差距在哪?

今天面试我问你static关键字有哪些作用,如果你答出static修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意,因为能看出你非常热衷研究技术。

掌握集合和实现类的底层原理。

设计模式也是非常重要的,23种设计模式,能够说出来常用的就可以了。比如面试官问“你的项目中用到了哪些设计模式?如何使用的?常用的设计模式的优缺点?是否可以画出常用模式的UML图?”

这类问题要答的上来。

先要拿高薪JDK源码一定要读,重点给你们画出来了:

(1)List、Map、Set实现类的源代码

(2)ReentrantLock、AQS的源代码

(3)AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的

(4)线程池的实现原理

(5)Object类中的方法以及每个方法的作用

2.5 数据结构和算法分析:

很多人说在工作中用不到,但数组、链表是基础,栈和队列深入一些但也不难,树挺重要的,比较重要的树AVL树、红黑树,可以不了解它们的具体实现,但是要知道什么是二叉查找树、什么是平衡树,AVL树和红黑树的区别。

2.6 Web方面的问题:

web.xml里面的内容是重点,Filter、Servlet、Listener,不说对它们的实现原理一清二楚吧,至少能对它们的使用知根知底。另外,一些细节的方面比如get/post的区别、forward/重定向的区别、HTTPS的实现原理也都可能会被考察到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1年多经验的 Java 开发,该如何提升自己比较好? 的相关文章

  • 按键时关闭 ModalWindow

    我希望能够在用户按下某个键 在我的例子中是 ESC 时关闭 ModalWindow 我有一个用于按键的 Javascript 侦听器 它调用取消按钮 ID 的单击事件 jQuery modalWindowInfo closeButtonId
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • Spring AspectJ 在双代理接口时失败:无法生成类的 CGLIB 子类

    我正在使用Spring的
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供

随机推荐

  • CMOS图像传感器——从传感器冗余说起

    在这先抛出一个概念 什么是成像圈 众所周知 相机的镜头近似于圆柱体 光线透过圆筒子投射出的大都是圆形 我们可以拿一个镜头演示一下 当这个圆圈投在传感器所在焦平面时 我们称之为像场 像场的边界我们称之为成像圈 成像圈是圆的 但是传感器是矩形
  • 【测试】用例篇

    努力经营当下 直至未来明朗 文章目录 一 设计测试用例的万能公式 二 设计测试用例的具体方法 1 等价类 2 边界值 3 因果图 判定表 4 场景设计法 5 正交法 6 错误猜测法 sparkles 小结 普通小孩也要热爱生活 一 设计测试
  • WEB-1-前端三剑客

    前端三剑客 一 HTML 1 什么是HTML 2 元素 3 常见的元素 1 标题元素 2 段落元素 3 列表 4 超链接 5 图片 6 无语义标签 二 CSS 1 什么是 CSS 2 引入的样式 3 常见的 CSS 选择器 1 标签选择器
  • c++使用高斯顺序消元法,求解方程组

    方程组形式为 AX b 高斯顺序消元法的目的是将方程组整理为一个上三角矩阵 在获得这个上三角矩阵后 就可以通过回代的方法 逆序的求出方程的根X n 1 X 0 可以将求解方程组分为如下几个步骤 1 首先消去第一列除第一行外的所有元素 将第2
  • 微信小程序获取当前日期及时间

    1 在微信小程序新建好之后 项目内可以看到有一个名字为utils的文件夹 内放置util js文件 util js文件用于存放公共方法 打开后可以看到内容如下图 如果说你只需要获得当前日期等其他文件内没有的数据 就需要你进行添加 可以看到源
  • 100行代码实现加权负载均衡算法(WRR)

    轮询算法round robin是很基础的负载均衡算法 实际应用中wrr更为常见 但一般不需要自己实现 因为一般需要rr的场景 都已经在基础设施层面进行了支持 比如lvs或nginx通过配置即可实现 但业务上偶尔也需要自己实现负载均衡 所以有
  • spring缓存机制-根据condition加入缓存(三)

    spring是一个轻量级开源框架 以IoC Inverse of Control 控制反转 和AOP Aspect Oriented Programming 面向切面编程 为内核 兼具功能强大的的原生展现层spring mvc 原生持久层s
  • mac运行cocos2dx加载新资源的步骤

    如果不懂如何在mac下运行cocos2dx程序 可以参考以下的文章 http blog csdn net leansmall article details 50310343 文章中所说的 XCODE下拉列表 为 接下来 如果有新的图片或者
  • 舍友仅仅打了一把游戏,我就学会了如何实现用中断控制数码管各位的显示

    一 电路图 点击下载 二 代码 include
  • OpenMP和MPI比较

    OpenMP和MPI是并行编程的两个手段 对比如下 OpenMP 线程级 并行粒度 共享存储 隐式 数据分配方式 可扩展性差 MPI 进程级 分布式存储 显式 可扩展性好 OpenMP采用共享存储 意味着它只适应于SMP DSM机器 不适合
  • Postman如何导出接口的几种方法

    本文主要介绍了Postman如何导出接口的几种方法 文中通过示例代码介绍的非常详细 具有一定的参考价值 感兴趣的小伙伴们可以参考一下 前言 我的文章还是一贯的作风 简确用风格 简单确实有用 你们可叫我职场新人救星 好的废话不多说 今天这篇文
  • Flask框架五:高级视图

    1 类视图 1 1映射转换方式 除了 route 给函数添加装饰器映射路由外 还可以通过app add url rule view func func 来映射 类视图就要用add url rule来注册映射 from flask impor
  • 宋浩《概率论与数理统计》自用笔记

    文章目录 第一章 概率论的基本概念 古典概型 几何概型 公理化 条件概率 独立性 第二章 随机变量及其分布 离散型随机变量及其概率分布 连续型随机变量及其概率密度函数 分布函数 离散型的分布函数 连续型的分布函数 离散型分布 0 1分布 几
  • oracle误执行update提交事务后,回滚数据

    今天在公司服务器上执行了一句update SQL 并且提交了事务 忘记加筛选条件 导致整表字段被改 一下就来记录下回滚过程 1 找到自己执行update语句的时间 select r FIRST LOAD TIME r from v sqla
  • windows使用虚拟机安装mac系统

    windows使用虚拟机安装mac系统 iso链接 macOS Monterey 12 3 1 iso RTF https www aliyundrive com s s9gYRJcbtRv 点击链接保存 或者复制本段内容 打开 阿里云盘
  • 什么是集群、分布式、集中式、伪分布式

    1 集中式 将项目等部署到同一台机器上 对机器性能要求比较高 一般会用多台机器备份 否则 如果机器出现死机等状况 整个项目将不能运行 eg 就好比你要盖一座房子 你房子就给一个人盖 如果这个人生病或者有事 你还没有合适的人来代替这个人 你的
  • 什么是TCP/IP协议?

    点击上方 程序员小灰 选择 置顶公众号 有趣有内涵的文章第一时间送达 本文转载自公众号 技术特工队 作者整理了一些TCP IP协议簇中需要必知必会的十大问题 既是面试高频问题 又是程序员必备基础素养 一 TCP IP模型 TCP IP协议模
  • vue2+bootstrapvue+Koa2+nodejs实现分页

    1 实现分页思路 1 后端需要接收两个数据 当前页 currentPage 每一页的大小 即每一页要展示多少条数据 pageSize 2 注意 前端每点击一次页码儿都要发送一次请求 2 实现案例 vue2 bootstrapvue前端 Ko
  • 内网安全:WMI协议与SMB协议横向移动

    目录 网络拓扑图 网络环境说明 WMI协议 SMB协议 域内信息收集 WMI协议 横向移动 利用方式一 wmic命令 利用方式一 cscript 利用方式一 impacket SMB协议 横向移动 利用方式一 psexec 利用方式二 ps
  • 1年多经验的 Java 开发,该如何提升自己比较好?

    中级Java开发岗位职责 负责研发公司应用软件的模块设计 开发和交付 负责编码 单元测试 按照功能组件的详细设计 对其他软件工程师的代码进行审核 参与新知识的学习和培训 参与业务相关的需求评审 编写技术文档设计 中级Java开发的岗位要求