{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

java开发通过跳槽提升技术好还是自学好?

paulli3paulli3 回答0 收藏2
问题描述:本人java开发工作一年,目前公司开发都是一些简单的crud,除非私下花时间学习否则技术很难提升,自己学肯定没有实际工作中提升的快,选择跳槽还是私下努力学好呢,目前技术沉淀不够加上工作不太好找不敢跳,前辈们给点建议,谢谢
收藏问题

3条回答

qieangel2013

qieangel2013

回答于2022-06-28 15:32

从你自己的分析,也知道要学习,这是非常好的。

目前市场上技术实力强的公司,对于候选人的要求是比较严格的,尤其是大型的互联网公司 。进入是需要门槛的,经过多轮次的技术面,才能拿到Offer。

在这个行业摸爬滚打很多年,知道一些情况,希望对你有所帮助。面试过很多候选人,目前的通过率不是很高,一到三年工作经验的,技术面通过率20%左右;工作经验越久的,通过率越低。这就应了那句老话,逆水行舟不进则退啊。

我给你的建议是一定要花时间学习,如果连续作几年的CURD,基本上就废了,以后面试很难进入优秀的公司。先学习打好基础,然后有好的机会就去个大公司 ,这是比较好的选择。

具体学习什么呢?或者说面试官主要关注哪些知识点呢?做个简答的总结。主要包括五大类,分别是:基础知识、数据结构与算法、框架技术、中间件、以及综合类的。

  1. Java基础知识
  • 基本概念。继承、基本数据类型、集合类、关键字、反射等
  • 多线程。线程状态、sychronized关键字、volatile关键字。
  • jvm。内存模型、垃圾回收机制、内存泄露
  • IO。TCP协议、BIO、NIO、Unix网络模型、Netty
  • web编程。Http协议、Servlet生命周期、Filter、Session、Cookie等

2、数据结构与算法
  • 数组、链表、二叉树、队列、堆、栈
  • 基础算法:排序(冒泡、快速排序、堆排序)、二分查找、递归算法
  • 高级算法:Top K、分治思想、动态规划、字符串
  • B+Tree、红黑树

3、框架技术

  • Spring,IOC、AOP、动态代理技术、事务、懒加载、mvc常用注解
  • MyBatis,优缺点、如何防sql注入、分页原理等
  • Spring Boot,starter工作机制、启动过程
  • Dubbo,服务注册、rpc优势、优雅关闭、负载原理
  • Spring cloud,常用组件、负载原理、Eruka集群、熔断
4、中间件
  • Mysql,SQL语句、SQL优化、存储引擎、索引、事务隔离级别、分表分库
  • Redis,特点、数据类型、哨兵机制、集群
  • Rabbit MQ,消息路由、多个消费者、死信队列、集群、幂等性
  • Kafka,特点、应用场景、体系结构、消费者组
  • Zookeeper,节点类型、选主策略、Zab协议
5、综合
  • 分布式事务
  • 秒杀系统设计
  • 大日志处理
  • CAP原理

列举了这么多,并不是说都需要掌握,而是根据你的工作履历,做一定的精简。要做到用过的,一定要懂;简历上写的,一定要理解。得到面试机会是比较容易的,面试通过才是关键。

欢迎关注我,分享Java相关的技术主题。

评论0 赞同0
  •  加载中...
jsummer

jsummer

回答于2022-06-28 15:32

两个都要,如果你没有自学的心态到哪里工作都是一样的,不能被动学习,只能主动学习。java这个行业只能在实践中去成长,然后不停的学习,开发的技术都更新很快,过两年不学新技术就会被淘汰;如果目前这个工作确实太多简单,对技术没有太多的提升空间的话可以试试换工作,换个对自己来说有挑战性的工作,这样也能督促自己去学习。

评论0 赞同0
  •  加载中...
changfeng1050

changfeng1050

回答于2022-06-28 15:32

自学加跳槽,如果平台是好,你可以继续做,有上升通道。自学你可以学到新的技术,但是没有平台让你施展,你可能遗忘速度超级惊人。大数据,我自学了,但是没有应用经验,基本没什么面试机会。也很快遗忘了。公司如果有新业务有技术新要求,公司会提供机会给员工去学习的。总结,先看平台,然后是自学。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<