Junior React Native Entwickler: Interviewfragen und Antworten

Milad Bonakdar
Autor
Üben Sie Junior-React-Native-Interviewfragen zu Komponenten, Hooks, Navigation, API-Aufrufen, Listen, AsyncStorage und mobilen Grundlagen.
Einführung
In einem Junior-React-Native-Interview wird meist geprüft, ob Sie einfache mobile Screens mit React bauen, natives Rendering erklären, State mit Hooks verwalten, zwischen Screens navigieren, API-Daten laden und nicht sensible lokale Daten speichern können. Eine starke Antwort bleibt praktisch: welches Werkzeug Sie verwenden, wann Sie es vermeiden und welchen Trade-off es auf iOS und Android gibt.
Nutzen Sie diesen Leitfaden, um die Fragen zu üben, die in einer ersten React-Native-Rolle am wahrscheinlichsten sind. Konzentrieren Sie sich auf React-Grundlagen, Kernkomponenten, Navigation, Formulare, Listen, API-Aufrufe, Storage und mobiles Debugging statt auf auswendig gelernte Library-Details.
React Grundlagen (6 Fragen)
1. Was ist React Native und wie unterscheidet es sich von React?
Antwort:
- React: JavaScript-Bibliothek zum Erstellen von Web-Benutzeroberflächen
- React Native: Framework zum Erstellen nativer mobiler Apps mit React
- Hauptunterschiede:
- React Native rendert auf native Komponenten (nicht DOM)
- Verwendet native APIs anstelle von Web-APIs
- Unterschiedlicher Styling-Ansatz (kein CSS, verwendet StyleSheet)
- Plattformspezifischer Code für iOS und Android
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
2. Was sind die Kernkomponenten in React Native?
Antwort: React Native bietet integrierte Komponenten, die nativen UI-Elementen zugeordnet sind:
- View: Container-Komponente (wie
divim Web) - Text: Text anzeigen (gesamter Text muss in der
Text-Komponente stehen) - Image: Bilder anzeigen
- ScrollView: Scrollbarer Container
- TextInput: Texteingabefeld
- TouchableOpacity/Pressable: Berührbare Elemente
- FlatList: Effizientes Listen-Rendering
- Button: Grundlegende Button-Komponente
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
3. Erklären Sie den Unterschied zwischen View und ScrollView.
Antwort:
- View: Statischer Container. Inhalte außerhalb der Bildschirmgrenzen sind nicht scrollbar.
- ScrollView: Scrollbarer Container. Rendert alle Kinder auf einmal (kann speicherintensiv für große Listen sein).
- Wann zu verwenden:
- View: Für Layouts, die auf den Bildschirm passen
- ScrollView: Für kleine Mengen scrollbaren Inhalts
- FlatList: Für große Listen (rendert nur sichtbare Elemente)
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
4. Was sind React Hooks und welche werden am häufigsten verwendet?
Antwort: Hooks sind Funktionen, mit denen Sie Status- und Lebenszyklusfunktionen in funktionalen Komponenten verwenden können.
- Häufige Hooks:
- useState: Verwalten des Komponentenstatus
- useEffect: Behandeln von Nebenwirkungen (Datenabruf, Abonnements)
- useContext: Zugriff auf Kontextwerte
- useCallback: Memoisiert Funktionen
- useMemo: Memoisiert teure Berechnungen
- useRef: Referenziert DOM-Elemente oder speichert Werte
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
5. Erklären Sie den useEffect-Hook und sein Abhängigkeitsarray.
Antwort:
useEffect führt nach dem Rendern Nebenwirkungen aus. Das Abhängigkeitsarray steuert, wann es ausgeführt wird:
- Kein Array: Wird nach jedem Rendern ausgeführt
- Leeres Array
[]: Wird einmal nach dem ersten Rendern ausgeführt - Mit Abhängigkeiten
[dep1, dep2]: Wird ausgeführt, wenn sich Abhängigkeiten ändern
Seltenheit: Sehr verbreitet Schwierigkeit: Mittel
6. Was ist das Virtual DOM und wie verwendet React es?
Antwort: Das Virtual DOM ist ein React-Konzept aus der Webentwicklung: React hält einen leichtgewichtigen UI-Baum, vergleicht ihn nach State-Änderungen und aktualisiert nur die geänderten Teile. In React Native gilt dieselbe Reconciliation-Idee, aber das Ergebnis sind native Views, keine Browser-DOM-Knoten.
- So können Sie es im Interview erklären:
- State-Änderungen lösen ein erneutes Rendern der betroffenen Komponenten aus
- React vergleicht den neuen Komponentenbaum mit dem vorherigen
- React Native wendet die nötigen Änderungen auf native UI-Komponenten an
- Optimieren Sie weiter mit stabilen Keys, sinnvoll platziertem State und Memoisierung nur bei echten Re-Render-Problemen
- Wichtige Korrektur: React Native aktualisiert kein HTML und kein Browser-DOM.
Seltenheit: Häufig Schwierigkeit: Leicht
Komponenten & Props (4 Fragen)
7. Was ist der Unterschied zwischen Props und State?
Antwort:
- Props:
- Von Eltern an Kinder weitergegeben
- Schreibgeschützt (unveränderlich)
- Wird für die Komponentenkonfiguration verwendet
- State:
- Innerhalb der Komponente verwaltet
- Veränderlich (kann geändert werden)
- Wird für dynamische Daten verwendet
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
8. Was sind funktionale Komponenten vs. Klassenkomponenten?
Antwort:
- Funktionale Komponenten:
- Einfachere Syntax
- Verwenden Sie Hooks für Status und Lebenszyklus
- Bevorzugt im modernen React
- Klassenkomponenten:
- Älterer Ansatz
- Verwenden Sie
this.stateund Lebenszyklusmethoden - Wird weiterhin unterstützt, ist aber weniger verbreitet
Seltenheit: Häufig Schwierigkeit: Leicht
9. Wie übergeben Sie Daten von einer Kind- an eine Elternkomponente?
Antwort: Verwenden Sie Callback-Funktionen, die als Props übergeben werden.
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
10. Was ist der key-Prop und warum ist er wichtig?
Antwort:
Der key-Prop hilft React zu identifizieren, welche Elemente in Listen geändert, hinzugefügt oder entfernt wurden.
- Zweck: Optimieren der Rendering-Leistung
- Anforderungen: Muss unter Geschwistern eindeutig und stabil sein (verwenden Sie keinen Index, wenn sich die Liste ändern kann)
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
Styling & Layout (3 Fragen)
11. Wie gestalten Sie Komponenten in React Native?
Antwort: React Native verwendet JavaScript-Objekte für das Styling, nicht CSS.
- StyleSheet API: Erstellen Sie optimierte Stile
- Inline Styles: Direkte Style-Objekte (weniger performant)
- Flexbox: Standard-Layoutsystem
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
12. Erklären Sie Flexbox in React Native.
Antwort: Flexbox ist das primäre Layoutsystem in React Native.
- Haupteigenschaften:
- flexDirection:
rowodercolumn(Standard:column) - justifyContent: Ausrichten entlang der Hauptachse
- alignItems: Ausrichten entlang der Querachse
- flex: Proportionale Größenanpassung
- flexDirection:
Seltenheit: Sehr verbreitet Schwierigkeit: Mittel
13. Was ist der Unterschied zwischen margin und padding?
Antwort:
- Padding: Raum innerhalb der Komponente (zwischen Inhalt und Rahmen)
- Margin: Raum außerhalb der Komponente (zwischen Komponente und Nachbarn)
Seltenheit: Häufig Schwierigkeit: Leicht
Navigation (3 Fragen)
14. Was ist React Navigation und wie verwenden Sie es?
Antwort: React Navigation ist die beliebteste Navigationsbibliothek für React Native.
- Typen:
- Stack Navigator: Bildschirmstapel (Push/Pop)
- Tab Navigator: Untere Tabs
- Drawer Navigator: Seitenmenü
Seltenheit: Sehr verbreitet Schwierigkeit: Mittel
15. Wie übergeben Sie Parameter zwischen Bildschirmen?
Antwort:
Verwenden Sie die Funktion navigate mit einem zweiten Parameter für Daten.
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
16. Was sind Navigationsoptionen und wie passen Sie Header an?
Antwort: Navigationsoptionen steuern das Erscheinungsbild und Verhalten des Bildschirms.
Seltenheit: Häufig Schwierigkeit: Leicht
Daten & Speicherung (4 Fragen)
17. Wie rufen Sie Daten von einer API in React Native ab?
Antwort:
Verwenden Sie die fetch-API oder Bibliotheken wie Axios.
Seltenheit: Sehr verbreitet Schwierigkeit: Mittel
18. Was ist AsyncStorage und wie verwenden Sie es?
Antwort: AsyncStorage ist ein asynchroner Key-Value-Speicher für kleine, nicht sensible Daten.
- Gute Anwendungsfälle: Theme-Auswahl, Onboarding-Flags, gecachte JSON-Daten, einfache Einstellungen
- Vermeiden für: Auth-Tokens, API-Schlüssel, Passwörter, große Datenmengen und Daten mit komplexen Abfragen
- Für sensible Daten: Nutzen Sie plattformgestützten sicheren Speicher wie iOS Keychain oder verschlüsselten Android-Speicher über eine gepflegte Library
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
19. Was ist der Unterschied zwischen FlatList und ScrollView?
Antwort:
- ScrollView:
- Rendert alle Kinder auf einmal
- Gut für kleine Listen
- Speicherintensiv für große Listen
- FlatList:
- Rendert nur sichtbare Elemente (Lazy Loading)
- Effizient für große Listen
- Integrierte Optimierungen
Seltenheit: Sehr verbreitet Schwierigkeit: Leicht
20. Wie behandeln Sie Formulare und Benutzereingaben?
Antwort: Verwenden Sie gesteuerte Komponenten mit Status.
Seltenheit: Sehr verbreitet Schwierigkeit: Mittel


