你好!今天我們就來聊聊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