有位朋友私信我:

我从事Java工作,今年受了很大的影响,我们公司采取了节源措施,给在岗的每位员工只发底薪。底薪太少了,我想要换工作,请笔者给个建议,换什么样的工作比较好!

我给这位朋友的建议很简短:不辞职,现在各行各业都难做。

为什么建议他不辞职,原因如下

  1. 他并没有想过离职之后做什么,即便要离职,也要明确离职之后的去向,不然就太被动,太迷茫;
  2. 现在各行各业都比较不容易。很多用人单位已经倒闭,多人已经失业,失业的人越多也就意味着就业的岗位竞争就越大,竞争越大,就得考验个人本事与能力,没本事,没能力,就容易被淘汰出局。

目前的就业形势比较严峻,对于那些想要辞职换工作的人来说无疑是一种挑战, 离职的风险很大,不仅很难找到自己心仪的工作,而且竞争异常激烈。如果真想要离职,一定要做好以下几点,让自己掌握主动权:

一、找到下家,明确发展方向

有一种离职,叫做说"离"就"离"。这样做法很潇洒,但是结局却很被动,因为冲动之下所做的决定并不能代表你真实的想法,很有可能逞一时之快,所以对待离职的态度一定要慎重。

离职之前,一定要找好下家, 明确发展方向。这样,你离职之后才能更好的入局,如果你很迷茫,一定不要离职。一旦离职,你可能会陷入焦虑之中,不知所措。

二、认清自己,找到自身的优势

每个人身上都有自己的优势,只不过很多人认不清自己而已。

在你准备离职之前,一定要找到自己的优势,你会什么?你的突出能力是什么?

如果你也不清楚,一定不要离职,因为离职之后依旧会陷入焦虑之中,你即便找到了工作则终究过得不充实,不快乐,找不到方向,离职率依旧会很高。

三、骑驴找马

很多人可能觉得骑驴找马的做法一点也不仁义, 实际上,骑驴找马的做法是最靠谱的。

所谓跳槽穷半年,转行穷三年,对于一个就业人员来说,想要工作更靠谱,一定要先找到工作再离职, 否则就会陷入被动局面。不做任何准备就选择离职,除非你很有本事很有能力,不然在离职之后再找工作一定会给自己增大很大的压力图择业的负担。

我曾经有几位同事就经历了这样的状况,他们离职之前信誓旦旦地说要去做生意,要去找更有前途的工作,可真正离职之后却面临着囧境,不仅没有找到合适的工作,而且根本就不知道自己适合做什么。成天迷茫,焦虑,应聘了很多行业的工作,都被拒之门外,一是没有工作经验,二是没有拿得出手的成绩,就让自己的选择很被动,没有任何本事也不做好任何准备,择业就会陷入两难的局面,想要找到一份合适的工作并不容易,一定不要太过片面认知,最终不是他们挑工作,而是工作挑他们。

四、最后提升自己

成为一名Java开发者很容易,但是要成为一名成功的、突出的Java开发者却不那么容易。这需要付出很多的努力,耐心,奉献和毅力才能做到。

我并没有什么捷径或者简单的方法来告诉你让你成为一名成功的开发者。但如果你愿意全身心投入并付出努力的话,你肯定会得到你应得的成功的。

应大家的请求,我这里给大家提供一些提升建议,仅供参考。

  1. 开始阅读更多的代码
  2. 克服对未知的害怕
  3. 尝试开始写博客
  4. 开始贡献开源库
  5. 花一些时间来学习 Java最佳实践

五、最后给大家分享一些Java进阶中高级面试必备的面试题

面试题都是可以免费分享的,只希望能够帮助到大家,祝大家面试顺利。

1. Redis

项目中使用Redis,主要考虑性能和并发两个方面。在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用Redis做一个缓冲操作,让请求先访问到Redis,而不是直接访问数据库。不过,Redis也有慢查询操作。根据交互效果的不同,响应时间没有固定标准。在理想状态下,我们的页面跳转需要在瞬间解决,对于页内操作则需要在刹那间解决。

  • Redis 的持久化机制是什么?各自的优缺点?
  • Redis在大厂常用的高并发场景设计
  • 缓存穿透、缓存击穿、缓存雪崩了解吗?讲一讲
  • Redis 淘汰策略和Redis 缓存失效策略
  • Redis 有哪些架构模式?讲讲各自的特点
  • ......

2. MySQL

作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上,MySQL并不难,下面这份最全的MySQL总结,助你向大厂“开炮",面试不再被MySQL难倒。

  • Hash索引和B+树所有有什么区别或者说优劣呢
  • MySQL索引优化
  • MySQL中InnoDB引擎的行锁是怎么实现的?
  • 如何定位及优化SQL语句的性能问题?创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?
  • MySQL主从复制原理以及读写分离、分库分表
  • ......

3. Mybatis

  • 源码中用了哪些设计模式?为什么要用这些设计模式?
  • MyBatis打开调试模式之后,能打印SQL语句等信息,这是怎么实现的?实现过程中使用了什么设计模式?
  • MyBatis是如何为二级缓存动态添加日志、同步控制、阻塞、缓存淘汰策略等附加能力的?用了什么设计模式?
  • 请描述从数据库连接池获取一个数据连接的过程
  • Mybatis二级缓存
  • ......

MyBatis是一款优秀的持久层框架, 它支持定制化SQL、存储过程以及高级映射。MyBatis避免了 几乎所有的JDBC代码和手动设置参数以及获取结果集,是Java程序员工作的好帮手,也是企业选拔人才时的常选题。

4. Dubbo

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)。

  • Dubbo 的注册中心集群挂掉,发布者和订阅者之间还能通信么?
  • Dubbo集群提供了哪些负载均衡策略,Dubbo的集群容错方案有哪些?
  • Dubbo 服务降级,失败重试怎么做?
  • RPC的实现原理及架构设计
  • ......