你好!今天,我们将讨论 Java 开发人员的成长之路,以及他或她必须了解的需求。 在面试中,任何开发人员都可能会盘问求职者。例如,他们可能会开始询问有关他们在当前项目中遇到的特定主题的问题。但不知道一切都是正常的。有些问题答不上来也是正常的。作为一般规则,每个 Java 程序员都必须对软件开发有基本的了解。那么让我们来看看什么是“基本”。
你应该把它放在首位,这样你才能理解 Spring 是什么——所有关于 Spring 容器、bean、DI、IoC 等等。可以这么说,理解使用 Spring 的哲学。您对 Spring 框架的进一步研究将建立在这个基础之上。或许您应该创建自己的小应用程序,您可以在其中逐步融入所有新学的技术。
前面我们提到 JDBC 作为一种创建数据库连接的技术。总的来说,在项目中已经找不到“裸”使用该技术的情况了,因此您可能会得出结论,学习 JDBC 是没有必要的。这不是完全正确的态度。通过探索 JDBC 的裸(直接)使用,您可以在较低的层次上看到该技术并理解它的问题和缺点。那么当你开始学习Spring JDBC时,你就会意识到这个框架到底改进、优化和隐藏了什么。
类似于裸 JDBC 的情况,该框架利用现有技术,在本例中为 Hibernate。如果您考虑在没有 Spring 的情况下使用 Hibernate,您一定会意识到 Spring Hibernate 提供的好处。
前面我们谈到了 JPA 并提到它只是一个规范,尽管它有各种实现。在这些实现中,Hibernate 最接近理想。Spring 有自己理想的 JPA 实现,它在底层使用 Hibernate。它尽可能接近 JPA 规范的理想状态。它被称为 Spring JPA。总之,它大大简化了数据库访问。不学JDBC、Hibernate、Spring JDBC、Spring Hibernate,只能学JPA。但是如果你采用这种方法,你对如何连接到数据库的知识将非常肤浅。
该技术可以向用户显示我们应用程序的 Web 界面,并促进界面与应用程序其余部分之间的通信。当您有一个负责处理显示的应用程序并且您使用RESTful技术与该应用程序交互时,也可以在没有显示的情况下使用该技术。为了更好地吸收有关 Spring 的信息,除了文章和 YouTube 讲座外,您还可以阅读几本书。我真的很喜欢 Craig Walls 的《Spring in Action》一书。如果你的英语很好,我建议你阅读第 6 版。另一本关于 Spring 的好书是“Spring 5 for the Professionals”。它更密集。更像是一份参考资料,放在手边比从头到尾阅读更有价值。
该技术大大简化了Spring的使用。我没有一时兴起把它放在列表的末尾。事实上,它确实隐藏了很多东西,对于不熟悉 vanilla Spring 的人来说,很多要点可能不清楚或无法理解。首先,为了更好地理解 Spring 框架的工作原理,您应该使用常规的 Spring,然后获得使用 Spring Boot 的所有更高的好处。我还建议您熟悉 Spring Security 和 Spring AOP。但与上述技术不同的是,目前还不需要对这两者有深入的了解。这项技术不适合初学者。在面试中,初级开发人员不会被问及这些问题(也许除了一个肤浅的问题)。阅读这些技术的概述及其工作原理。在本文中,我一再提到看书。一方面,这不是强制性的。您无需阅读一本书就可以成为一名程序员,从在线文章和培训视频中获得所有必需的知识。另一方面,在就业市场上,目前新手开发人员之间的竞争非常激烈,这提高了初学者需要了解的知识门槛。所以,你知道的越多,你就会越快找到你的第一份工作,因为你的知识水平会给面试官留下深刻印象。谢谢大家,愿 Java 与您同在。这提高了初学者需要知道的门槛。所以,你知道的越多,你就会越快找到你的第一份工作,因为你的知识水平会给面试官留下深刻印象。谢谢大家,愿 Java 与您同在。这提高了初学者需要知道的门槛。所以,你知道的越多,你就会越快找到你的第一份工作,因为你的知识水平会给面试官留下深刻印象。谢谢大家,愿 Java 与您同在。
1. 基本算法
开始学习编程(不仅仅是 Java)时首先要解决的是了解基础知识。例如,算法。它们的数量是无限的,你不应该为了学习尽可能多的算法而耗尽一生:它们中的大多数对你没有用。你可以从《Grokking Algorithms》一书中获得必要的最低限度的知识。这足以让您入门,但如果您愿意,可以从 Robert Sedgewick 和 Kevin Wayne 合着的“结构和算法”或“Java 算法”一书中学习。我还建议您提高计算机科学基础知识。这可以通过哈佛 CS50 课程来完成。2.Java语法
学习完算法的基础知识后,我们需要学习Java语法。毕竟,我们都在学习成为 Java 程序员,对吧?CodeGym 课程非常适合这一点。在执行无数任务时,您将掌握 Java 语法,然后毫不犹豫地编写/阅读 Java 代码,就好像它是您的母语一样。CodeGym 是实践,但除此之外,您还需要查看理论以了解您在做什么。为此,您可以阅读书籍。例如,以下之一:- “深入浅出Java”,
- Barry Bird 的“Java for Dummies”;
- Herbert Schildt 的“Java:初学者指南”。
- “用 Java 思考”,Bruce Eckel;
- Joshua Bloch 的“Effective Java”;
- Herbert Schildt 的“Java:完整参考”。
3.设计模式
设计模式是某些可重复的模式,可以解决经常遇到的问题。它们包括每个有自尊的程序员都应该知道的基本、简单的模式。要了解此主题,请阅读“Head First Design Patterns”一书。它以易于理解的方式解释了基本的设计模式。但是这本书谈了很多关于 Java 的内容,所以当您阅读这本书时,您还需要熟练掌握这门编程语言。要更深入地研究模式,还可以阅读 Gang of Four 的“Design Patterns: Elements of Reusable Object-Oriented Software”(编者注:Gang of Four 是一个作者团队,包括 Erich Gamma、Richard Helm、Ralph约翰逊,约翰 Vlissides。). 学习完本主题后,您将开始在代码中几乎无处不在地看到模式。请注意这一点,尤其是 Spring 中使用的模式,因为这是一个流行的面试问题。4. 编程范式。代码清洁度
除了标准设计模式外,还有各种原则和范例需要注意(SOLID、GRASP)。您还需要保持代码的清洁和可读性。对于所有内容,您都需要了解该主题,请参阅 Robert Martin 的 Clean Code,或查看 Steve McConnell 的“Code Complete”。5. SQL
我们的下一步是研究关系数据库的语言——SQL。 数据库是存储 Web 应用程序使用的信息(数据)的地方。一个数据库由几个表组成(手机上的通讯录就是一个简单的例子)。Java 开发人员不仅要对 Java 应用程序负责,还要对与之交互的数据库以及存储数据的位置负责。在关系数据库(最常见的类型)中,所有交互都通过一种称为结构化查询语言或 SQL 的特殊语言进行。要理解这个主题,您需要做的就是阅读以下书籍之一:- Alan Beaulieu 的“学习 SQL”;
- Chris Fehily 的“SQL”;
- Lynn Beighley 的“深入了解 SQL”。