一名拥有一年工作经验的Java程序员应该具备的技能
2021-01-02 19:28
标签:必看 oracl 未来 推荐 lin 基本概念 协议 缺点 过程 一名拥有一年工作经验的Java程序员应该具备的技能,这些可能是Java程序员比较关注的。众所周知,工作一年和工作三年对于一个程序员来说,都是一个十分关键的时期。刚工作一年的程序员,是进入社会的一个关键期,这段时间我们会将自己在学校学到的知识运用到实际工作中,并真正开始接触到企业级的开发流程。那么在这一年中,我们需要掌握哪些技能,才能在未来的工作中保持核心竞争力,或者是跳槽到一个更好的公司。这就是本文所要介绍的内容,因为本人是打算换工作,所以侧重点可能会偏向这方面,不过以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价、拿到的薪水势必也越高。话不多说,正文开始。 这是最基础的技能,也是每次面试必问的技能,当然了,作为一个Java程序员来说,这也是我们最开始就需要掌握的内容。推荐书籍《Java核心技术 卷1 基础知识》,Java入门必看书籍。 非常重要,也是面试的高频考点,基本上就是List、Map、Set,问的是各种实现类的底层实现原理,实现类的优缺点。 关于这部分我会单开章节仔细讲解。 这一块对于一个一年程序员来说,如果能够有所掌握,那绝对是一个很大的加分项。推荐书籍《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版) 周志明》,非常幸运的是,关于这方面的著名书籍深入理解Java虚拟机,正好出了第三版,本书内容涵盖到了JDK11,相比起第二版(JDK7)来说,篇幅扩大了将近一倍,也增加了很多新的技术和特性,绝对值得一读。 Java多线程开发这块应该是大部分Java程序员最难啃的骨头之一,因为这部分理论知识体系庞大,实践起来难度也相对较大。 推荐书籍:《Java多线程编程核心技术》本书是国内首本整本系统、完整地介绍Java多线程技术的书籍,对于我们掌握Java多线程的完整知识体系很有帮助。 《实战 Java 高并发程序设计》这本书内容同样是理论结合实战,对于每个知识点的讲解也比较通俗易懂,整体结构也比较清。 设计模式也是一个加分项,不过对于一个一年经验的Java程序员来说,并不需要掌握的特别深刻,只需要知道有哪些常用的设计模式,以及这些设计模式的原理UML图和使用场景就够了。 这方面的经典书籍非常多。最经典的莫过于GOF的《设计模式:可复用面向对象软件的基础》,国内的《设计模式之禅》和《研磨设计模式》也都不错。 相比于 WEB 前台开发/精通 Spring 框架等,精通和熟悉 Netty 的人毕竟是非常少的。而因为近年来分布式,微服务等系统的兴起,Netty也是越来越火了。所以如果能够掌握这一块,那么对于这方面有需求的公司,你将具有极大的优势。而很多开源框架底层都使用到了Netty,比如Hadoop的RPC框架就是使用Netty作为通信框架,以及阿里巴巴的Dubbo的RPC框架也是用的Netty,如果掌握了Netty,对于连接这些框架也有很大的帮助。 学习Netty的前置知识是:Java IO ,Java NIO,计算机网络知识等。 推荐书籍:《Netty 权威指南》国内第一本系统化讲解 Netty 原理和架构的书籍,这本书偏向于原理性知识。 《Netty 进阶之路:跟着案例学 Netty》,这本书则是从一个个典型的问题出发,让读者能够带着问题来展开学习,并通过代码解读、原理分析和问题总结。 这部分知识可谓是重中之重,也是想进大厂的入门砖。如果不掌握的话,可能连笔试都过不了。学习数据结构与算法,还是很有必要看几本相关的书籍。 推荐书籍:入门级别:《大话数据结构》《算法图解》 进阶:《算法》 本部分会开单章节详细讲解... 计算机网络知识也是作为一名Java程序员,或者说作为一名程序员所必备的知识,也是面试常问的知识点。了解计算机网络,能让我们更好的理解通信机制,不过计算机网络的知识点过于庞大了,学习起来需要一定的耐心。 推荐书籍:《计算机网络,自顶向下方法》这本书深入浅出,幽默生动,还有课后习题,适合新手入门。 《TCP/IP详解卷一:协议》这本书讲明白了网络之术,即TCP/IP协议簇的工作过程; 《图解HTTP》这本书,这本书页数不多,但是内容很是充实,如果时间不多,想在面试前进行突击,可以优先看这本书。 数据库也是程序员的必备知识库,主要包括两个方面:传统的关系型数据库 和 非关系型数据库。 关系型数据库中的代表是Oracle 和 MySQL,这里以MySQL为例。 推荐书籍:入门:《MySQL必知必会》 进阶:《MySQL技术内幕 InnoDB存储引擎》 NoSQL近年来逐渐兴起,其中常用的有 mongodb,redis,hbase。 熟练掌握常用的框架,也是一个程序员应该掌握的技能,目前市面上最常见的应该就是spring + springMVC + Mybatis的组合。 作为一名优秀的程序员,那肯定要熟悉Linux操作系统。对于工作一年的程序员来说,只需要掌握到Linux的常用命令 和 shell 编程 即可。 推荐书籍《鸟哥的Linux私房菜》 最近分布式系统所占市场比例越来越大了,有关分布式的基本概念也是我们所需要掌握的。 以上内容则是我认为一个工作了一年程序员需要掌握的能力和技能,当然了能够全部掌握的人少之又少,所以还需要根据自己的能力和实际的需求,掌握自己最需要的部分。另外,个人认为工作1-3年的过程中,应该是我们增加自己技术栈的广度的关键期,不断扩大自己的技术栈。三年以后就应该不断扩大自己已经掌握的技术栈的深度。以上内容都是个人粗略的见解,如有不正,欢迎予以指正,我看到后会及时修改。 一名拥有一年工作经验的Java程序员应该具备的技能 标签:必看 oracl 未来 推荐 lin 基本概念 协议 缺点 过程 原文地址:https://www.cnblogs.com/litterCoder/p/12992671.html一.前言
二.技能点
2.1 Java部分
2.1.1 Java基础
2.1.2 Java集合
2.1.3 Java 虚拟机
2.1.4 Java 并发
2.1.5 设计模式
2.1.6 netty编程
2.2 数据结构与算法
2.3 计算机网络
2.4 数据库
2.4.1 MySQL
2.4.2 NoSQL
2.5 常用框架
2.5.1 Spring/Spring boot
2.5.2 SpringMVC
2.5.3 Spring Cloud
2.5.4 Mybatis
2.6 Linux
2.6.1 Linux常用命令
2.6.2 shell 编程
2.7 分布式
三.总结
上一篇:win10打开IIS配置管理器
文章标题:一名拥有一年工作经验的Java程序员应该具备的技能
文章链接:http://soscw.com/index.php/essay/39643.html