你会Java语言进行开发,但是你敢说精通吗?但凡你简历上这么写,绝对会被人问到死。
技术深不只是停留在运用层面,更多的是对这门技术的使用场景,底层原理,遇到问题的处理方案,以及同类型的其他技术比较以及运用。除此之外还需要掌握他的广度,比如,你在处理这个功能的时候,有多少方案可以作为选择和参考的。
就拿行业覆盖面比较广泛的Java编程语言来说,作为Java开发工作者,你需要掌握的技术主要分几个大类,JavaSE,框架,中间件,数据库存储,高并发分布式集群,可持续集成开发,网络编程以及安全,面试及项目实战经验,数据结构和算法(应届生考察的比较多,社招生没那么严重)。
框架:主流的几套框架别的不说,至少要都会用,像Spring,Spring MVC,Springboot,Mybatis,SpringCould,Dubbo+Zookeeper,Struts+Hibernate(这套框架基本很少有公司会用了),级别稍微高一点的开发,基本都看过一些底层源码,知道一部分的底层运行原理,比较资深的基本可以实现基于这些框架进行定制功能。
中间件:这个就比较广泛了,不说其他中间件,就单纯拿消息中间件来说,国内在市面上流行的几个ActiveMQ(这个最近几年用的少了),RabbitMQ,RockerMQ,Kafka基本都要会用吧,从安装到使用这些都至少基本需求,除此之外,需要了解各个消息中间件各种的一些基本概念和差异,如何处理消息中间件带来的一系列问题,比如:各个消息中间件是如何处理消息顺序性,保证消息的可靠性,以及集群等问题。
数据库存储:这个也比较广泛,最常用的Redis,Mysql,Mongodb,Elasticsearch最基础的安装以及使用要会吧,除此之外一些基本概念和底层的一些存储方式等,一些大公司可能还会考察你对各种数据库之间的一些集群或者主从复制,分片,数据同步,海量数据等等问题处理方案。
高并发分布式集群:这块是比较考验项目经验的,很多代码并发量一高,数据量一大就会出现各种问题,所以这块的内容是比较多的,处理方案也需要有多种准备。
可持续集成开发:目前互联网产品的迭代速度是比较快的,很多公司都进入到了敏捷开发的行列,所以会需要开发人员了解并且使用可持续集成的开发工具等等。
网络编程以及安全:网络编程方面更多的是考察你的计算机底子,很多做游戏的对这方面要求会很高,比如需要你了解一些粘包如何避免等等。除此之外还有一些同时在线的项目可以对网络编程方面的要求比较高,同类型的比如:微信,QQ这种实时在线消息发送的。网络安全其实有专门的人员负责的,但是作为开发人员,这方面的知识也需要掌握,否则你开发的功能容易被人攻击到,国内其实网络这块做的还是比较好的,国外的服务器经常会被人攻击,这点我深有体会,本人之前在AWS的服务器上面搭建过一些项目,好死不死被人攻击了,被人勒索比特币,所以网络安全方面的知识需要了解。
面试及项目实战经验:做为开发人员,面试技巧很重要,因为行业在内卷,面试造航母,工作拧螺丝已经成为公认的事实了。项目实战经验决定着你的编程能力,遇到问题的解决方案是否有经验。
以上就是我的个人经验之谈,有异议欢迎大家在评论区留言,觉得文章不错的话记得点赞,收藏哈,你的支持就是对我创作提供了最大程度的帮助,当然要是关注我,那就最好啦,这里给上主页地址:https://blog.csdn.net/java_wxid
除此之外还分享一篇博文:Java资深开发:这不得40k起步呀,推荐理由:博文介绍了成为技术大佬需要具备的一些技能,广度和深度都有,适合有一定开发经验的同学系统学习哈。
零基础的同学,可以看看这篇文章【总结:第一章:从入门到入职拿到过万月薪我需要这些技能(400多篇博文系统归类)P5级】。博客推荐理由:职业生涯所有技能例如javaSE基础,ssm框架,springcloud全家桶,dubbo+zk框架,MySQL数据库,MongoDB数据库,redis缓存,es与solr全文搜索,linux系统,docker应用容器引擎,Activiti工作流,Fastdfs分布式文件系统,ActiveMQ与RabbitMQ消息队列,JUC并发线程工具类,线程池技术,Freemark与Thymeleaf模板引擎,面试总结等,java知识点覆盖面广泛,几乎覆盖了从入门到入职拿月薪过万的所有知识点。
初中级Java开发的同学如果急着面试也可以看看我这篇博文:【Java面试】第一章:P5级面试,博文推荐理由:曾经一度成为各大培训机构面试案例,有十一万访问量了哟,文章篇幅太长,细分了十几章节简述面试经验。
中高级Java开发的同学如果急着面试可以看看我这篇博文:【Java面试】第二章:P6级面试。博文推荐理由:覆盖面广泛,并且属于高频率的面试,被问到的比较多,也有一定的深度。
时间比较充裕的同学可以看看面试:互联网 Java 工程师知识扫盲
最后分享一本leetCode刷题开源书籍:
链接:https://pan.baidu.com/s/1GcTjZ3jo-r5Fpqe5xBuIXw 密码:8tuq