Hallo! Heute sprechen wir über den Entwicklungsweg eines Java-Entwicklers und darüber, was er wissen muss, um gefragt zu sein. Jeder Entwickler kann bei einem Vorstellungsgespräch einen Kandidaten für eine Stelle „durchfallen lassen“. Beispielsweise wird er anfangen, Fragen zu bestimmten Themen zu stellen, die ihm im aktuellen Projekt begegnet sind. Aber es ist in Ordnung, nicht alles zu wissen. Auch die Tatsache, dass Sie einige Fragen nicht beantworten, ist normal. Generell sollte jeder Java-Programmierer über Grundkenntnisse in der Entwicklung verfügen. Schauen wir uns also an, welche Technologien als „grundlegend“ gelten.
Es sollte für Sie an erster Stelle stehen, zu verstehen, was Spring ist: was ein Spring-Container, Beans, DI, IoC usw. sind. Verstehen Sie sozusagen die eigentliche Philosophie der Verwendung von Spring. Auf dieser Grundlage werden weitere Untersuchungen zu Spring-Frameworks durchgeführt. Es kann sich lohnen, eine eigene kleine Anwendung zu erstellen, zu der Sie nach und nach neue erlernte Technologien hinzufügen.
Zuvor haben wir über die JDBC-Technologie als Technologie zum Herstellen einer Verbindung zu einer Datenbank gesprochen. Im Allgemeinen ist der „nackte“ Einsatz der Technologie derzeit in Projekten möglicherweise nicht zu finden, sodass es den Anschein hat, dass das Erlernen von JDBC nicht erforderlich ist. Aber das ist nicht so. Wenn Sie sich die Grundlagen von JDBC ansehen, können Sie die Technologie auf einer niedrigeren Ebene sehen und ihre Probleme und Mängel verstehen. Sobald Sie mit dem Erlernen von Spring JDBC beginnen, werden Sie verstehen, was genau dieses Framework verbessert, optimiert und vor unseren Augen verbirgt.
Wie bei einfachem JDBC verbessert dieses Framework die Nutzung einer vorhandenen Technologie, in diesem Fall Hibernate. Wenn Sie darüber nachdenken, Hibernate ohne Spring zu verwenden, werden Sie genau verstehen, welchen Vorteil die Verwendung von Spring Hibernate hat.
Zuvor haben wir über JPA gesprochen und darüber, dass es sich lediglich um eine Spezifikation handelt, für die es verschiedene Implementierungen gibt. Unter diesen Implementierungen kommt Hibernate dem Ideal am nächsten. Spring verfügt über eine eigene ideale Implementierung von JPA, die Hibernate „unter der Haube“ nutzt und dem Ideal der JPA-Spezifikationen möglichst nahe kommt. Diese Technologie wird Spring JPA genannt. Ganz nebenbei vereinfacht es den Zugriff auf die Datenbank enorm. Sie können nur JPA lernen, ohne JDBC, Hibernate, Spring JDBC, Spring Hibernate zu lernen. In diesem Fall sind Ihre Kenntnisse über die Verbindung zu einer Datenbank jedoch sehr oberflächlich.
Mit dieser Technologie können wir Benutzern die Weboberfläche unserer Anwendung anzeigen und der Schnittstelle ermöglichen, mit dem Rest der Anwendung zu kommunizieren. Die Technologie kann auch ohne Anzeige funktionieren, wenn eine Anwendung für die Anzeige verantwortlich ist und Sie mit dieser Anwendung über Anfragen und Antworten mithilfe der RESTful- Technologie interagieren. Um Informationen über den Frühling besser zu verstehen, können Sie neben Artikeln und Vorträgen auf YouTube auch mehrere Bücher lesen. Das Buch „Spring in Action“ von Walls Craig hat mir sehr gut gefallen. Leider gibt es auf Russisch mittlerweile nur noch die dritte Version, die als veraltet gilt. Ich empfehle Ihnen, Version 6 zu lesen, wenn Sie gut Englisch sprechen. Ein weiteres großartiges Buch zum Thema Frühling ist „Spring 5 for Professionals“. Es ist schwieriger zu lernen und ähnelt eher einer Frühlingsbibel , die man besser zur Hand hat, als sie von vorne bis hinten durchzulesen.
Diese Technologie vereinfacht die Verwendung von Spring erheblich. Ich habe es aus einem bestimmten Grund ans Ende der Liste gesetzt, denn es verbirgt sich viel unter der „Haube“ und für eine Person, die mit dem normalen Frühling nicht vertraut ist, sind viele Punkte möglicherweise nicht offensichtlich und unverständlich. Um besser zu verstehen, wie die Spring-Frameworks funktionieren, sollten Sie zunächst reguläres Spring verwenden und dann alle höheren Vorteile von Spring Boot nutzen. Ich empfehle Ihnen außerdem, sich mit Spring Security und Spring AOP vertraut zu machen. Aber im Gegensatz zu den oben genannten Technologien sind jetzt keine tiefgreifenden Kenntnisse dieser beiden erforderlich. Diese Technologie ist nichts für Anfänger. In Vorstellungsgesprächen werden Junioren nicht danach gefragt (außer vielleicht einer oberflächlichen Frage). Lesen Sie allgemein, was diese Technologien sind und wie sie funktionieren. In diesem Artikel habe ich wiederholt das Lesen von Büchern erwähnt. Einerseits ist dies nicht notwendig. Sie können Programmierer werden, ohne ein einziges Buch lesen zu müssen, indem Sie alles, was Sie brauchen, in Artikeln und Schulungsvideos studieren. Andererseits ist der Wettbewerb auf dem Markt für unerfahrene Entwickler derzeit groß, was die Messlatte für die erforderlichen Vorkenntnisse für einen Anfänger höher legt. Je mehr Sie also wissen, desto schneller können Sie Ihren ersten Job finden und den Interviewer mit Ihrem Wissensstand beeindrucken. Vielen Dank an alle und möge Java mit Ihnen sein .
1. Grundlegende Algorithmen
Wenn Sie mit dem Erlernen des Programmierens beginnen (dies gilt nicht nur für Java), sollten Sie sich als Erstes mit der Analyse der Grundlagen befassen. Zum Beispiel Algorithmen. Davon gibt es unendlich viele, und Sie sollten nicht ganze Jahre damit verbringen, so viele Algorithmen wie möglich zu erlernen: Die meisten davon werden Ihnen nicht nützlich sein. Die erforderlichen Mindestkenntnisse können dem Buch „ Grocking Algorithms “ entnommen werden. Dies wird ausreichen, um die Reise zu beginnen, aber wenn Sie möchten, können Sie mit Hilfe des Buches „ Structures and Algorithms “ oder „Algorithms in Java“ von Robert Sedgwick und Kevin Wayne lernen. Ich rate Ihnen außerdem, Ihre Kenntnisse der Grundlagen der Informatik zu verbessern. Dies kann in JavaRush mit dem CS50 -Kurs erfolgen .2. Java-Syntax
Nachdem wir die Grundlagen von Algorithmen erlernt haben, müssen wir die Java-Syntax lernen. Schließlich lernen wir hier doch alle, Java-Programmierer zu werden, oder? Der JavaRush-Kurs ist hierfür perfekt geeignet. Durch die Durchführung zahlreicher Aufgaben beherrschen Sie die Java-Syntax fließend und können Java-Code ohne viel Nachdenken schreiben/lesen, als wäre es Ihre Muttersprache. JavaRush ist Praxis, und darüber hinaus müssen Sie sich auch die Theorie ansehen, um zu verstehen, was genau Sie tun. Dazu können Sie Bücher lesen, zum Beispiel eines der folgenden:- „ Kopf voran Java “;
- „Java für Dummies“ von Barry Bird;
- "Java. Ein Leitfaden für Einsteiger“ Herbert Schildt.
- „Die Philosophie von Java“, Bruce Eckel;
- „Effektive Programmierung“, Joshua Bloch;
- "Java. Der komplette Leitfaden“, Herbert Schildt.
3. Programmiermuster
Programmiermuster sind einige wiederholbare Muster, die eine Lösung für ein Problem in einem häufig auftretenden Kontext darstellen. Darunter gibt es grundlegende, einfache Vorlagen, die jeder Programmierer mit Selbstachtung kennen sollte. Um dieses Thema zu verstehen, verwenden Sie das Buch „ Head First. Designmuster ." Sie wird grundlegende Programmiermuster anschaulich erklären. Aber das Buch spricht viel über Java , daher müssen Sie zum Zeitpunkt des Studiums des Buches diese Programmiersprache beherrschen. Für einen tieferen Einblick in Muster können Sie auch „Objektorientierte Designtechniken“ lesen. Design Patterns“ von der Gang of Four ( Gang of Four: ein Autorenteam, zu dem Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides gehören – Anmerkung des Herausgebers) . Nachdem Sie sich mit diesem Thema befasst haben, werden Sie praktisch überall in Ihrem Code Muster erkennen. Achten Sie darauf, insbesondere auf die im Frühling verwendeten Muster , da dies eine beliebte Frage in Interviews ist.4. Programmierparadigmen. Code-Sauberkeit
Neben Standard-Programmiermustern gibt es verschiedene Prinzipien und Paradigmen, die Sie kennen müssen ( SOLID , GRASP ). Außerdem muss sichergestellt werden, dass der Code sauber und lesbar ist. Alles, was Sie zu diesem Thema wissen müssen, finden Sie im Buch „ Clean Code “ von Robert Martin oder nehmen Sie das Buch „Perfect Code“ von Steve McConnell.5.SQL
Unser nächster Schritt besteht darin, die Sprache relationaler Datenbanken zu studieren – SQL . In Datenbanken werden die Informationen (Daten) einer Webanwendung gespeichert. Eine Datenbank besteht aus vielen Tabellen (das Adressbuch auf Ihrem Telefon ist das einfachste Beispiel für solche Tabellen). Weitere Informationen zu Datenbanken finden Sie in diesem Artikel . Für Java-Entwickler liegt der Verantwortungsbereich nicht nur bei der Java-Anwendung, sondern auch bei der Datenbank, mit der sie interagiert und in der sie Daten speichert. In relationalen (am häufigsten verwendeten) Datenbanken erfolgt die gesamte Interaktion über eine spezielle Sprache – Structured Query Language oder SQL. Um dieses Thema zu verstehen, reicht es aus, eines der Bücher zu lesen:- „SQL lernen“, Alan Bewley;
- „SQL“, Chris Faiily;
- „Head First SQL“ von Lynn Bailey.
GO TO FULL VERSION