Fünf Java-Fähigkeiten, die definitiv bei einem Interview im Jahr 2022 getestet werden / Sudo Null IT News

Durch Daten Habr.Careers für Juni, am häufigsten unter allen IT-Spezialisten, suchten russische Unternehmen nach Backend-Entwicklern. Gleichzeitig ist die beliebteste Programmiersprache, in der das Backend implementiert ist, Java. Damit beträgt der Anteil der offenen Stellen für Java-Entwickler an allen offenen Stellen im Backend mehr als 35 %.

Daniil Pilipenko, Program Director der Skillbox Programming Backend Development Department, Director des SymbioWay IT Specialist Recruitment Center, erzählte, welche Fähigkeiten ein Junior-Java-Entwickler zeigen muss, um ein Vorstellungsgespräch erfolgreich zu bestehen.

Fähigkeit, einfach zu wartenden Code zu schreiben

Die Schlüsselqualifikation eines jeden Entwicklers, einschließlich Java, ist die Fähigkeit, sauberen Code zu schreiben. Je sauberer der Code ist, desto einfacher ist es für andere Entwickler, ihn zu verstehen und Änderungen daran vorzunehmen. Hier sind die typischsten Anzeichen für sauberen Code:

  • Freundliche Variablennamen
    Variablen sollten so benannt werden, dass klar ist, was sie enthalten. Beispielsweise könnte eine Variable, die den Geldbetrag darstellt, moneyAmount genannt werden. Namen wie a, b oder c sollten nicht verwendet werden.

  • Lange Methoden vermeiden
    Die Kürze macht den Code leichter lesbar, also halten Sie Methoden nicht länger als 20 Zeilen. Methoden mit mehr als drei Parametern sollten Sie noch nicht erstellen. Kompakte Methoden werden einfach anzuwenden, zu testen und zu modifizieren sein.

  • Struktur von Klassen und Methoden
    Die Namen von Klassen, Methoden und die Struktur der Klassen selbst müssen klar und in Übereinstimmung mit den Prinzipien des objektorientierten Designs und den Prinzipien von SOLID erstellt werden.

  • Mindestkommentare
    Der Code sollte ohne Kommentare verständlich sein und ihre Mindestanzahl enthalten. Dann muss der Entwickler bei der Arbeit nicht in ein langes Studium der Kommentare eintauchen und diese aktualisieren. Bei Code mit vielen Kommentaren kommt es oft vor, dass der Code selbst geändert wird, die Kommentare aber alt bleiben.

  • Aufbau nach den Regeln des Frameworks
    Die Anwendung muss gemäß den Regeln des Frameworks, auf dem dieser Code geschrieben ist, nach Dateien und Ordnern strukturiert sein. Wenn Sie Code im Spring-Framework schreiben, sollten Controller so flach wie möglich sein und ein Minimum an Code enthalten, und die Hauptlogik sollte in Dienste verschoben werden. Außerdem müssen Sie nur über die Repository-Klassen mit der Datenbank arbeiten – nicht in Diensten oder im Controller, und Thymeleaf-Vorlagen müssen separat platziert werden. Wenn Sie alle diese Anforderungen erfüllen, wird die Suchzeit für einen beliebigen Code in der Anwendung auf wenige Sekunden reduziert. Wenn in der Anwendung ein Fehler auftritt, kann der Entwickler schnell die Klasse und Methode finden, die behoben werden müssen.

  • Niedrige Verschachtelung
    Fragmente mit einem hohen Grad an Anweisungsverschachtelung machen den Code schlecht gepflegt. Jede weitere Verschachtelungsebene führt zu einer unnötigen Belastung der Entwickler beim Lesen. Wenn Ihr Code eine if-Anweisung in einer Methode hat, hat er eine Schleife, er hat eine andere if-Anweisung, und darin gibt es einen switch…case, dann muss dieser Code umgeschrieben und weniger verschachtelt werden.

Um die Fähigkeit zum Schreiben von unterstütztem Code zu testen, kann ihnen beim Vorstellungsgespräch eine kleine Aufgabe für das sogenannte Live-Codieren gestellt werden – das Schreiben von Code in Echtzeit unter Anleitung. Derjenige, der den Kandidaten interviewt, bewertet zwei Faktoren: die Gesundheit und Wartbarkeit des geschriebenen Codes. Sie achten normalerweise auch auf die Arbeitsgeschwindigkeit – die Zeit, die der Kandidat brauchte, um das Problem zu lösen.

Kenntnisse des Spring-Frameworks

Dieses Framework wird in den meisten modernen Java-Webanwendungen verwendet. Jeder unerfahrene Java-Entwickler sollte verstehen, wie man sie erstellt. Wichtig zu wissen ist zunächst, dass es sich bei Spring Boot um eine spezielle Version des Spring-Frameworks handelt, mit der Sie schnell und bequem Webanwendungen erstellen können.

Bei Vorstellungsgesprächen fragen sie oft nach der Struktur von Anwendungen auf diesem Framework, nach ihrer Konfiguration, nach der Verarbeitung von Anfragen und der Generierung von Antworten in Controllern, der Arbeit mit Datenbanken und Vorlagen, der Erstellung und Nutzung von Diensten. Darüber hinaus kann ich vor dem Vorstellungsgespräch nach Beispielen für Spring-Webanwendungscodes fragen, die vom Bewerber geschrieben wurden.

Fähigkeit, mit Java-Arrays und -Sammlungen zu arbeiten

Ein unerfahrener Entwickler sollte den Unterschied zwischen einem Array und einer Sammlung verstehen, in der Lage sein, Arrays zu erstellen und zu ändern und mit der Arrays-Klasse zu arbeiten. Es ist auch wichtig, die Haupttypen von Sammlungen zu kennen – ArrayList, HashSet und HashMap. Es lohnt sich, die Funktionsmechanismen von List, Set und Map zu verstehen: Auf diese Weise können Sie die Sammlung auswählen, die für die Lösung einer bestimmten Aufgabe optimal ist.

Auch Kenntnisse anderer Collections, die ein komfortables Arbeiten mit Elementmengen ermöglichen, sind im Vorstellungsgespräch von Vorteil – davon gibt es viele in Java. Zum Beispiel die Collections-Klasse kennen lernen, die über eine große Auswahl an Tools zum Arbeiten mit Collections verfügt.

Verstehen Sie, wie Sammlungen funktionieren. Beim Vorstellungsgespräch fragen sie beispielsweise, was passiert, wenn zwei verschiedene Objekte mit demselben Hash-Code zum HashSet hinzugefügt werden. Dies ist eine wichtige Fähigkeit, da die Wahl der Sammlungsklasse die Geschwindigkeit der implementierten Anwendung stark beeinflussen kann.

Kenntnisse der Abfragesprache SQL

Nahezu jede Webanwendung verwendet eine Datenbank (DB), meistens eine relationale. Solche Datenbanken bestehen aus Tabellen, die Spalten (Felder) und Zeilen (Datensätze) haben. Felder können unterschiedlichen Typs sein, z. B. Zahlen, Zeichenfolgen, Datumsangaben, JSON usw. Tabellen können auch verlinkt werden. Um mit relationalen Datenbanken zu arbeiten, verwenden Entwickler die SQL-Abfragesprache.

Mit SQL können Sie Daten aus Tabellen abrufen, dort hinzufügen, ändern und löschen, außerdem können Sie Daten filtern und sortieren, wenn sie angezeigt werden. Darüber hinaus können Sie mit SQL die Datenbanken selbst verwalten – sie erstellen, ihnen neue Tabellen hinzufügen, ihre Struktur ändern oder sie löschen sowie die Beziehungen zwischen Tabellen verwalten.

Der Entwickler muss in der Lage sein, Datenbanken, Tabellen und einzelne SQL-Abfragen zu optimieren, um die Arbeit mit der Datenbank schneller und effizienter zu gestalten. Während des Vorstellungsgesprächs werden Sie möglicherweise gebeten, eine Art SQL-Abfrage zu schreiben oder beispielsweise darüber zu sprechen, wie verschiedene Arten von JOIN-Operatoren funktionieren.

Kenntnisse der Prinzipien der Client-Server-Interaktion

Das Format der Interaktion zwischen dem Browser und der betrachteten Webseite mit dem Server ist normalerweise klar geregelt. Es verwendet das HTTP-Protokoll oder seine sichere HTTPS-Version. Sie beschreiben die Formate von Anfragen an den Server und seine Antworten.

Der Entwickler muss das HTTP-Protokoll zumindest auf oberster Ebene kennen. Insbesondere muss er die Struktur von Requests und Responses verstehen. Sie bestehen aus einem Request/Response-String, Headern und einem Body. Die Anforderungszeile enthält die Adresse der Ressource und die Anforderungsmethode, die Antwortzeile enthält den Antwortcode in numerischem Format.

Es ist wichtig, beliebte Antwortcodes zu kennen. Beispielsweise sind 2xx Erfolgscodes, 3xx Umleitungscodes, 4xx Client-Fehlercodes und 5xx Server-Fehlercodes. Betrachten Sie den beliebten Fehler „Seite nicht gefunden“, den ein Browser Ihnen geben kann – dies ist der 404-Antwortcode.

Das Interview kann auch das Wissen über den REST-Standard testen. REST ist ein Add-on zum HTTP-Protokoll. REST beschreibt die Regeln für die Client-Server-Interaktion von Webanwendungen, nach denen Operationen mit Entitäten bestimmten HTTP-Methoden entsprechen. Beispielsweise ist die GET-Methode für das Abrufen einer Ressource verantwortlich, die POST-Methode für das Erstellen, PUT für eine vollständige Änderung und PATCH für eine teilweise Änderung.

REST regelt auch Request-Pfade: Wenn man beispielsweise mit News arbeitet, kann deren Liste mit einem GET /news-Request bezogen werden. Wenn ein Entwickler eine Nachricht erstellen möchte, muss er die POST /news-Anfrage verwenden. Um eine bestimmte Nachricht zu erhalten, müssen Sie eine Anfrage GET /news/id eingeben, wobei id die Identifikationsnummer dieser Nachricht ist.

Fazit

Natürlich können die Fragen im Vorstellungsgespräch von Unternehmen zu Unternehmen variieren. Sie können beispielsweise Ihr Wissen über die Prinzipien der objektorientierten Programmierung testen und komplexere Fragen zu SQL und HTTP stellen. Ein unerfahrener Java-Entwickler sollte auch zumindest allgemein verstehen, wie Layout funktioniert – HTML- und CSS-Technologien.

Der Bewerber sollte auch verstehen, wie man mit dem Git-Versionskontrollsystem, Task-Trackern und der Bash-Befehlszeile arbeitet. Diese Fähigkeiten sind grundlegend, sie ermöglichen Ihnen, die Arbeit in einem neuen Team und Unternehmen „reibungslos“ zu beginnen. Diejenigen, die über diese Fähigkeiten verfügen, beginnen sehr schnell nach dem Eintritt in einen neuen Job, ihrem Arbeitgeber zu nützen.

Similar Posts

Leave a Reply

Your email address will not be published.