Hallo! Heute sprechen wir über den Wachstumspfad eines Java-Entwicklers und darüber, was er oder sie wissen muss, um gefragt zu sein. Eine Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 1In einem Vorstellungsgespräch könnte jeder Entwickler den Bewerber auf die Probe stellen. Sie können beispielsweise anfangen, Fragen zu bestimmten Themen zu stellen, auf die sie in ihrem aktuellen Projekt gestoßen sind. Aber nicht alles zu wissen ist normal. Dass man manche Fragen nicht beantworten kann, ist auch normal. Generell gilt, dass jeder Java-Programmierer über ein grundlegendes Verständnis der Softwareentwicklung verfügen muss. Schauen wir uns also an, was als „grundlegend“ gilt.

1. Grundlegende Algorithmen

Wenn Sie mit dem Erlernen des Programmierens (nicht nur von Java) beginnen, müssen Sie zunächst die Grundlagen verstehen. Zum Beispiel Algorithmen. Es gibt unendlich viele davon, und Sie sollten nicht ganze Jahre Ihres Lebens damit vergeuden, so viele Algorithmen wie möglich zu lernen: Die meisten davon werden Ihnen nicht nützlich sein. Das nötige Mindestwissen können Sie dem Buch „Grokking Algorithms“ entnehmen. Dies reicht für den Einstieg aus, aber wenn Sie möchten, können Sie aus dem Buch „Structures and Algorithms“ oder „Algorithms in Java“ von Robert Sedgewick und Kevin Wayne lernen. Ich empfehle Ihnen außerdem, Ihre Kenntnisse der Informatik-Grundlagen zu verbessern. Dies kann mit dem Harvard CS50-Kurs erfolgen.

2. Java-Syntax

Nachdem wir die Grundlagen von Algorithmen erlernt haben, müssen wir die Java-Syntax lernen. Schließlich studieren wir doch alle hier, um Java-Programmierer zu werden, oder? Der CodeGym-Kurs ist hierfür perfekt geeignet. Während Sie zahllose Aufgaben erledigen, lernen Sie die Java-Syntax kennen und können dann ohne große Bedenken Java-Code schreiben/lesen, als wäre es Ihre Muttersprache. CodeGym ist Übung, aber darüber hinaus müssen Sie sich auch die Theorie ansehen, um zu verstehen, was 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 Anfänger“ von Herbert Schildt.
Nachdem Sie diese Bücher gelesen haben, können Sie sich schwierigeren Büchern zuwenden:
  • „Denken in Java“, Bruce Eckel;
  • „Effective Java“ von Joshua Bloch;
  • „Java: The Complete Reference“ von Herbert Schildt.
Die letzten drei Bücher sind für Anfänger keine leichte Lektüre, bieten aber eine solide Grundlage in der Java-Theorie. Vergessen Sie auch nicht die CodeGym-Artikel, da diese Erklärungen zu den meisten Themen enthalten, die Sie interessieren könnten. Sie können einen relevanten Artikel finden, indem Sie das Thema, das Sie interessiert, in die Suchleiste eingeben: Eine Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 2Ich empfehle außerdem dringend, nach Fragen aus Java-Interviews zu suchen. Dies wird Ihnen helfen zu verstehen, was genau Sie lernen müssen und auf welche Fragen Sie sich vorbereiten müssen.

3. Designmuster

Entwurfsmuster sind bestimmte wiederholbare Muster, die Probleme in häufig auftretenden Kontexten lösen. Sie umfassen grundlegende, einfache Muster, die jeder Programmierer mit Selbstachtung kennen sollte. Um dieses Thema zu verstehen, greifen Sie zum Buch „Head First Design Patterns“. Es erklärt die grundlegenden Designmuster auf verständliche Weise. Aber das Buch spricht viel über Java, sodass Sie beim Lesen dieses Buchs auch fließende Kenntnisse dieser Programmiersprache benötigen. Für einen tieferen Einblick in Muster können Sie auch „Design Patterns: Elemente wiederverwendbarer objektorientierter Software“ von der Gang of Four lesen (Anmerkung des Herausgebers: Die Gang of Four ist ein Autorenteam, zu dem Erich Gamma, Richard Helm und Ralph gehören Johnson, John Vlissides.). Sobald Sie sich mit diesem Thema befasst haben, werden Sie praktisch überall in Ihrem Code Muster erkennen. Achten Sie darauf, insbesondere auf die im Frühjahr verwendeten Muster, da dies eine beliebte Interviewfrage ist.

4. Programmierparadigmen. Code-Sauberkeit

Neben den Standardentwurfsmustern gibt es verschiedene Prinzipien und Paradigmen, die es zu beachten gilt ( SOLID , GRASP ). Sie müssen Ihren Code außerdem sauber und lesbar halten. Alles, was Sie zu diesem Thema wissen müssen, finden Sie unter Clean Code von Robert Martin oder in „Code Complete“ von Steve McConnell.

5. SQL

Unser nächster Schritt besteht darin, eine Sprache für relationale Datenbanken zu studieren – SQL . In Datenbanken werden die von einer Webanwendung verwendeten Informationen (Daten) gespeichert. Eine Datenbank besteht aus mehreren Tabellen (ein einfaches Beispiel ist das Adressbuch auf Ihrem Telefon). Java-Entwickler sind nicht nur für die Java-Anwendung verantwortlich, sondern auch für die Datenbank, mit der sie interagiert und wo sie ihre Daten speichert. In relationalen Datenbanken (die am häufigsten vorkommen) erfolgt die gesamte Interaktion über eine spezielle Sprache namens Structured Query Language oder SQL. Um dieses Thema zu verstehen, müssen Sie lediglich eines dieser Bücher lesen:
  • „SQL lernen“ von Alan Beaulieu;
  • „SQL“ von Chris Fehily;
  • „Head First SQL“ von Lynn Beighley.
Aber Praxis ohne Theorie reicht nicht aus, oder? Und bei Vorstellungsgesprächen erwartet Sie ein Test Ihrer SQL-Kenntnisse. Interviewer geben oft (fast immer) eine oder zwei Aufgaben, bei denen es um das Schreiben einer SQL-Abfrage geht. Daher ist es sehr wichtig, Ihre praktischen SQL-Kenntnisse zu verbessern, um sich in einem guten Licht zu präsentieren.

6. MySQL/PostgreSQL

Nachdem Sie die SQL-Sprache erlernt haben, müssen Sie sich mit einer bestimmten Datenbankimplementierung vertraut machen. Abhängig von der Datenbank können einige Befehle erheblich variieren. Und es gibt durchaus deutliche Unterschiede bei den Datenbankfunktionen. Die gebräuchlichsten relationalen Datenbanken sind MySQL und PostgreSQL . Eine Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 3MySQL ist viel einfacher, aber PostgreSQL verfügt über viel umfassendere Funktionen. Um loszulegen, reicht es aus, mit mindestens einem davon vertraut zu sein. Sie können Datenbankimplementierungen studieren, wenn Sie Ihre Google-Fähigkeiten nutzen – relevante Artikel und Tutorials finden Sie auf YouTube. Sie müssen Ihre Fähigkeit entwickeln, geeignete Suchanfragen für die Fragen zu erstellen, die Sie beantworten müssen. Schließlich ist ein Programmierer jemand mit einem schwarzen Gürtel beim Googeln.

7. Maven/Gradle

Sie müssen entweder das Gradle- oder das Maven- Framework erlernen. Sie dienen zum Erstellen von Projekten, und für Sie ist Java jetzt nicht nur für Aufgaben, die mehrere Klassen umfassen, sondern auch eine Sprache zum Schreiben vollwertiger Anwendungen. Sie müssen verstehen, wie Sie ein Projekt erstellen, welche Build-Phasen es gibt, wie Sie die erforderlichen externen Bibliotheken mit Code von Drittanbietern laden und vieles mehr. Obwohl Gradle neuer und prägnanter ist, wird in den meisten Fällen Maven verwendet. Achten Sie daher besonders auf den Maven-Build-Lebenszyklus.

8. Git

Git ist ein verteiltes Versionskontrollsystem. Mit dieser Technologie können Entwickler an einer einzelnen Anwendung zusammenarbeiten, ohne sich gegenseitig zu stören. Natürlich gibt es auch andere Versionskontrollsysteme. Zum Beispiel Subversion . Git wird jedoch am weitesten verbreitet und Sie müssen damit arbeiten können.Eine Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 4Zusätzlich zu den vielen Artikeln über Git, die Sie online finden können, bietet YouTube mehr als genug Videos, die Ihnen dabei helfen, diese Technologie Schritt für Schritt zu beherrschen. Zunächst ist es besser, Git über die Befehlszeile zu verwenden, als eine Art GUI-Implementierung, da Sie dann gezwungen sind, alles über Befehle zu erledigen. In Vorstellungsgesprächen wird oft nach ein paar Git-Befehlen gefragt, daher empfehle ich Ihnen, diese aufzuschreiben und irgendwo in der Nähe aufzubewahren. Ich empfehle Ihnen außerdem, sich Notizen zu machen und die wichtigsten Punkte im Auge zu behalten, um diese vor dem Vorstellungsgespräch noch einmal durchzugehen und Ihr Gedächtnis aufzufrischen.

9. JDBC

Diese Technologie verbindet Ihre Java-Anwendung und eine relationale Datenbank. Für die Grundlagen empfehle ich die Lektüre eines beliebigen JDBC-Tutorials. Es gibt eine Fülle von Artikeln, die JDBC erklären und rudimentäre Beispiele liefern, auch wenn niemand mehr nacktes JDBC direkt verwendet.

10. JPA. Überwintern

JPA ist eine Möglichkeit, eine Verbindung zwischen einer Java-Anwendung und einer Datenbank herzustellen, genau wie JDBC. Gleichzeitig handelt es sich bei JPA jedoch um eine Technologie auf höherem Niveau und ist daher einfacher zu verwenden. Aber JPA ist nur eine Spezifikation, keine Implementierung. Es braucht eine konkrete Umsetzung. Es gibt viele davon, aber Hibernate kommt den JPA-Idealen am nächsten, ist das beliebteste und am weitesten entwickelte. Sie werden dieser Technologie in Ihrer Karriere als Softwareentwickler mehr als einmal begegnen. Zusätzlich zum Kennenlernen dieser Technologie durch das Lesen von Artikeln kann es sich also lohnen, darüber nachzudenken, ein Buch 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. Eine Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 5Die Kenntnis dieses Frameworks ist mittlerweile genauso wichtig wie die Kenntnis der Java-Syntax. Man könnte sagen, dass Spring ein Geschwister hat, nämlich Java EE. Aber Java EE ist veraltet und wird in neuen Projekten nicht mehr verwendet. Die überwältigende Mehrheit der Java-Entwickler sind mittlerweile Java-Spring-Entwickler, daher ist es ein Muss, einige grundlegende Spring-Technologien zu kennen. Spring ist nicht nur ein Framework, sondern ein ganzes Framework von Frameworks: Eine Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 6Und dies ist nur eine Teilmenge der Frameworks, die Spring bereitstellt. Für einen Anfänger reicht es aus, nur einige davon zu kennen:

  • Federkern

Sie sollten dies an die erste Stelle setzen, damit Sie verstehen, was Spring ist – alles über Spring-Container, Beans, DI, IoC und so weiter. Sozusagen die eigentliche Philosophie der Verwendung von Spring verstehen. Ihr weiteres Studium der Spring-Frameworks wird auf dieser Basis aufbauen. Vielleicht sollten Sie eine eigene kleine Anwendung erstellen, in die Sie nach und nach alle neu erlernten Technologien integrieren können.

  • Frühlings-JDBC

Zuvor haben wir JDBC als Technologie zum Erstellen einer Datenbankverbindung erwähnt. Im Allgemeinen ist ein „nackter“ Einsatz der Technologie in Projekten nicht mehr zu finden, sodass man daraus schließen kann, dass das Erlernen von JDBC nicht notwendig ist. Das ist nicht ganz die richtige Einstellung. Durch die Untersuchung der reinen (direkten) Nutzung von JDBC können Sie die Technologie auf einer niedrigeren Ebene betrachten und ihre Probleme und Mängel verstehen. Wenn Sie dann mit dem Erlernen von Spring JDBC beginnen, werden Sie erkennen, was genau dieses Framework verbessert, optimiert und verbirgt.

  • Frühlingsschlaf

Analog zur Situation bei nacktem JDBC nutzt dieses Framework eine vorhandene Technologie, in diesem Fall Hibernate. Wenn Sie darüber nachdenken, Hibernate ohne Spring zu verwenden, werden Sie die Vorteile von Spring Hibernate auf jeden Fall erkennen.

  • Frühlings-JPA

Zuvor haben wir über JPA gesprochen und erwähnt, dass es sich nur um eine Spezifikation handelt, obwohl es verschiedene Implementierungen gibt. Unter diesen Implementierungen kommt Hibernate dem Ideal am nächsten. Spring verfügt über eine eigene ideale JPA-Implementierung, die Hibernate unter der Haube nutzt. Es kommt dem Ideal der JPA-Spezifikation so nahe wie möglich. Es heißt Spring JPA. Kurz gesagt, es vereinfacht den Datenbankzugriff erheblich. Sie können JPA nur lernen, ohne JDBC, Hibernate, Spring JDBC oder Spring Hibernate zu lernen. Aber wenn Sie diesen Ansatz wählen, werden Ihre Kenntnisse darüber, wie man eine Verbindung zu einer Datenbank herstellt, sehr oberflächlich sein.

  • Frühlings-MVC

Diese Technologie ermöglicht es, Benutzern die Webschnittstelle unserer Anwendung anzuzeigen und die Kommunikation zwischen der Schnittstelle und dem Rest der Anwendung zu erleichtern. Die Technologie kann auch ohne Anzeige verwendet werden, wenn Sie über eine Anwendung verfügen, die für die Verwaltung der Anzeige verantwortlich ist, und Sie mit der Anwendung mithilfe der RESTful- Technologie interagieren. Um sich besser über den Frühling zu informieren, können Sie neben Artikeln und YouTube-Vorträgen auch mehrere Bücher lesen. Das Buch „Spring in Action“ von Craig Walls hat mir sehr gut gefallen. Ich empfehle Ihnen, die 6. Version zu lesen, wenn Sie gut Englisch sprechen. Ein weiteres großartiges Buch zum Thema Frühling ist „Spring 5 for the Professionals“. Es ist dichter. Es handelt sich eher um eine Referenz, die es wert ist, immer griffbereit zu haben, als sie von Anfang bis Ende zu lesen.Eine Checkliste für Java-Entwickler.  Was ein Entwickler wissen sollte - 7

  • Frühlingsstiefel

Diese Technologie vereinfacht die Verwendung von Spring erheblich. Ich habe es nicht aus einer Laune heraus ans Ende der Liste gesetzt. Tatsächlich verbirgt sich viel unter der Haube, und für jemanden, der mit dem Vanilla Spring nicht vertraut ist, könnten viele Punkte unklar oder unverständlich sein. Um besser zu verstehen, wie Spring-Frameworks funktionieren, sollten Sie zunächst reguläres Spring verwenden und dann alle höheren Vorteile der Verwendung 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 fundierte Kenntnisse dieser beiden noch nicht erforderlich. Diese Technologie ist nichts für Anfänger. Bei Vorstellungsgesprächen werden junge Entwickler nicht danach gefragt (außer vielleicht einer oberflächlichen Frage). Lesen Sie einen Überblick über diese Technologien und die Prinzipien, die hinter ihrer Arbeit stehen. In diesem Artikel, Ich habe wiederholt erwähnt, dass ich Bücher lese. Einerseits ist dies nicht zwingend. Sie können Programmierer werden, ohne ein einziges Buch zu lesen, und sich das erforderliche Wissen aus Online-Artikeln und Schulungsvideos aneignen. Andererseits ist auf dem Arbeitsmarkt der Wettbewerb unter unerfahrenen Entwicklern derzeit groß, was die Messlatte für das, was ein Anfänger wissen muss, höher legt. Je mehr Sie also wissen, desto schneller finden Sie Ihren ersten Job, indem Sie den Interviewer mit Ihrem Wissensstand beeindrucken. Vielen Dank an alle und möge Java mit Ihnen sein. Das legt die Messlatte für das, was ein Anfänger wissen muss, höher. Je mehr Sie also wissen, desto schneller finden Sie Ihren ersten Job, indem Sie den Interviewer mit Ihrem Wissensstand beeindrucken. Vielen Dank an alle und möge Java mit Ihnen sein. Das legt die Messlatte für das, was ein Anfänger wissen muss, höher. Je mehr Sie also wissen, desto schneller finden Sie Ihren ersten Job, indem Sie den Interviewer mit Ihrem Wissensstand beeindrucken. Vielen Dank an alle und möge Java mit Ihnen sein.