你好!今天我们就来聊一聊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。顺便说一句,它极大地简化了数据库的访问。你可以只学习JPA,而不学习JDBC、Hibernate、Spring JDBC、Spring Hibernate。但在这种情况下,您对连接数据库的了解将非常肤浅。
通过这项技术,我们可以向用户显示应用程序的 Web 界面,并允许该界面与应用程序的其余部分进行通信。当有某个应用程序负责显示,并且您使用RESTful技术使用请求和响应与该应用程序交互时,该技术也可以在没有显示的情况下工作。为了更好地了解Spring的信息,除了YouTube上的文章和讲座之外,您还可以阅读几本书。我真的很喜欢沃尔斯·克雷格的《春天在行动》这本书。不幸的是,俄语现在只有第三个版本,被认为已经过时了。如果您英文很好,我建议您阅读第 6 版。另一本关于 Spring 的好书是《Spring 5 for Professionals》。它更难学,而且更像是一本 Spring圣经,最好放在手边,而不是从头到尾阅读。
这项技术大大简化了Spring的使用。我把它放在列表的最后是有原因的,因为它在“引擎盖”下隐藏了很多东西,对于不熟悉常规 Spring 的人来说,很多点可能并不明显且难以理解。首先,为了更好地理解 Spring 框架的工作原理,您应该使用常规 Spring,然后了解使用 Spring Boot 的所有更高好处。我还建议您熟悉 Spring Security 和 Spring AOP。但与上述技术不同的是,现在不需要对这两种技术有深入的了解。这项技术不适合初学者。在面试过程中,初级员工不会被问到这些问题(也许除了一个肤浅的问题)。一般性地阅读这些技术是什么以及它们如何工作。在这篇文章中,我多次提到读书。一方面,这是没有必要的。通过从文章和培训视频中学习所需的所有内容,您无需阅读一本书就可以成为一名程序员。另一方面,目前新手开发者的市场竞争非常激烈,这提高了初学者所需的初始知识的门槛。因此,你知道的越多,你就能越快地找到第一份工作,通过你的知识水平给面试官留下深刻的印象。谢谢大家,愿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;
- “爪哇。完整指南”,赫伯特·希尔特。
3. 编程模式
编程模式是一些可重复的模式,代表频繁发生的上下文中问题的解决方案。其中有每个有自尊的程序员都应该知道的基本、简单的模板。要理解这个主题,请使用《Head First》一书。设计模式。” 她将清楚地解释基本的编程模式。但是这本书谈论了很多关于Java的内容,所以在学习这本书的时候你需要掌握这门编程语言。要更深入地了解模式,您还可以阅读“面向对象的设计技术”。《设计模式》来自四人帮(四人帮:作者团队包括 Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides - 编者注)。学习完本主题后,您将开始在代码中几乎无处不在地看到模式。请注意这一点,尤其是Spring中使用的模式,因为这是面试中的热门问题。4. 编程范式。代码整洁度
除了标准编程模式之外,您还需要了解各种原则和范例(SOLID、GRASP)。还需要确保代码干净且可读。关于这个主题,您需要了解的所有内容都可以在 Robert Martin 的《 Clean Code 》一书中找到,或者阅读 Steve McConnell 的《Perfect Code》一书。5.SQL
我们下一步是研究关系数据库的语言——SQL。 数据库是存储 Web 应用程序信息(数据)的地方。数据库由许多表组成(手机上的地址簿是此类表的最简单示例)。您可以在本文中阅读有关数据库的更多信息。对于 Java 开发人员来说,职责范围不仅是 Java 应用程序,还包括与其交互以及存储数据的数据库。在关系(最常见的)数据库中,所有交互都是通过一种特殊的语言进行的 - 结构化查询语言或 SQL。要理解这个主题,阅读一本书就足够了:- “学习 SQL”,Alan Bewley;
- 《SQL》,克里斯·菲伊利;
- Lynn Bailey 的“Head First SQL”。
GO TO FULL VERSION