JavaRush /Java Blog /Random-TW /Java 開發人員的清單。開發人員應該知道什麼

Java 開發人員的清單。開發人員應該知道什麼

在 Random-TW 群組發布
你好!今天我們就來聊聊Java開發者的發展之路,以及他必須知道什麼才能被需求。 Java 開發人員的清單。 開發人員應該知道什麼 - 1任何開發人員在面試中都可能「讓」某個職位的候選人「失敗」。例如,他將開始詢問有關他在當前專案中遇到的特定主題的問題。但不知道一切也沒關係。事實上,您不回答某些問題也是正常的。一般來說,每個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;
  • 「爪哇。完整指南”,赫伯特·希爾特。
最後三本書對於初學者來說並不容易閱讀,但它們可以為 Java 理論提供堅實的基礎。另外,不要忘記 JavaRush 上的文章,因為他們可以找到您感興趣的大多數主題的解釋。你可以透過輸入你感興趣的主題來找到你需要的文章:Java 開發人員的清單。 開發人員應該了解什麼 - 2我還強烈建議尋找Java面試問題,例如在這個關於抽象類別和介面的問題集中。這將幫助您了解您到底需要學習什麼以及需要準備哪些問題。Java 開發人員的清單。 開發人員應該了解什麼 - 3

3. 程式設計模式

程式模式是一些可重複的模式,代表頻繁發生的上下文中問題的解決方案。其中有每個有自尊的程式設計師都應該知道的基本、簡單的模板。要理解這個主題,請使用《Head First》一書。設計模式。” 她將清楚地解釋基本的編程模式。但這本書談論了很多關於Java的內容,所以在學習這本書的時候你需要掌握這門程式語言。要更深入地了解模式,您還可以閱讀「物件導向的設計技術」。《設計模式》來自四人幫(四人幫:作者團隊包括 Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides - 編者註)。學習完本主題後,您將開始在程式碼中幾乎無所不在地看到模式。請注意這一點,尤其是Spring中使用的模式,因為這是面試中的熱門問題。

4. 程式設計範式。程式碼整潔度

除了標準程式模式之外,您還需要了解各種原則和範例(SOLIDGRASP)。還需要確保程式碼乾淨且可讀。關於這個主題,您需要了解的所有內容都可以在 Robert Martin 的《 Clean Code 》一書中找到,或閱讀 Steve McConnell 的《Perfect Code》一書。

5.SQL

我們下一步是研究關聯式資料庫的語言—SQL資料庫是儲存 Web 應用程式資訊(資料)的地方。資料庫由許多表組成(手機上的通訊錄是此類表的最簡單範例)。您可以在本文中閱讀有關資料庫的更多資訊。對於 Java 開發人員來說,職責範圍不僅是 Java 應用程序,還包括與其互動以及儲存資料的資料庫。在關係(最常見的)資料庫中,所有互動都是透過一種特殊的語言進行的 - 結構化查詢語言或 SQL。要理解這個主題,閱讀一本書就夠了:
  • “學習 SQL”,Alan Bewley;
  • 《SQL》,克里斯‧菲伊利;
  • Lynn Bailey 的「Head First SQL」。
但是沒有理論的實踐是行不通的,不是嗎?在測試 SQL 知識的面試中,他們經常(幾乎總是)給出一兩個關於編寫 SQL 查詢的問題。因此,提高自己的SQL實用技能以更好地展示自己是非常重要的。sql-ex.ru是獲得 SQL 實踐的絕佳資源。

6.MySQL/PostgreSQL

學習完SQL語言之後,需要熟悉具體的資料庫實作。根據資料庫的不同,某些命令可能會有很大差異。而且資料庫能力的差異是相當明顯的。最常見的關聯式資料庫是MySQLPostgreSQLJava 開發人員的清單。 開發人員應該了解什麼 - 4MySQL比較簡單,但PostgreSQL有更多功能。首先,至少熟悉其中一個就夠了。如果您使用 Google 搜尋技能,您可以研究資料庫實現 - 在 Youtube 上找到必要的文章和教學。你必須善於正確地搜尋你感興趣的問題,因為程式設計師是Google搜尋中「黑帶」的人。

7.Maven/Gradle

您需要學習GradleMaven框架之一,它們是為組裝專案而設計的,因為現在對您來說,Java 不僅僅是幾個類別的任務,而且是一種用於編寫成熟應用程式的語言。您必須了解如何組裝專案、組裝階段是什麼、如何使用現成的程式碼載入必要的外部函式庫等等。儘管 Gradle 更新且更簡潔,但大多數情況下還是使用 Maven。因此,要特別注意它的組裝生命週期。

8. git

Git是一個分散式版本控制系統。這項技術允許開發人員共同創建一個應用程序,而不會互相干擾。當然,這個版本控制系統有類似的東西。例如,顛覆。但主要使用的是Git,並且您需要能夠使用它。Java 開發人員的清單。 開發人員應該了解什麼 - 5除了有關它的教育文章之外,Youtube 上還有足夠的影片可以幫助您逐步掌握這項技術。首先,最好使用控制台 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 對你來說不再只是一個字。Java 開發人員的清單。 開發人員應該了解什麼 - 6現在,這個框架與了解 Java 語言語法的需求同等重要。可以說 Spring 有其對應的技術,即 Java EE 技術。但Java EE已經過時,不再在新專案中使用。現在絕大多數Java開發人員都是Java Spring開發人員,因此必須了解一些基本的Spring技術。Spring 不僅僅是一個框架,而是一個框架的整體平台:Java 開發人員的清單。 開發人員應該了解什麼 - 7而這只是 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聖經,最好放在手邊,而不是從頭到尾閱讀。Java 開發人員的清單。 開發人員應該了解什麼 - 8

  • 春季啟動

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