JavaRush /Java-Blog /Random-DE /Checkliste für Java-Entwickler. Was ein Entwickler wissen...

Checkliste für Java-Entwickler. Was ein Entwickler wissen sollte

Veröffentlicht in der Gruppe Random-DE
Hallo! Heute sprechen wir über den Entwicklungsweg eines Java-Entwicklers und darüber, was er wissen muss, um gefragt zu sein. Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 1Jeder 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.

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.
Nachdem Sie diese Bücher gelesen haben, können Sie sich mit schwierigeren Büchern befassen:
  • „Die Philosophie von Java“, Bruce Eckel;
  • „Effektive Programmierung“, Joshua Bloch;
  • "Java. Der komplette Leitfaden“, Herbert Schildt.
Die letzten drei Bücher sind für Anfänger keine leichte Lektüre, können aber eine solide Grundlage in der Java-Theorie bieten. Vergessen Sie auch nicht die Artikel auf JavaRush, denn dort finden Sie Erklärungen zu den meisten Themen, die Sie interessieren. Sie können den gewünschten Artikel finden, indem Sie das Thema eingeben, das Sie interessiert: Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 2Ich empfehle außerdem dringend, nach Java-Interviewfragen zu suchen, beispielsweise in dieser Sammlung von Fragen zu abstrakten Klassen und Schnittstellen . Dies wird Ihnen helfen zu verstehen, was genau Sie lernen müssen und auf welche Fragen Sie vorbereitet sein müssen.Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 3

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.
Aber Praxis ohne Theorie funktioniert doch nicht, oder? Und bei Vorstellungsgesprächen zum Testen von SQL-Kenntnissen geben sie oft (fast immer) ein oder zwei Probleme beim Schreiben einer SQL-Abfrage an. Daher ist es sehr wichtig, Ihre praktischen SQL-Kenntnisse zu verbessern, um sich in einem guten Licht zu präsentieren. Eine ausgezeichnete Ressource zum Erlernen von SQL-Übungen kann die Ressource sql-ex.ru sein .

6. MySQL/PostgreSQL

Nachdem Sie die SQL-Sprache erlernt haben, müssen Sie sich mit der spezifischen Datenbankimplementierung vertraut machen. Abhängig von der Datenbank können einige Befehle erheblich variieren. Und der Unterschied in den Datenbankfunktionen ist deutlich spürbar. Die gebräuchlichsten relationalen Datenbanken sind MySQL und PostgreSQL . Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 4MySQL ist viel einfacher, aber PostgreSQL bietet mehr Funktionen. Zunächst reicht es aus, mindestens eines davon zu kennen. Sie können Datenbankimplementierungen studieren, wenn Sie googeln können – die notwendigen Artikel und Tutorials finden Sie auf YouTube. Sie müssen gut darin sein, die Fragen, die Sie interessieren, richtig zu suchen , denn ein Programmierer ist in der Google-Suche eine Person mit „schwarzem Gürtel“.

7. Maven/Gradle

Sie müssen eines der Frameworks Gradle oder Maven studieren , die zum Zusammenstellen von Projekten konzipiert sind, da Java für Sie jetzt nicht nur Aufgaben aus mehreren Klassen ist, sondern auch eine Sprache zum Schreiben vollwertiger Anwendungen. Sie müssen verstehen, wie ein Projekt zusammengestellt wird, welche Montagephasen ablaufen, wie die erforderlichen externen Bibliotheken mit vorgefertigtem Code geladen werden und vieles mehr. Auch wenn Gradle neuer und prägnanter ist, wird in den meisten Fällen Maven verwendet. Achten Sie daher besonders auf den Lebenszyklus der Baugruppe.

8. Git

Git ist ein verteiltes Versionskontrollsystem. Diese Technologie ermöglicht es Entwicklern, gemeinsam eine Anwendung zu erstellen, ohne sich gegenseitig zu stören. Natürlich gibt es Analogien zu diesem Versionskontrollsystem. Zum Beispiel Subversion . Aber es ist Git , das hauptsächlich verwendet wird , und man muss damit arbeiten können. Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 5Neben lehrreichen Artikeln dazu gibt es auf Youtube genügend Videos, die Ihnen helfen, diese Technologie Schritt für Schritt zu beherrschen. Zunächst ist es besser, Konsolen-Git zu verwenden und nicht irgendeine Art von Schnittstellenimplementierung, da Sie darin alles über Befehle erledigen müssen. Bei Vorstellungsgesprächen werden die Leute oft nach einigen Git- Befehlen gefragt , daher empfehle ich Ihnen, diese aufzuschreiben und an einem griffbereiten Ort aufzubewahren. Ich empfehle Ihnen außerdem, sich einen Notizzettel anzufertigen, in dem Sie die wichtigsten Punkte markieren, damit Sie ihn vor dem Vorstellungsgespräch noch einmal durchgehen und Ihr Gedächtnis auffrischen können.

9. JDBC

Diese Technologie wurde entwickelt, um Konnektivität zwischen Ihrer Java-Anwendung und einer relationalen Datenbank bereitzustellen. Um sich mit den Grundlagen vertraut zu machen, empfehle ich die Lektüre des Artikels JDBC oder Where It All Begins. Es gibt viele Artikel, die die JDBC-Technologie erklären und einfache Beispiele liefern, obwohl niemand mehr nacktes JDBC direkt verwendet.

10.JPA. Überwintern

JPA ist genau wie JDBC eine Möglichkeit, eine Verbindung zwischen einer Java-Anwendung und einer Datenbank herzustellen. Gleichzeitig handelt es sich bei JPA jedoch um eine höherwertige Technologie und ist dementsprechend einfacher zu verwenden. Aber JPA ist nur eine Spezifikation (ein Konzept), die nicht implementiert ist und eine spezifische Implementierung erfordert. Es gibt viele solcher Implementierungen, aber diejenige, die den Idealen von JPA, beliebt und entwickelt, am nächsten kommt, wird als Hibernate bezeichnet . In Ihrer Entwicklungskarriere werden Sie dieser Technologie mehr als einmal begegnen. Daher kann es sich lohnen, zusätzlich zum Kennenlernen dieser Technologie durch Artikel darüber nachzudenken, ein Buch darüber zu lesen, zum Beispiel „ Java Persistence API “.

11.Frühling

Wenn Sie Java-Entwickler werden, ist Spring für Sie nicht mehr nur ein Wort. Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 6Nun hat dieses Framework den ersten Platz in der Bedeutung mit der Notwendigkeit, die Syntax der Java-Sprache zu kennen. Man kann sagen, dass Spring sein Gegenstück hat, nämlich die Java EE-Technologien. Aber Java EE ist veraltet und wird in neuen Projekten nicht mehr verwendet. Die überwiegende Mehrheit der Java-Entwickler sind mittlerweile Java Spring-Entwickler, daher sind Kenntnisse einiger grundlegender Spring-Technologien obligatorisch. Spring ist nicht nur ein Framework, sondern eine ganze Plattform von Frameworks: Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 7Und dies ist nur ein Teil der Frameworks, die Spring bereitstellt. Für einen Anfänger reicht es aus, nur einige davon zu kennen:

  • Federkern

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.

  • Frühlings-JDBC

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.

  • Frühlingsschlaf

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.

  • Frühlings-JPA

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.

  • Frühlings-MVC

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.Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 8

  • Frühlingsstiefel

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 .Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 9
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION