你好!今天,我們將討論 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”。
GO TO FULL VERSION