资讯详情

25K的Java工程师只需要掌握这20%的技术就够了!

前言:

Java知识点需要掌握

初中级 Java 程序员必须掌握的知识。

微服务思维导图

支付宝阿里官网Java高级开发工程师的招聘要求

如何提高应届实习生的个人竞争力?


前言:

我听说编程语言经常使用20%的技术。Java这20%的语言包括什么?参加培训两个月,还有两个月。如果你想在两个月后找到一份Java初级程序员的工作必须掌握什么,现在可以学习和销售什么?一个完整的Javaweb每个模块使用的具体模块和技术是什么?

Java知识点需要掌握

  1. java以其丰富的分布式应用生态而闻名,在分布式系统中无法逃脱CAP选择。提前了解一些分布式一致性协议paxos、raft等。学习zookeeper原理及使用场景(metadata、分布式、leaderEletion... etc)
  2. RPC框架在SOA架构起着重要的作用,好好探索是好的。这里推荐阿里巴巴dubbo框架,同时netty、mina等网络库
  3. ElasticSearch\SolrCloud 分布式搜索 ELK 当然,日志相关的东西对这些更敏感,在更多的场景中使用ES也是有很多
  4. 消息队列 kafka\MetaQ RabbitMQ 缓存 Redis/memcached .容器tomcat/jetty web服务器NGINX/OpenResty
  5. 然后是编程语言、网络、数据库、数据结构和算法等各种基础知识。不要认为任何东西都精通。有多少知乎敢说精通。
  6. = =事情太多了,我一时想不起来了。以上是业内常见的事情。不同的工作会遇到不同的问题,需要更多的工具和开源框架来解决各种鸡蛋疼痛的问题。然后你会有越来越多的东西,然后你不知道你会写什么。
  7. 掌握技能需要时间成本和学习成本。要成为一名好的程序员,不要害怕学习。你需要新技术才能跟上你的教育能力。你想在那些年学习struts2比springmvc高一点,现在基本没人用了。

许多初学者或者有经验的开发者都会陷入这个泥潭:不知道该学什么?

我认为最简单的方法就是去招聘官网看看公司要求什么技能,比如初级 Java 肯定工程师的招聘要求和高级要求 Java 工程师的招聘要求不一样,阿里的 Java 肯定工程师的招聘要求和 普通公司的Java 工程师招聘要求不同。

  1. 掌握数据结构、算法、操作系统、计算机网络等基本知识
  2. 熟练掌握Java编程、熟悉Java高并发开发手段,对JVM 虚拟机(Java内存区、虚拟机垃圾算法、虚拟垃圾收集器JVM内存管理有一定的研究
  3. 熟练掌握SOA分布式系统开发具有优化系统性能、提高系统并发性和系统可用性的实践经验
  4. 熟练掌握Spring、MyBatis、SpringBoot熟悉使用等框架 Spring 原理比如 Spring Bean 创作原理,IOC和AOP的原理。此外,由于基本公司现在直接使用, Spring Boot ,因此,建议直接开始实战建议Spring Boot。SSM就算了吧,Spring 还是可以看一下。
  5. 熟练掌握Dubbo、Zookeeper、常见的消息队列(如Kafka、RocketMQ)的使用
  6. 熟悉Linux 使用系统,在Linux在系统下具有实际的开发经验
  7. 熟悉MySQL常用的数据库SQL句子的写作和常见的优化手段
  8. 熟练掌握 Redis 了解Redis 常见的数据结构,Redis分布式缓存和Redis实际应用分布式锁
  9. 掌握 Spring Cloud Docker k8s
  10. 了解Hadoop 在生态相关技术中 HDFS、Storm、MapReduce、Hive、Hbase

微服务思维导图

这里小编总结了一份spring cloud有兴趣的朋友可以点击查看思维导图!可以获得思维导图点我领取。

支付宝阿里官网Java高级开发工程师的招聘要求

让我们来看看阿里巴巴官方网站支付宝Java招聘高级开发工程师,年薪至少40元w开始吧!从以下招聘信息可以看出,除了Java这些能力在基础/集合/多线程中尤为重要:

  1. 比如底层知识jvm :不仅懂理论更实用;
  2. 面向对象的编程能力 :我理解这不仅包括面向对象编程SOLID软件设计原则。
  3. 框架能力 :不仅仅是简单的使用,还要理解原则和机制!理解原则和机制的基础是学会查看源代码。
  4. 分布式系统开发能力 :要掌握缓存、消息队列等,关键是要用这些技术来解决实际问题,而不是纸上谈兵。
  5. 不错的sense :喜欢和尝试新技术,追求优雅的代码编写等等。

如何提高应届实习生的个人竞争力?

结合阿里、腾讯等大厂招聘官网 Java 应届实习生在后端方向/后端方向的要求如下,也可以提高你的个人竞争力:

  1. 参加过竞赛( 含金量超高的是 ACM );
  2. 对数据结构与算法非常熟练;
  3. 参与过实际项目(比如学校网站)
  4. 熟悉 Python、Shell、Perl 其中一门脚本语言;
  5. 熟悉如何优化 Java 代码、有写出质量更高的代码的意识;
  6. 熟悉 SOA 分布式相关的知识尤其是理论知识;
  7. 熟悉自己所用框架的底层知识比如 Spring;
  8. 有高并发开发经验;
  9. 有大数据开发经验等等。

从来到大学之后,我的好多阅历非常深的老师经常就会告诫我们:“ 一定要有一门自己的特长,不管是技术还好还是其他能力 ” 。我觉得这句话真的非常有道理! 刚刚也提到了要有一门特长,所以在这里再强调一点:公司不需要你什么都会,但是在某一方面你一定要有过于常人的优点。换言之就是我们不需要去掌握每一门技术(你也没精力去掌握这么多技术),而是需要去深入研究某一门技术,对于其他技术我们可以简单了解一下。

这让我想到了我当年第一份工作,也是两个月从零学JAVA。当时就买了3本书,强啃了6周。记住一点,时间有限,别听网上很多大牛的,他们说的太杂。你要抓重点,你只要让人家知道,你足够初级开发就可以了,学了长长一个列表,个个不精,被面试官随便问起来,就糟了。倒不如抓住最基本的,反正你就是初级人员,只懂最基本的,是最正常的情况。

首先,学会一个J2EE服务器,tomcat+(Nginx或者httpd等web服务),学会的标准是,会下载,能启动,知道什么文件部署在什么地方,能看到启动画面,能知道最直接,最关键的配置文件名字和位置。你要了解下其他的服务器的名字,就足够了。有人叫你去学weblogic?那是坑你,2个月weblogic,你最多也只能懂十分之一。太重。

其次,学一个框架,以前SSH,现在SSM,这些都多余,你就只看spring MVC,因为所有的mvc框架都类似,你只要坚持你了解MVC,其他的我觉得是容易借鉴类推的,H和M,你就直接说,我没有项目经验,我是没有实际接触过的,我只了解一点点原理,这个不要花时间,最后去看几眼文档就可以了。spring MVC,就这么简单,一个就行。

然后是数据库,别赶时髦搞nosql,老老实实关系型,mysql就很好,坑浅应用多,最近连集群支持的都很好了,你只要强调一点,数据库,你不是DBA,你还不懂如何调优,如何调执行计划,你只懂增删改查,所以你要学的就是T-SQL,标准是你能手写带条件的增删改查,会复杂语句更好,稍微了解下sql效率方面的问题,为了面试也是可以。MSSQL在国内被鄙视的不行,如果有人叫你弄oracle,那又是太装逼,我手下一票的5年+程序员,其中有超过一半连oracle的AWR都不会读,有的连数据字典都不知道。

IDE不多谈,你总逃不过eclipse和几个大厂的东西。要用简单易用的,别花太多时间在这个上面。

设计模式你要稍微看一下,了解什么是设计模式,你大可以老实说,你根本刚入行,只是粗通工厂模式和单粒,其他的需要在工作中学习,这样既不会显得完全不懂,也不会出什么纰漏。

程序方面,jdbc需要了解下,相关的有连接字的写法,如何准备和获取结果,什么是resultset这类东西,当然,数据库连接的关闭和释放也是需要的。

类和抽象类和接口的关系搞清楚,继承和实现搞清楚,重载重写搞清楚这些都是基本概念。

EJB现在不太用了,稍微了解下,你可以用spring所以不用手写EJB了。spring除了MVC以外,还有很多项目,DAO可以看一下,比较初级。

由于java主要是B/S结构,无论是集成还是自己的前后端,你都要看一下http,整个http的生命周期是什么?存在哪些步骤和不同的application负责哪个阶段,相关的有几个request和response实体,包含什么是session了解下。

业务逻辑的话,上手仔细写几个例子就好了

前段你不需要了解太多,JSP+JS就足够了,你是程序员,不是前端的美工,不用去了解太多。jsp上有个容易忽视的基础点:tag到底是什么如何处理。jsp的生命周期这些也最好看一下。

基础的devops稍微了解下, git的代表,github可以注册一个账号,搞清楚本地repo和远程repo之间的关系即可。SVN更为简单一点。

Maven也要学习一下,主要是pom文件的几个主要的部分,尤其是depedency。

code smells方面手写万把行代码。自己有个感觉,不用去刻意背javadoc。

去面试吧,祝你好运!

文章到这里就结束了!

以下是小编整理的一份大厂真题的面试资料,以及2020最新Java核心技术整理的资料集锦,需要领取的小伙伴可以点我 免费领取,编程的世界永远向所有热爱编程的人开放,这是一个自由,平等,共享的世界,我始终是这样坚信的。

标签: 单粒连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台