JavaRush /Java 博客 /Random-ZH /Java 开发人员的清单。开发人员应该知道什么

Java 开发人员的清单。开发人员应该知道什么

已在 Random-ZH 群组中发布
你好!今天我们就来聊一聊Java开发者的发展之路,以及他必须知道什么才能被需求。 Java 开发人员的清单。 开发人员应该知道什么 - 1任何开发人员在面试中都可能“让”某个职位的候选人“失败”。例如,他将开始询问有关他在当前项目中遇到的特定主题的问题。但不知道一切也没关系。事实上,您不回答某些问题也是正常的。一般来说,每个Java程序员都应该具备基本的开发知识。那么,让我们看看哪些技术被认为是“基本”的。

1. 基本算法

当你开始学习编程时(这不仅适用于Java),你应该做的第一件事就是对基础知识进行分析。例如,算法。它们的数量是无限的,你不应该花费整年的时间来尝试学习尽可能多的算法:它们中的大多数对你来说没有用。所需的最低限度知识可以从《 Grocking Algorithms 》一书中获得。这足以开始旅程,但如果您愿意,您可以借助 Robert Sedgwick 和 Kevin Wayne 所著的“结构和算法”或“Java 中的算法”一书来学习。我还建议您提高计算机科学基础知识。这可以在 JavaRush 中使用CS50课程来完成。

2.Java语法

学习了算法基础知识之后,我们必须学习Java语法。毕竟,我们都在这里学习如何成为 Java 程序员,不是吗?JavaRush 课程非常适合此目的。在执行大量任务的过程中,您将变得流利地掌握 Java 语法,并且无需太多思考即可编写/阅读 Java 代码,就好像它是您的母语一样。JavaRush 是实践,除此之外,您还需要查看理论以了解您到底在做什么。为此,您可以阅读书籍,例如以下书籍之一:
  • Head First Java ”;
  • Barry Bird 的《Java for Dummies》;
  • “爪哇。初学者指南”赫伯特希尔特。
读完这些书后,你可以学习更难的书:
  • 《Java 哲学》,Bruce Eckel;
  • “有效的编程”,Joshua Bloch;
  • “爪哇。完整指南”,赫伯特·希尔特。
最后三本书对于初学者来说并不容易阅读,但它们可以为 Java 理论提供坚实的基础。另外,不要忘记 JavaRush 上的文章,因为他们可以找到您感兴趣的大多数主题的解释。你可以通过输入你感兴趣的主题来找到你需要的文章:Java 开发人员的清单。 开发人员应该了解什么 - 2我还强烈建议寻找Java面试问题,比如在这个关于抽象类和接口的问题集中。这将帮助您了解您到底需要学习什么以及需要准备哪些问题。Java 开发人员的清单。 开发人员应该了解什么 - 3

3. 编程模式

编程模式是一些可重复的模式,代表频繁发生的上下文中问题的解决方案。其中有每个有自尊的程序员都应该知道的基本、简单的模板。要理解这个主题,请使用《Head First》一书。设计模式。” 她将清楚地解释基本的编程模式。但是这本书谈论了很多关于Java的内容,所以在学习这本书的时候你需要掌握这门编程语言。要更深入地了解模式,您还可以阅读“面向对象的设计技术”。《设计模式》来自四人帮(四人帮:作者团队包括 Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides - 编者注)。学习完本主题后,您将开始在代码中几乎无处不在地看到模式。请注意这一点,尤其是Spring中使用的模式,因为这是面试中的热门问题。

4. 编程范式。代码整洁度

除了标准编程模式之外,您还需要了解各种原则和范例(SOLIDGRASP)。还需要确保代码干净且可读。关于这个主题,您需要了解的所有内容都可以在 Robert Martin 的《 Clean Code 》一书中找到,或者阅读 Steve McConnell 的《Perfect Code》一书。

5.SQL

我们下一步是研究关系数据库的语言——SQL数据库是存储 Web 应用程序信息(数据)的地方。数据库由许多表组成(手机上的地址簿是此类表的最简单示例)。您可以在本文中阅读有关数据库的更多信息。对于 Java 开发人员来说,职责范围不仅是 Java 应用程序,还包括与其交互以及存储数据的数据库。在关系(最常见的)数据库中,所有交互都是通过一种特殊的语言进行的 - 结构化查询语言或 SQL。要理解这个主题,阅读一本书就足够了:
  • “学习 SQL”,Alan Bewley;
  • 《SQL》,克里斯·菲伊利;
  • Lynn Bailey 的“Head First SQL”。
但是没有理论的实践是行不通的,不是吗?在测试 SQL 知识的面试中,他们经常(几乎总是)给出一两个关于编写 SQL 查询的问题。因此,提高自己的SQL实用技能以更好地展示自己是非常重要的。sql-ex.ru是获得 SQL 实践的绝佳资源。

6.MySQL/PostgreSQL

学习完SQL语言之后,需要熟悉具体的数据库实现。根据数据库的不同,某些命令可能会有很大差异。而且数据库能力的差异是相当明显的。最常见的关系数据库是MySQLPostgreSQLJava 开发人员的清单。 开发人员应该了解什么 - 4MySQL更简单,但PostgreSQL具有更多功能。首先,至少熟悉其中一个就足够了。如果您使用 Google 搜索技能,您可以研究数据库实现 - 在 Youtube 上找到必要的文章和教程。你必须善于正确地搜索你感兴趣的问题,因为程序员是谷歌搜索中“黑带”的人。

7.Maven/Gradle

您需要学习 GradleMaven框架,它们是为组装项目而设计的,因为现在对您来说,Java 不仅是几个类的任务,而且是一种用于编写成熟应用程序的语言。您必须了解如何组装项目、组装阶段是什么、如何使用现成的代码加载必要的外部库等等。尽管 Gradle 更新且更干净,但大多数情况下都使用 Maven。因此,要特别注意它的装配生命周期。

8. git

Git是一个分布式版本控制系统。这项技术允许开发人员共同创建一个应用程序,而不会互相干扰。当然,这个版本控制系统有类似的东西。例如,颠覆。但主要使用的是Git,并且您需要能够使用它。Java 开发人员的清单。 开发人员应该了解什么 - 5除了有关它的教育文章之外,Youtube 上还有足够的视频可以帮助您逐步掌握这项技术。首先,最好使用控制台 Git,而不是某种接口实现,因为在其中您需要通过命令完成所有操作。在面试过程中,人们经常会询问一些Git命令,因此我建议您将它们写下来并放在方便的地方。我还建议您记下笔记,在其中标记最重要的要点,以便在面试之前您可以浏览一遍并刷新您的记忆。

9. 数据库连接

该技术旨在提供 Java 应用程序和关系数据库之间的连接。要熟悉基础知识,我建议阅读JDBC 或Where It All Begins 一文。 尽管没有人直接使用裸 JDBC,但仍有大量文章解释 JDBC 技术并提供基本示例。

10.JPA。休眠

JPA是一种在 Java 应用程序和数据库之间建立连接的方法,就像 JDBC 一样。但同时,JPA 是一种更高级别的技术,因此更易于使用。但JPA只是一个规范(一个概念),没有实现,需要具体实现。有许多这样的实现,但最接近 JPA 理想的、流行的和开发的,被认为是Hibernate。在你的开发生涯中,你会不止一次遇到这种技术。因此,除了通过文章来熟悉这项技术之外,可能还值得考虑阅读一本关于它的书,例如《Java Persistence API》。

11. 春天

当你成为一名 Java 开发人员时,Spring 对你来说不再只是一个词。Java 开发人员的清单。 开发人员应该了解什么 - 6现在,这个框架与了解 Java 语言语法的需求同等重要。可以说 Spring 有其对应的技术,即 Java EE 技术。但Java EE已经过时,不再在新项目中使用。现在绝大多数Java开发人员都是Java Spring开发人员,因此必须了解一些基本的Spring技术。Spring 不仅仅是一个框架,而是一个框架的整体平台:Java 开发人员的清单。 开发人员应该了解什么 - 7而这只是 Spring 提供的框架的一部分。对于初学者来说,只了解其中的一些就足够了:

  • 弹簧芯

首先应该了解 Spring 是什么:Spring 容器、bean、DI、IoC 等是什么。可以这么说,理解使用 Spring 的哲学。在此基础上将进一步研究Spring框架。创建您自己的小型应用程序可能是值得的,您将逐渐向其中添加您学到的新技术。

  • 春季 JDBC

前面我们讨论过 JDBC 技术是一种创建数据库连接的技术。总的来说,现在的项目中可能找不到该技术的“赤裸裸”使用,所以看起来学习 JDBC 似乎没有必要。但事实并非如此。通过查看 JDBC 的基本框架,您可以看到较低级别的技术并了解其问题和缺点。一旦你开始学习 Spring JDBC,你就会明白这个框架究竟改进、优化了什么,以及隐藏在我们眼前的是什么。

  • 春季休眠

与基本的 JDBC 一样,该框架改进了现有技术(在本例中为 Hibernate)的使用。如果您考虑在不使用 Spring 的情况下使用 Hibernate,您将确切地了解使用 Spring Hibernate 的好处是什么。

  • 春季JPA

之前我们讨论过 JPA,以及它为何只是一个有不同实现的规范。在这些实现中,Hibernate是最接近理想的。Spring 有自己理想的 JPA 实现,它“在底层”使用 Hibernate,并且尽可能接近 JPA 规范的理想状态。这项技术称为 Spring JPA。顺便说一句,它极大地简化了数据库的访问。你可以只学习JPA,而不学习JDBC、Hibernate、Spring JDBC、Spring Hibernate。但在这种情况下,您对连接数据库的了解将非常肤浅。

  • 春季MVC

通过这项技术,我们可以向用户显示应用程序的 Web 界面,并允许该界面与应用程序的其余部分进行通信。当有某个应用程序负责显示,并且您使用RESTful技术使用请求和响应与该应用程序交互时,该技术也可以在没有显示的情况下工作。为了更好地了解Spring的信息,除了YouTube上的文章和讲座之外,您还可以阅读几本书。我真的很喜欢沃尔斯·克雷格的《春天在行动》这本书。不幸的是,俄语现在只有第三个版本,被认为已经过时了。如果您英文很好,我建议您阅读第 6 版。另一本关于 Spring 的好书是《Spring 5 for Professionals》。它更难学,而且更像是一本 Spring圣经,最好放在手边,而不是从头到尾阅读。Java 开发人员的清单。 开发人员应该了解什么 - 8

  • 春季启动

这项技术大大简化了Spring的使用。我把它放在列表的最后是有原因的,因为它在“引擎盖”下隐藏了很多东西,对于不熟悉常规 Spring 的人来说,很多点可能并不明显且难以理解。首先,为了更好地理解 Spring 框架的工作原理,您应该使用常规 Spring,然后了解使用 Spring Boot 的所有更高好处。我还建议您熟悉 Spring Security 和 Spring AOP。但与上述技术不同的是,现在不需要对这两种技术有深入的了解。这项技术不适合初学者。在面试过程中,初级员工不会被问到这些问题(也许除了一个肤浅的问题)。一般性地阅读这些技术是什么以及它们如何工作。在这篇文章中,我多次提到读书。一方面,这是没有必要的。通过从文章和培训视频中学习所需的所有内容,您无需阅读一本书就可以成为一名程序员。另一方面,目前新手开发者的市场竞争非常激烈,这提高了初学者所需的初始知识的门槛。因此,你知道的越多,你就能越快地找到第一份工作,通过你的知识水平给面试官留下深刻的印象。谢谢大家,愿Java与你们同在。Java 开发人员的清单。 开发人员应该了解什么 - 9
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION