Über React
React.js ist ein Open-Source-JavaScript-Framework, das sich auf die Erstellung von Benutzeroberflächen konzentriert. Es ist eines der besten Frameworks für die Front-End-Entwicklung, da es Entwicklern ermöglicht, robuste und komplexe Produkte zu erstellen, die sich dennoch einfach in bestehende Anwendungen integrieren lassen.
Entwickler verwenden React, um umfangreiche Webanwendungen zu erstellen, die Daten ändern können, ohne die Seite neu zu laden. Das Hauptziel von React ist es, schnell, skalierbar und benutzerfreundlich zu sein.
Außerdem ist React mit verschiedenen JavaScript-Bibliotheken und -Frameworks kompatibel und wird von einer Reihe bekannter Unternehmen wie Meta (ehemals Facebook), Netflix und anderen verwendet. Nicht zu verwechseln ist es jedoch mit React Native, das hauptsächlich für die Entwicklung plattformübergreifender mobiler Anwendungen verwendet wird.
Die gesamte Entwicklung und Pflege von UI-Komponenten wird von einem React.js-Entwickler übernommen. Sie erstellen Anwendungen und Front-End-Designs, Anwendungskomponenten und Benutzeroberflächen. Und wie jeder Profi in der Softwareentwicklung sind die Besten nicht so leicht zu finden!
React.js-Entwickler-Statistiken
Wenn Sie glauben, dass React.js die richtige Softwarelösung für Ihr Projekt ist, schadet es nicht, einige allgemeine Statistiken über Entwickler zu kennen, die sich mit diesem Framework und anderen kompatiblen Programmiersprachen auskennen.
Laut dem Bericht von Stack Overflow aus dem Jahr 2021 ist React.js jetzt das beliebteste Web-Framework und übertrifft das zweitplatzierte jQuery um fast 6 Prozent. Und diese Daten basieren auf den Antworten von 49941 professionellen Entwicklern, von denen 19864 React als ihr bevorzugtes Programmier-Framework gewählt haben.
Allein die Anzahl der Befragten zeigt, wie viele Entwickler dieses Framework beherrschen, auch wenn es schwierig ist, die Anzahl der React-Entwickler weltweit zu bestimmen. Das bedeutet aber nicht, dass es einen Überschuss an guten React-Entwicklern gibt: Tatsächlich verwenden mehr als 8700 weltweit dieses Framework für ihre Webentwicklungsprojekte.
Und wenn es um die Kosten für die Einstellung eines React-Entwicklers geht, können allein die Stundensätze bis zu 60 Dollar betragen. Ganz zu schweigen von den Kosten für die Stellenausschreibung, die Rekrutierung, das Onboarding, die Überprüfung und die Kosten für die Unterbrechung Ihres Entwicklerteams, bis Sie die beste Person für den Job gefunden haben.
Interview mit einem React.js-Entwickler
Tipps für Ihre Vorauswahl
Der Weg zur Einstellung eines hervorragenden Vollzeit-Entwicklers beginnt mit einem kleinen Vorstellungsgespräch. Bei diesem Gespräch geht es weniger um die technischen Fähigkeiten, sondern vielmehr darum, die Kandidaten auszusortieren, die Sie für unprofessionell halten oder die einfach nicht zur Unternehmenskultur passen.
Unser Head of Recruitment Nadya Pokhyla verwendet einen praktischen Ansatz zur Bewertung von Kandidaten in Pre-Screenings mit einer nützlichen Scorecard.
Ich achte sehr auf ihre Professionalität, Selbstpräsentation und Kommunikationsfähigkeit sowie auf ihre Motivation, ihren Enthusiasmus, ihre Englischkenntnisse und viele andere wichtige Punkte, die wir während des Pre-Screenings bewerten. Ich stelle mir gerne die Frage: 'Würde ich mit dieser Person als Kollege zusammenarbeiten?'
Nadya Pokhyla
Evgenia Kashchuk, Spezialistin für Talentakquise, fügt hinzu:
Nachdem ich viele Vorstellungsgespräche geführt habe, kann ich sagen, dass die wichtigsten nicht-technischen Fähigkeiten Präsentationsfähigkeit (alles beginnt mit einem Anruf bei einem Personalverantwortlichen), Offenheit, Kontaktfreudigkeit, Ehrlichkeit, Neugier und Flexibilität sind.
Evgenia Kaschuk
Die wichtigsten technischen Fähigkeiten, nach denen man bei React.js-Entwicklern sucht
Da die Suche nach den besten React.js-Entwicklern eine ziemlich schwierige (und auch kostspielige!) Aufgabe sein kann, haben wir unsere Recruiter und technischen Interviewer gebeten, uns dabei zu helfen, die wichtigsten Fähigkeiten zu bestimmen, über die sie verfügen sollten, abgesehen von ihren hervorragenden Kenntnissen von React.js selbst und ihrer langjährigen Erfahrung.
Laut dem erfahrenen React-Ingenieur und technischen Interviewer Terri Prifti sind dies die drei wichtigsten technischen Fähigkeiten, die ein React.js-Entwickler haben sollte:
Ein React.js-Entwickler sollte in der Lage sein, HTML + CSS zu schreiben und sich der Prinzipien des responsive Webs bewusst sein. Er sollte auch mit der JSX-Syntax vertraut sein und die Grundlagen der JavaScript-Sprache verstehen (zum Beispiel Datentypen, DOM-Manipulation, "this"-Keyword, Callback-Funktionen).
Terri Prifti
Er fügt hinzu, dass ein guter React-Entwickler vertraut sein sollte mit:
- High Order Components (HOCs);
- Shallow-Rendering-Komponenten;
- In der Lage sein, Prop Drilling zu vermeiden;
- Tests schreiben.
Catherine Fialkova, Expertin für Talentakquise, unterstreicht, dass "ein guter React.js-Entwickler mit HTML-Tags arbeiten, CSS-Selektoren schreiben, das Box-Modell verstehen und wissen sollte, wie man die Border-Box zurücksetzt, und ein Verständnis für Flexbox haben sollte."
Jeder React-Entwickler sollte auch verstehen, wie Git gehandhabt wird und ein Profil auf GitHub oder GitLab haben. JSX ist eine Abstraktion von React. Es ist für einen Entwickler unerlässlich, diese Erweiterung von HTML zu kennen.
Catherine Fialkova
Die wichtigsten nicht-technischen Fähigkeiten von React.js-Entwicklern
Einige andere Qualitäten, die Sie beim ersten Gespräch mit einem Kandidaten berücksichtigen sollten, sind laut Fialkova:
- Klarer und professioneller Kommunikationsansatz;
- Englischkenntnisse der oberen Mittelstufe oder höher;
- Fähigkeit, mit jedem Team gut auszukommen;
- Ambitionen für Führungsaufgaben;
- Fähigkeit, jüngere Kollegen zu unterstützen und anzuleiten;
- Pünktlichkeit, wenn es um die Teilnahme an Sitzungen oder die rechtzeitige Erledigung von Aufgaben geht.
Zu stellende Fragen im Vorstellungsgespräch
- Was sind die Merkmale von React?
Zu erwartende Antwort: Die wichtigsten Eigenschaften von ReactJS sind:
- JSX
- Komponenten
- Einseitige Datenbindung
- Virtuelles DOM
- Vereinfachung
- Leistung
- Warum sollte man React anstelle von anderen Frameworks wie Angular verwenden?
Zu erwartende Antwort: React ist Angular aufgrund seiner virtuellen DOM-Implementierung und Rendering-Optimierungen überlegen. Außerdem ist der Wechsel zwischen den React-Versionen einfach, da man im Gegensatz zu Angular keine Updates nacheinander installieren muss. Und schließlich stehen Entwicklern, die React verwenden, verschiedene vorgefertigte Lösungen zur Verfügung.
- Was ist ein Ereignis in React?
Zu erwartende Antwort: Ein Ereignis ist eine mögliche Aktion, die durch einen Benutzer oder ein vom System generiertes Ereignis ausgelöst werden kann. Zu den Ereignissen gehören Mausklicks, das Laden von Webseiten, das Drücken von Tasten, das Ändern der Fenstergröße und andere Interaktionen.
- Was sind synthetische Ereignisse in React?
Zu erwartende Antwort: Ein Cross-Browser-Wrapper für das native Ereignis des Browsers ist ein synthetisches Ereignis. Es hat die gleiche Schnittstelle wie die nativen Browser-Ereignisse, wie preventDefault() und stopPropagation(). Die Ereignisse sind jedoch universell in allen Browsern einsetzbar.
- Was ist der Unterschied zwischen Hooks und Redux?
Zu erwartende Antwort: React Hooks-Funktionen verwalten den lokalen Komponentenzustand, während Redux den globalen Zustand und Aktionen verwaltet, die versendet werden können.
- Wie verwaltet man die Ordnerstruktur?
Zu erwartende Antwort: React hat keine Regel, wie man Dateien in Ordnern ablegt, aber einige häufigere Ansätze sind die Gruppierung nach Features oder Routen oder die Gruppierung nach Dateitypen.
- Was ist der Lebenszyklus von Komponenten in React?
Zu erwartende Antwort: In React hat jede Komponente einen Lebenszyklus, den Sie in seinen drei Hauptphasen verfolgen und kontrollieren können. Einhängen, Aktualisieren und Aushängen sind die drei Schritte.
- Wie können Sie das erneute Rendern von Komponenten vermeiden?
Zu erwartende Antwort: Um das erneute Rendern jeder Komponente zu vermeiden, sollten Sie den Lebenszyklus shouldComponentUpdate() verwenden.
- Nennen Sie mir drei Vorteile der Verwendung von Hooks in React.
Zu erwartende Antwort: Die Verwendung von React Hooks bietet drei Vorteile: Wiederverwendbarkeit, Lesbarkeit und Testbarkeit.
- Wie oft aktualisiert React useState, und warum?
Zu erwartende Antwort: React verzögert die Aktualisierung von Updates, weil Entwickler useState nutzen, um die Geschwindigkeit durch den Aufbau von Warteschlangen zu erhöhen. Die Kandidaten sollten sich darüber im Klaren sein, dass useState-Updates asynchron erfolgen, anstatt Änderungen am State-Objekt sofort zu implementieren.
- Was ist der größte Vorteil der Verwendung von Flux?
Zu erwartende Antwort: Durch die Verwendung von Flux können Sie kontrollieren, wie Daten durch Ihr Programm fließen. Sie können Datenänderungen effektiver analysieren und Probleme beheben, indem Sie einen unidirektionalen Datenfluss mit vordefinierten Verantwortlichkeiten für jede Komponente (Action, Store und View) einführen.
- Wie erstellt man Refs?
Zu erwartende Antwort: React wird verwendet, um Refs zu erstellen. Sie verwenden das ref-Attribut, um sich nach dem Aufruf von createRef() an React-Elemente anzuhängen. Wenn eine Komponente erstellt wird, werden Refs häufig auf eine Instanzeigenschaft gesetzt, damit sie als Referenzen in der gesamten Komponente verwendet werden können.
- Wie würden Sie die Leistung in einer React-Anwendung optimieren?
Zu erwartende Antwort:
- Indem man den Zustand der Komponente lokal hält, wenn nötig
- Indem man daran denkt, dass React-Komponenten unnötige Neuaufrufe vermeiden sollten
- Durch Code-Splitting mit dynamischem Import
- Durch Reacts Windowing oder Listenvirtualisierung
- Mit Reacts Lazy Image Loading
- Was würden Sie vermeiden, in React zu binden?
Zu erwartende Antwort: Ich kann Pfeilfunktionen in Klasseneigenschaften verwenden, um Bindung in React zu vermeiden. Klasseneigenschaften sind ein neues Feature und um sie zu nutzen, muss ich transform-class-properties aktivieren.
- Erzählen Sie uns von früheren Projekten, an denen Sie gearbeitet haben und die auf React.js aufgebaut waren.
Beispielhafte Antwort: Ich habe an einer Messaging-App/Echtzeit-Chat-App/einem persönlichen Blog/einer mobilen E-Commerce-Anwendung gearbeitet.
Was unterscheidet einen hervorragenden React.js-Entwickler von einem guten?
Wenn es um die fein abgestimmten technischen Details geht, die ein großartiger React-Entwickler haben könnte, schaut Prifti tief in die Details des Codes.
"Ich sehe alle Unterschiede in der Import-Reihenfolge, Objekt-Destrukturierung, Verwendung von memoisierten Komponenten, Vermeidung der Definition von Funktionen innerhalb von Render, Verwendung von Objekt-Literalen."
Für Catherine ist neben der Beherrschung des erwarteten Tech-Stacks das wichtigste Kriterium, dass der Entwickler arbeiten kann, ohne beaufsichtigt und an seine Aufgaben erinnert zu werden:
"Sie sollten in der Lage sein, sich und ihre Arbeit ohne ständige Aufsicht zu präsentieren. Extrapunkte gibt es, wenn sie mehr als nur React-bezogene Aufgaben übernehmen, die Möglichkeit haben, eigene Entscheidungen zu treffen und Lust haben, Neues zu lernen."
Talentierte React.js-Entwickler jetzt verfügbar
Alexey K.
Fullstack-Entwickler
- JavaScript
- React.js
- •••
Alexey ist ein erfahrener Softwarearchitekt, der SPAs mit React, Vue und Angular entwickelt.
George B.
Fullstack-Ingenieur
- React Native
- React.js
- •••
Full-Stack Web-/Mobile-Entwickler mit Fokus auf React.js/Native und Node.js, mit mehr als 8 Jahren Berufserfahrung.
Arif Emre Ç.
Senior Frontend-Entwickler
- JavaScript
- React.js
- •••
Talentierter Frontend-Entwickler mit über sieben Jahren Erfahrung bei IT-Services & -Lösungen und Design im Bank- und Versicherungswesen.
Nurullah A.
Frontend-Entwickler
- React.js
- Angular
- •••
Nurullah ist ein Front-End-Entwickler mit Erfahrung in React.js und Angular. Insgesamt verfügt er über fünf Jahre Berufserfahrung.
Warum React.js verwenden?
React.js (oder einfach React) ist eine Library mit vorgefertigtem JavaScript-Code für gängige interaktive UI-Komponenten von Webanwendungen und Webseiten. Die React.js-Library ist Open-Source und wird von einer Gemeinschaft von Mitwirkenden gepflegt. Sie ist eines der beliebtesten Front-End-Entwicklungstools mit einem großen Ökosystem von Code-Paketen.