JavaRush /Java-Blog /Random-DE /Was müssen Sie wissen, um Java Junior zu werden, und was ...

Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?

Veröffentlicht in der Gruppe Random-DE
Die Anforderungen an potenzielle Java-Entwickler ändern sich ständig und es ist schwierig, mit ihnen Schritt zu halten. Reicht es aus, nur Java Core zu beherrschen, um Trainee zu werden? Wie gut müssen Sie Spring und Hibernate verstehen, um eine Java-Junior-Stelle zu bekommen? Lohnt es sich, Datenbanken zu erlernen und Sortier- und Suchalgorithmen zu verstehen? Und da JavaRush-Studenten diese Fragen sehr oft beschäftigen, haben wir uns entschieden, sie unseren Absolventen zu stellen, die bereits als Java Juniors arbeiten oder als Java Trainees in Unternehmen ein Praktikum absolvieren. Beachten Sie, dass 13 % der Befragten das Glück hatten, beim ersten Versuch eine Java-Mittelposition zu erreichen und die Junior-Stufe zu umgehen. Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 1Die Befragten gaben Auskunft darüber, welche Technologien sie zum Bestehen des Vorstellungsgesprächs benötigten und welche sie im ersten Jahr ihres ersten Java-Jobs nutzten.

Jeder braucht Java Core

Der Begriff Java Core ist recht weit gefasst. Dieser Name bezieht sich sowohl auf die elementare Syntax der Sprache als auch auf ein so komplexes Thema wie Multithreading. Tatsächlich ist der JavaRush-Kurs hauptsächlich dem Kern gewidmet. Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 2Java-Syntax. Sprachgrundlagen. All diese Datentypen, Operatoren, Schleifen und Verzweigungen. Natürlich bewerteten 92,4 % derjenigen, die den Job bekamen, ihre Syntaxkenntnisse als „gut oder ausgezeichnet“. Allerdings gelang es 7,6 % der Befragten, Java-Trainees mit durchschnittlichen Syntaxkenntnissen zu werden. Allerdings ist dies eher als Glück (oder Prahlerei der Befragten :)) zu werten. Natürlich sollte jeder, der sich für eine Stelle als Programmierer bewirbt, die Syntax der Sprache kennen. Objektorientierte Programmierung (OOP). Alles in Java besteht aus Objekten, daher kann OOP als eines der wichtigsten Themen der Sprache angesehen werden. Der objektorientierte Ansatz mag zunächst ungewohnt erscheinen, insbesondere wenn Sie bisher nur prozedurale Sprachen studiert haben, aber der Umstieg auf Objekte ist nicht schwierig. Die größten Schwierigkeiten für Anfänger sind die Abstraktionsebenen und ihre unabhängige Verteilung – ein unerfahrener Programmierer muss in der Lage sein, eine Hierarchie von Objekten korrekt zu erstellen, zu verstehen, wofür die Schnittstelle verantwortlich ist und was in eine abstrakte Klasse eingefügt werden kann, und eine Vererbung zu erstellen Leiter usw. Wie üblich wird diese Schwierigkeit durch Übung gelöst. Die Mehrheit der Befragten, 80,3 % derjenigen, die ihren ersten Job bekamen, kannten die OOP-Prinzipien gut und nutzten sie ständig. Im ersten Jahr ihrer Arbeit als Java Juniors und Praktikanten verwendeten 78,8 % der Befragten die OOP-Prinzipien sehr oft, 12,1 % – von Zeit zu Zeit. 7,6 % der Zuhörer nutzten sie selten – diese Leute waren hauptsächlich mit Unit-Tests und verschiedenen kleinen Aufgaben beschäftigt. Das heißt natürlich, dass sie auch Klassen oder Objekte verwendet haben (darauf kann man in Java nicht verzichten), aber selten Klassenhierarchien erstellt haben. Sammlungsrahmen. Eine Sammlung ist eine Sammlung einzelner Objekte, die als Ganzes präsentiert werden. Java verfügt über ein sehr intelligentes Collections Framework zur Darstellung von Sammlungen. Sammlungen basieren auf gängigen Datenstrukturen – Listen, gewöhnliche und verbundene, Mengen, Hash-Tabellen. Wenn Sie Sammlungen erkunden, ist es daher eine gute Idee, sich mit Datenstrukturen vertraut zu machen. Die Hauptschwierigkeit beim Studium von Sammlungen besteht darin, zu verstehen und sich daran zu erinnern, wie sie funktionieren. Wenn Sie verstehen, wie sie auf ein Element zugreifen, es aus einer Sammlung extrahieren und dieser hinzufügen, beginnen Sie zu verstehen, wo diese oder jene Struktur angewendet werden muss. Es kommt mit der Übung. Aber glücklicherweise werden nicht alle der zahlreichen Sammlungen aktiv in der realen Arbeit genutzt. 80,3 % der Befragten gaben an, vor ihrem ersten Jobangebot über gute oder sogar ausgezeichnete Kenntnisse im Inkasso zu verfügen, und fast alle 96,9 % der Junioren und Auszubildenden nutzen Inkasso in ihrem ersten Job. Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 3Ausnahmebehandlung.Eine Ausnahme ist eine außergewöhnliche Situation, die während der Ausführung Ihres Programms auftreten kann. Alle Ausnahmeklassen sind Untertypen der Klasse java.lang.Exception. Der Ausnahmebehandlungsmechanismus vereinfacht das Auffinden von Fehlern in Programmen erheblich. Normalerweise beginnen Schüler recht früh mit der Verwendung von Ausnahmen, beispielsweise in JavaRush. In JavaRush wird dieses Thema in der ersten Java-Syntax-Quest angesprochen. Fast alle JavaRush-Absolventen, die ihre ersten Jobs bekamen, wussten, wie man mit Ausnahmen umgeht, und nutzten diese natürlich auch während der Arbeit. E/A-Streams Java. Die allerersten in Java geschriebenen Programme enthielten normalerweise so etwas wie System.out.println („Hallo Welt“). Neulinge verstehen oft, dass die println-Methode eine Zeile an die Konsole druckt, haben aber keine Ahnung, warum System und out da sind und wie sie funktionieren. Wenig später stellt sich heraus, dass Java Ein- und Ausgabeoperationen mithilfe von Streams, einem kontinuierlichen Datenstrom, durchführt. Threads sind nicht das am einfachsten zu verstehende Thema, und es wird in Einsteigerjobs nicht sehr häufig verwendet: Nur 22,7 % der Leute, die ihren ersten Java-Junior-/Trainee-Job bekamen, gaben an, dass sie I/O-Threads häufig verwenden, 31,8 % – von Zeit zu Zeit Zeit, 25,8 % – selten. Knapp 20 % nutzten sie also in ihrem ersten Jahr als Java-Entwickler überhaupt nicht. Während ihres Studiums hatten 18,2 % keine besonderen Schwierigkeiten mit Strömungen und kannten diese gut, 36,4 % bewerteten ihre Kenntnisse als gut, aber 10,6 % ignorierten dieses Thema. Multithreading (Java Multithreading/Parallelität). Vielleicht ist dies das Thema, das bei unerfahrenen Entwicklern die größten Missverständnisse hervorruft. Obwohl Multithreading in Java sehr gut implementiert ist, ist es schwer zu verstehen und selbst beim Schreiben einfacher Programme (z. B. Multithreading „Hallo Welt“) können Probleme auftreten. Viele Arbeitgeber sind sich dessen bewusst und verlangen von Anfängern kein tiefgreifendes Verständnis von Multithreading, sondern gehen davon aus, dass dies mit der Erfahrung einhergeht. Nur 12 % der Befragten gaben an, dass sie das Thema vor dem ersten Angebot gut kannten, während fast 32 % der Befragten angaben, überhaupt nichts über das Thema zu wissen. Die Mehrheit, 56,2 %, gab an, „ein gewisses Verständnis“ für Multithreading zu haben. Wenn Ihnen die Schwierigkeiten bei der Arbeit mit Threads jetzt also unüberwindbar erscheinen, können diese Zahlen Sie beruhigen. Wenn Sie sich jedoch in einem Vorstellungsgespräch einen Wettbewerbsvorteil verschaffen möchten, könnte dieses Thema Ihre Stärke sein. Auch bei realen Projekten ist es Anfängern selten gestattet, mit Fäden zu arbeiten. So sind 15,1 % der unerfahrenen Programmierer bei ihrer Arbeit noch nie auf Java Multithreading gestoßen, und 39,4 % sind darauf gestoßen, allerdings nur selten. Oft mussten im ersten Berufsjahr nur 9,1 % der Befragten mit Multithreading arbeiten. Lambda-Ausdrücke.Lambda-Ausdrücke und Hinweise zur funktionalen Programmierung erschienen in Java 8, aber Neulinge verwenden dieses praktische Tool nicht sehr oft. Ein Lambda-Ausdruck ist eine Funktion, die ohne Zugehörigkeit zu einer Klasse erstellt werden kann und die Sie als Objekt übergeben oder bei Bedarf ausführen können. Nur 22,7 % der befragten Absolventen kannten Lambda-Ausdrücke gut, bevor sie ihr erstes Stellenangebot erhielten, und 48,5 % bewerteten ihr Wissen über das Thema mit „nahe Null“. Gleichzeitig gaben mehr als 85 % der neuen Programmierer an, dass sie in ihrem ersten Jahr Lambda-Ausdrücke verwendet haben. Fairerweise weisen wir darauf hin, dass der geringe Prozentsatz derjenigen, die sich mit diesem Thema auskennen, möglicherweise auf die Tatsache zurückzuführen ist, dass Lambda-Ausdrücke in JavaRush bisher nur in der neuen Java Syntax Pro- Quest und den neuen Artikeln vorgestellt werden . Daher können wir mit Sicherheit sagen, dass Kenntnisse in Core Java für jeden potenziellen Java-Junior und sogar Trainee einfach notwendig sind. Natürlich ist es akzeptabel, dass Sie über einige Themen, zum Beispiel Multithreading, etwas weniger wissen, aber Java-Syntax, OOP und Sammlungen sollten fest in Ihrem Bewusstsein verankert sein.

Algorithmen und Datenstrukturen

Es gibt eine ständige Debatte über das Studium von Sortier- und Suchalgorithmen. Einerseits sind die besten Algorithmen längst geschrieben und in den Bibliotheken aller gängigen Programmiersprachen, einschließlich Java, enthalten. Und sie können legal verwendet werden, ohne dass Sie Ihren eigenen Code schreiben müssen. Experten, die Programmierer ausbilden, empfehlen jedoch immer noch, dass jeder unerfahrene Entwickler sein Gehirn trainiert, indem er all diese Blasenalgorithmen, Zusammenführungen, binäre Suche und dergleichen schreibt. Erstens sind diese Algorithmen eine Art Lackmustest für die Fähigkeiten eines Programmierers (nämlich nicht Wissen, sondern Fähigkeiten) und das Verständnis einer Person dafür, was Programmierung im Prinzip ist. Wenn Ihr Gehirn bereits gut auf diese Art von Arbeit eingestellt ist, wird es Ihnen relativ leicht fallen, Algorithmen zu schreiben. Und doch sollten Sie bedenken: Sie brauchen Algorithmen, um Ihr Gehirn zu trainieren ... und um ein Vorstellungsgespräch zu bestehen: Die ätzenden Senior-Entwickler, die sie führen, quälen Bewerber sehr gerne mit der Aufforderung, diesen oder jenen Algorithmus zu schreiben. Aber in ihrer Arbeit verwendet die Mehrheit (48,5 %) Standard-Bibliotheksalgorithmen, die effektiv und bewährt sind, während 16 % der Befragten im ersten Jahr ihrer Tätigkeit als Programmierer überhaupt keine Sortierung verwendeten. Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 469,6 % der Absolventen geben an, dass sie vor ihrem ersten Stellenangebot gute Kenntnisse über Sortier- und Suchalgorithmen hatten und diese selbst schreiben konnten. Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 5Das Thema Datenstrukturen haben wir bereits angesprochen, als wir über Java-Sammlungen gesprochen haben. Ja, es ist besser, sie zu verstehen, um zu wissen, wo und welche Struktur man anwenden muss. Das Erstellen eigener Datenstrukturen nach dem Vorbild von Bibliotheksstrukturen ist eine großartige Übung, die Ihnen helfen wird, diese besser zu verstehen. Sie können beispielsweise versuchen, Ihre eigene Version von ArrayList zu schreiben oder Ihre eigene einfach verknüpfte Liste vorschlagen (die übliche LinkedList in Java ist doppelt verknüpft). Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 6Bei der Arbeit verwendeten unerfahrene Programmierer hauptsächlich Standarddatenstrukturen.Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 7

Unit-Tests

Die JUnit-Bibliothek ist für Unit-Tests in Java verantwortlich. Tatsächlich können Sie mit Unit-Tests fast gleich zu Beginn des Trainings beginnen. Zumindest wenn Sie Ihr erstes unabhängiges Projekt in Angriff nehmen, auch wenn es noch so klein ist, sollten Sie dieses Tool bereits beherrschen. Unit-Tests zu schreiben ist nicht so schwierig, obwohl es einige Nuancen gibt. Das Erlernen von JUnit wird nicht viel Zeit in Anspruch nehmen, aber die Vorteile, es zu kennen, sind enorm. Sie können Ihren eigenen Code und den Code anderer mit Tests abdecken. Sehr oft werden Neulinge damit beauftragt, Unit-Tests für Kollegen zu schreiben, sodass dies direkt im neuen Job von Nutzen sein kann. 57,5 % der Befragten gaben an, JUnit vor ihrem ersten erfolgreichen Java-Interview genutzt zu haben, und über 83 % hatten bereits im ersten Jahr Unit-Tests eingesetzt.

Hilfsbibliotheken, GUI und nützliche Komponenten

Wir haben gefragt, wie vertraut JavaRush-Absolventen mit einer Reihe von Tools sind, von denen einige in unserem Kurs behandelt wurden.
  • Servlets sind Java-Softwarekomponenten, die die Fähigkeiten eines Servers erweitern.
  • JDBC ist ein plattformunabhängiger Standard für die Interoperabilität zwischen Java-Anwendungen und Datenbanken. JDBC ist als Java-Paket implementiert. SQL ist in Java SE (Standard Edition) enthalten.
  • log4j ist die bekannteste Nachrichtenprotokollierungsbibliothek. Sie können damit Bibliotheksaufrufe in Java-Code schreiben und diese dann flexibel anpassen, ohne den bereits geschriebenen Code zu ändern.
  • Jackson/JSON. JSON (JavaScript Object Notation) ist ein äußerst beliebtes offenes Standardformat für den Datei- und Datenaustausch, und Jackson ist ein leistungsstarker JSON-Prozessor für Java.
Alle diese Tools sind sehr nützlich und werden häufig in der Arbeit verwendet, und die meisten Studierenden haben sie bei der Vorbereitung auf das Vorstellungsgespräch nicht vernachlässigt. Dies gilt insbesondere für Jackson, auf das 72,7 % der Bewerber für die Position eines Java-Programmierers stießen, JDBC – diese Bibliothek wurde von mehr als 78 % der Befragten ausprobiert. Fast jeder nutzte diese Technologien in seiner Arbeit. Java-Entwickler stoßen nicht oft auf GUIs. Wir haben eine Frage zu JavaFX gestellt: Nur 18 % der Befragten haben diese Technologie bei der Arbeit kennengelernt. Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 8Zwei Drittel der Befragten arbeiteten mit Servlets, ein etwas geringerer Anteil der Befragten probierte sie während ihres Studiums aus. Es stellt sich auch heraus, dass einige neue Java-Programmierer auf Projekte wie Apache Commons (eine Reihe von Bibliotheken, die sich auf alle Aspekte wiederverwendbarer Java-Komponenten konzentrieren) und Guava (eine Reihe allgemeiner Open-Source-Bibliotheken für Java, die hauptsächlich von Google-Ingenieuren entwickelt wurden) gestoßen sind.Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 9

Rahmenwerke

Bisher hat niemand erwartet, dass Java Junior Spring oder Hibernate kennt. Aber die Zeiten ändern sich, und das wird heute manchmal sogar vom Azubi erwartet. Es ist nicht einfach, diese Technologien alleine zu erlernen. Auch wenn alles klar erscheint, vergessen Schüler oft sehr schnell, was was ist. Manchmal sind selbst im Frühjahr unabhängig geschriebene Bewerbungen kein Allheilmittel. Da hilft nur aktive Arbeit. Vor einem erfolgreichen Interview war jedoch ein Drittel der Befragten gut mit Spring vertraut, und 45,5 % hatten ein durchschnittliches Verständnis davon. Etwas schlimmer ist die Situation bei Spring Boot (36,4 % wussten es überhaupt nicht), und fast 44 % der befragten JavaRush-Absolventen gaben an, über gute Kenntnisse von Hibernate zu verfügen. Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 10Gleichzeitig wurde während der Arbeit das Haupt-Java-Framework von fast 88 % der neuen Programmierer verwendet, Spring Boot – 83 %, Hibernate – 81 %.Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - elf

Erstellen Sie Automatisierungstools und Anwendungsserver

Die meisten der befragten JavaRush-Absolventen haben versucht, mit Projektentwicklern zusammenzuarbeiten. Am häufigsten war es Maven (40,9 % haben es in der Praxis ausprobiert, weitere 30,3 % nutzten es von Zeit zu Zeit und 12,1 % nutzten es ständig während ihres Studiums). Bei der Arbeit mit Maven bin ich auf 72,7 % (oft), 7,6 % (manchmal) und 3 % (selten) gestoßen. Was Gradle betrifft, ist die Situation etwas schlimmer. Nur 22,7 % haben mit diesem Kollektor geübt und die meisten von ihnen haben die Technologie gerade erst ausprobiert. Fast die Hälfte der Befragten nutzte Gradle für ihre Arbeit. Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 12Ant hat seinen Platz längst verloren, was sich auch in seiner Beliebtheit bei unseren Absolventen widerspiegelt: Nur 3 % der Befragten haben daran herumgebastelt. Und 12 % derjenigen, die die Fragen beantworteten, mussten mit ihm zusammenarbeiten. Tomcat ist der Spitzenreiter unter den Anwendungsservern; mehr als 77 % der Befragten haben es während ihres Studiums herausgefunden, 11 % haben GlassFish ausprobiert, 12 % haben JBoss ausprobiert. Ähnlich sieht es mit der Beliebtheit von Servern bei denen aus, die bereits arbeiten. Nur 31,8 % derjenigen, die den Job bekamen, hatten keine Erfahrung mit Tomcat. Außerdem haben JavaRush-Absolventen in ihrem ersten Jahr als Programmierer Server wie WebSphere, Jetty, Netty, Wildfly und Weblogic ausprobiert.Was müssen Sie wissen, um Java Junior zu werden, und was tun damit?  - 13

Was sonst?

Die überwiegende Mehrheit der Befragten, noch bevor sie ihren ersten Job bekamen:
  • hatte Verständnis für HTML, CSS und JavaScript;
  • arbeitete mit Datenbanken, kannte SQL;
  • fast jeder nutzte Git und GitHub;
  • habe versucht, mit reinem XML zu arbeiten.
All diese Technologien waren für sie bei ihrer weiteren Arbeit nützlich. Von einem Java-Programmierer oder von jedem anderen wird standardmäßig erwartet, dass er mit allen oben genannten Punkten vertraut ist. Es ist Bekanntschaft, kein tiefes Wissen. Wir empfehlen daher, ab und zu eine Pause von Java einzulegen und Ihren Horizont durch das Studium dieser Technologien zu erweitern. Einige derjenigen, die die Fragen beantworteten, gaben außerdem an, dass bei dem Vorstellungsgespräch von ihnen erwartet wurde, dass sie zumindest theoretische Kenntnisse über Entwurfsmuster und Architekturmuster sowie über gute Manieren in der Programmierung verfügen (alle diese KISS, DRY, SOLID). Meistens reichten beim Interview jedoch nur Definitionen aus: Die Interviewenden waren sich bewusst, dass ein wirkliches Verständnis solcher Dinge nur durch ständige Übung erreicht werden kann. Waren sie für Ihre Arbeit nützlich? Natürlich waren sie nützlich.

Schlussfolgerungen

Wir hoffen, dass wir Sie mit der Menge an Technologien, die Sie erlernen müssen, nicht zu sehr erschreckt haben. Man muss nicht alles genau wissen, und außerdem ist es ziemlich interessant, alles herauszufinden. Du hast dich nicht umsonst dafür entschieden, Programmierer zu werden, oder? Lernen Sie also weiterhin Java und bleiben Sie motiviert. Viel Glück! PS: Wenn Sie bereits einen Job gefunden haben und über Ihre Erfahrungen sprechen möchten, freuen wir uns über die Kommentare!
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION