你好!今天,我們將討論 Java 開發人員的成長之路,以及他或她必須了解的需求。 Java 開發人員的清單。 開發人員應該知道的 - 1在面試中,任何開發人員都可能會盤問求職者。例如,他們可能會開始詢問有關他們在當前項目中遇到的特定主題的問題。但不知道一切都是正常的。有些問題答不上來也是正常的。作為一般規則,每個 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:完整參考”。
最後三本書對於初學者來說並不容易閱讀,但它們確實為 Java 理論提供了堅實的基礎。此外,不要忘記 CodeGym 文章,因為它們為您可能感興趣的大多數主題提供了解釋。您可以通過在搜索欄中輸入您感興趣的主題來找到相關文章:Java 開發人員的清單。 開發人員應了解的知識 - 2我還強烈建議您尋找 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. 編程範式。代碼清潔度

除了標准設計模式外,還有各種原則和範例需要注意(SOLIDGRASP)。您還需要保持代碼的清潔和可讀性。對於所有內容,您都需要了解該主題,請參閱 Robert Martin 的 Clean Code,或查看 Steve McConnell 的“Code Complete”。

5. SQL

我們的下一步是研究關係數據庫的語言——SQL數據庫是存儲 Web 應用程序使用的信息(數據)的地方。一個數據庫由幾個表組成(手機上的通訊錄就是一個簡單的例子)。Java 開發人員不僅要對 Java 應用程序負責,還要對與之交互的數據庫以及存儲數據的位置負責。在關係數據庫(最常見的類型)中,所有交互都通過一種稱為結構化查詢語言或 SQL 的特殊語言進行。要理解這個主題,您需要做的就是閱讀以下書籍之一:
  • Alan Beaulieu 的“學習 SQL”;
  • Chris Fehily 的“SQL”;
  • Lynn Beighley 的“深入了解 SQL”。
但是沒有理論的實踐並不能解決問題,不是嗎?在面試中,您可以期待對您的 SQL 知識的測試。面試官經常(幾乎總是)給出一兩個涉及編寫 SQL 查詢的任務。因此,磨練您的實用 SQL 技能以展示自己非常重要。

6. MySQL/PostgreSQL

學習SQL語言後,需要熟悉具體的數據庫實現。根據數據庫的不同,某些命令可能會有很大差異。數據庫功能也有相當明顯的差異。最常見的關係數據庫是MySQLPostgreSQLJava 開發人員的清單。 開發人員應了解的知識 - 3MySQL 簡單得多,但 PostgreSQL 具有更廣泛的功能。熟悉其中至少一個就足以開始了。如果你使用谷歌搜索技能,你可以研究數據庫的實現——在 YouTube 上找到相關的文章和教程。您需要培養針對需要回答的問題制定適當搜索查詢的能力。畢竟,程序員是谷歌搜索黑帶的人。

7. 行家/搖籃

您需要學習 Gradle 或Maven框架。它們用於構建項目,而對於您來說,Java 現在不僅用於涉及幾個類的任務,而且還是一種用於編寫成熟應用程序的語言。您需要了解如何構建項目、構建階段是什麼、如何使用第三方代碼加載必要的外部庫等等。儘管 Gradle 更新更簡潔,但大多數情況下使用 Maven。因此,請特別注意 Maven 構建生命週期。

8. 混帳

Git是一個分佈式版本控制系統。該技術使開發人員可以在不相互干擾的情況下協作開發單個應用程序。當然,還有其他的版本控制系統。例如,顛覆。但是Git使用最廣泛,您需要能夠使用它。Java 開發人員的清單。 開發人員應了解的知識 - 4除了您可以在網上找到許多關於 Git 的文章外,YouTube 上還有足夠多的視頻來幫助您逐步掌握這項技術。起初,最好從命令行使用 Git 而不是某種 GUI 實現,因為你將被迫使用命令來做所有事情。在面試中,人們經常喜歡問一些 Git 命令,所以我建議你把它們寫下來並放在附近的某個地方。我還建議您做筆記,跟踪最重要的要點,以便在面試前瀏覽它們並刷新您的記憶。

9.JDBC

該技術連接您的 Java 應用程序和關係數據庫。對於基礎知識,我建議閱讀任何 JDBC 教程。有大量文章解釋 JDBC 並提供基本示例,即使沒有人再直接使用裸 JDBC。

10. 聯合行動計劃。休眠

JPA 是一種在 Java 應用程序和數據庫之間建立連接的方法,就像 JDBC 一樣。但同時,JPA 是一種更高層次的技術,因此更易於使用。但 JPA 只是一個規範,而不是一個實現。它需要一個具體的實現。它們中的許多都存在,但最接近 JPA 理想、最流行和最發達的是 Hibernate。在您的軟件開發生涯中,您將不止一次地接觸到這項技術。因此,除了通過閱讀文章熟悉這項技術之外,還值得考慮閱讀一本書,例如“Java Persistence API”。

11. 春天

當你成為一名 Java 開發人員時,Spring 不再只是你的代名詞。Java 開發人員的清單。 開發人員應了解的知識 - 5了解這個框架現在和了解 Java 語法一樣重要。您可以說 Spring 有一個兄弟,即 Java EE。但是 Java EE 已經過時,不再用於新項目。現在絕大多數的 Java 開發者都是 Java-Spring 開發者,所以了解一些基本的 Spring 技術是必須的。Spring 不僅僅是一個框架,而是一個框架的整體框架:Java 開發人員的清單。 開發人員應了解的知識 - 6而這只是 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。總之,它大大簡化了數據庫訪問。不學JDBC、Hibernate、Spring JDBC、Spring Hibernate,只能學JPA。但是如果你採用這種方法,你對如何連接到數據庫的知識將非常膚淺。

  • 春季MVC

該技術可以向用戶顯示我們應用程序的 Web 界面,並促進界面與應用程序其餘部分之間的通信。當您有一個負責處理顯示的應用程序並且您使用RESTful技術與該應用程序交互時,也可以在沒有顯示的情況下使用該技術。為了更好地吸收有關 Spring 的信息,除了文章和 YouTube 講座外,您還可以閱讀幾本書。我真的很喜歡 Craig Walls 的《Spring in Action》一書。如果你的英語很好,我建議你閱讀第 6 版。另一本關於 Spring 的好書是“Spring 5 for the Professionals”。它更密集。更像是一份參考資料,放在手邊比從頭到尾閱讀更有價值。Java 開發人員的清單。 開發人員應該知道的事 - 7

  • 彈簧靴

該技術大大簡化了Spring的使用。我沒有一時興起把它放在列表的末尾。事實上,它確實隱藏了很多東西,對於不熟悉 vanilla Spring 的人來說,很多要點可能不清楚或無法理解。首先,為了更好地理解 Spring 框架的工作原理,您應該使用常規的 Spring,然後獲得使用 Spring Boot 的所有更高的好處。我還建議您熟悉 Spring Security 和 Spring AOP。但與上述技術不同的是,目前還不需要對這兩者有深入的了解。這項技術不適合初學者。在面試中,初級開發人員不會被問及這些問題(也許除了一個膚淺的問題)。閱讀這些技術的概述及其工作原理。在本文中,我一再提到看書。一方面,這不是強制性的。您無需閱讀一本書就可以成為一名程序員,從在線文章和培訓視頻中獲得所有必需的知識。另一方面,在就業市場上,目前新手開發人員之間的競爭非常激烈,這提高了初學者需要了解的知識門檻。所以,你知道的越多,你就會越快找到你的第一份工作,因為你的知識水平會給面試官留下深刻印象。謝謝大家,願 Java 與您同在。這提高了初學者需要知道的門檻。所以,你知道的越多,你就會越快找到你的第一份工作,因為你的知識水平會給面試官留下深刻印象。謝謝大家,願 Java 與您同在。這提高了初學者需要知道的門檻。所以,你知道的越多,你就會越快找到你的第一份工作,因為你的知識水平會給面試官留下深刻印象。謝謝大家,願 Java 與您同在。