你好!今天我們就來聊聊Java開發者的發展之路,以及他必須知道什麼才能被需求。
任何開發人員在面試中都可能「讓」某個職位的候選人「失敗」。例如,他將開始詢問有關他在當前專案中遇到的特定主題的問題。但不知道一切也沒關係。事實上,您不回答某些問題也是正常的。一般來說,每個Java程式設計師都應該具備基本的開發知識。那麼,讓我們看看哪些技術被認為是「基本」的。
我還強烈建議尋找Java面試問題,例如在這個關於抽象類別和介面的問題集中。這將幫助您了解您到底需要學習什麼以及需要準備哪些問題。
MySQL比較簡單,但PostgreSQL有更多功能。首先,至少熟悉其中一個就夠了。如果您使用 Google 搜尋技能,您可以研究資料庫實現 - 在 Youtube 上找到必要的文章和教學。你必須善於正確地搜尋你感興趣的問題,因為程式設計師是Google搜尋中「黑帶」的人。
除了有關它的教育文章之外,Youtube 上還有足夠的影片可以幫助您逐步掌握這項技術。首先,最好使用控制台 Git,而不是某種介面實現,因為在其中您需要透過命令完成所有操作。在面試過程中,人們經常會詢問一些Git命令,因此我建議您將它們寫下來並放在方便的地方。我還建議您記下筆記,在其中標記最重要的要點,以便在面試之前您可以瀏覽一遍並刷新您的記憶。
現在,這個框架與了解 Java 語言語法的需求同等重要。可以說 Spring 有其對應的技術,即 Java EE 技術。但Java EE已經過時,不再在新專案中使用。現在絕大多數Java開發人員都是Java Spring開發人員,因此必須了解一些基本的Spring技術。Spring 不僅僅是一個框架,而是一個框架的整體平台:
而這只是 Spring 提供的框架的一部分。對於初學者來說,只了解其中的一些就足夠了:
首先應該了解 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」。
6.MySQL/PostgreSQL
學習完SQL語言之後,需要熟悉具體的資料庫實作。根據資料庫的不同,某些命令可能會有很大差異。而且資料庫能力的差異是相當明顯的。最常見的關聯式資料庫是MySQL和PostgreSQL。
7.Maven/Gradle
您需要學習Gradle或Maven框架之一,它們是為組裝專案而設計的,因為現在對您來說,Java 不僅僅是幾個類別的任務,而且是一種用於編寫成熟應用程式的語言。您必須了解如何組裝專案、組裝階段是什麼、如何使用現成的程式碼載入必要的外部函式庫等等。儘管 Gradle 更新且更簡潔,但大多數情況下還是使用 Maven。因此,要特別注意它的組裝生命週期。8. git
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 對你來說不再只是一個字。

- 彈簧芯
首先應該了解 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
- 春季啟動
這項技術大大簡化了Spring的使用。我把它放在清單的最後是有原因的,因為它在「引擎蓋」下隱藏了很多東西,對於不熟悉常規 Spring 的人來說,很多點可能並不明顯且難以理解。首先,為了更好地理解 Spring 框架的工作原理,您應該使用常規 Spring,然後了解使用 Spring Boot 的所有更高好處。我還建議您熟悉 Spring Security 和 Spring AOP。但與上述技術不同的是,現在不需要對這兩種技術有深入的了解。這項技術不適合初學者。在面試過程中,初級員工不會被問到這些問題(也許除了一個膚淺的問題)。一般性地閱讀這些技術是什麼以及它們如何運作。在這篇文章中,我多次提到閱讀。一方面,這是沒有必要的。透過從文章和培訓影片中學習所需的所有內容,您無需閱讀一本書即可成為程式設計師。另一方面,目前新手開發者的市場競爭非常激烈,這提高了初學者所需的初始知識的門檻。因此,你知道的越多,你就能越快找到第一份工作,透過你的知識水平給面試官留下深刻的印象。謝謝大家,願Java與你們同在。
GO TO FULL VERSION