Domande per il colloquio di lavoro come Junior React Native Developer: Guida completa

Milad Bonakdar
Autore
Padroneggia i fondamenti dello sviluppo React Native con domande essenziali per il colloquio di lavoro che coprono i concetti base di React, i componenti, la navigazione, la gestione dello stato e i concetti specifici per il mobile, pensate per gli sviluppatori junior.
Introduzione
React Native consente agli sviluppatori di creare applicazioni mobile native utilizzando JavaScript e React. Con un unico codebase, puoi creare app sia per iOS che per Android, rendendolo una scelta potente per lo sviluppo mobile cross-platform.
Questa guida copre le domande essenziali per i colloqui per Junior React Native Developer. Esploreremo i fondamenti di React, i componenti, gli hook, la navigazione, la gestione dello stato e i concetti specifici per il mobile per aiutarti a prepararti per il tuo primo ruolo come sviluppatore React Native.
Fondamenti di React (6 Domande)
1. Cos'è React Native e come differisce da React?
Risposta:
- React: Libreria JavaScript per la creazione di interfacce utente web
- React Native: Framework per la creazione di app mobile native utilizzando React
- Differenze chiave:
- React Native esegue il rendering su componenti nativi (non DOM)
- Utilizza API native invece di API web
- Approccio di styling diverso (nessun CSS, utilizza StyleSheet)
- Codice specifico per piattaforma per iOS e Android
Rarità: Molto Comune Difficoltà: Facile
2. Quali sono i componenti principali in React Native?
Risposta: React Native fornisce componenti integrati che mappano gli elementi dell'interfaccia utente nativa:
- View: Componente contenitore (come
divnel web) - Text: Visualizza il testo (tutto il testo deve essere nel componente
Text) - Image: Visualizza immagini
- ScrollView: Contenitore scorrevole
- TextInput: Campo di input di testo
- TouchableOpacity/Pressable: Elementi toccabili
- FlatList: Rendering efficiente delle liste
- Button: Componente pulsante di base
Rarità: Molto Comune Difficoltà: Facile
3. Spiega la differenza tra View e ScrollView.
Risposta:
- View: Contenitore statico. Il contenuto oltre i limiti dello schermo non è scorrevole.
- ScrollView: Contenitore scorrevole. Esegue il rendering di tutti i figli contemporaneamente (può richiedere molta memoria per le liste di grandi dimensioni).
- Quando usare:
- View: Per layout che si adattano allo schermo
- ScrollView: Per piccole quantità di contenuto scorrevole
- FlatList: Per liste di grandi dimensioni (esegue il rendering solo degli elementi visibili)
Rarità: Molto Comune Difficoltà: Facile
4. Cosa sono gli Hook di React e quali sono quelli più comunemente usati?
Risposta: Gli Hook sono funzioni che ti consentono di utilizzare le funzionalità di stato e ciclo di vita nei componenti funzionali.
- Hook comuni:
- useState: Gestisci lo stato del componente
- useEffect: Gestisci gli effetti collaterali (recupero dati, sottoscrizioni)
- useContext: Accedi ai valori del contesto
- useCallback: Memorizza le funzioni
- useMemo: Memorizza calcoli costosi
- useRef: Fa riferimento agli elementi DOM o persiste i valori
Rarità: Molto Comune Difficoltà: Facile
5. Spiega l'hook useEffect e il suo array di dipendenze.
Risposta:
useEffect esegue effetti collaterali dopo il rendering. L'array di dipendenze controlla quando viene eseguito:
- Nessun array: Viene eseguito dopo ogni rendering
- Array vuoto
[]: Viene eseguito una volta dopo il rendering iniziale - Con dipendenze
[dep1, dep2]: Viene eseguito quando le dipendenze cambiano
Rarità: Molto Comune Difficoltà: Media
6. Cos'è il DOM virtuale e come lo utilizza React?
Risposta: Il DOM virtuale è una rappresentazione JavaScript leggera del DOM reale.
- Processo:
- Quando lo stato cambia, React crea un nuovo albero DOM virtuale
- Lo confronta con il DOM virtuale precedente (diffing)
- Calcola le modifiche minime necessarie
- Aggiorna solo le parti modificate nel DOM reale
- Vantaggi: Aggiornamenti efficienti, prestazioni migliori
Rarità: Comune Difficoltà: Facile
Componenti e Props (4 Domande)
7. Qual è la differenza tra Props e State?
Risposta:
- Props:
- Passate dal genitore al figlio
- Sola lettura (immutabili)
- Utilizzate per la configurazione del componente
- State:
- Gestito all'interno del componente
- Mutabile (può essere cambiato)
- Utilizzato per dati dinamici
Rarità: Molto Comune Difficoltà: Facile
8. Cosa sono i Componenti Funzionali rispetto ai Componenti Classe?
Risposta:
- Componenti Funzionali:
- Sintassi più semplice
- Utilizzano gli hook per lo stato e il ciclo di vita
- Preferiti in React moderno
- Componenti Classe:
- Approccio più vecchio
- Utilizzano
this.statee i metodi del ciclo di vita - Ancora supportati ma meno comuni
Rarità: Comune Difficoltà: Facile
9. Come passi i dati dal componente figlio al componente genitore?
Risposta: Utilizza le funzioni di callback passate come props.
Rarità: Molto Comune Difficoltà: Facile
10. Cos'è la prop key e perché è importante?
Risposta:
La prop key aiuta React a identificare quali elementi sono stati modificati, aggiunti o rimossi nelle liste.
- Scopo: Ottimizzare le prestazioni di rendering
- Requisiti: Deve essere univoca tra i fratelli, stabile (non utilizzare l'indice se la lista può cambiare)
Rarità: Molto Comune Difficoltà: Facile
Stili e Layout (3 Domande)
11. Come stili i componenti in React Native?
Risposta: React Native utilizza oggetti JavaScript per lo styling, non CSS.
- API StyleSheet: Crea stili ottimizzati
- Stili Inline: Oggetti di stile diretti (meno performanti)
- Flexbox: Sistema di layout predefinito
Rarità: Molto Comune Difficoltà: Facile
12. Spiega Flexbox in React Native.
Risposta: Flexbox è il sistema di layout principale in React Native.
- Proprietà principali:
- flexDirection:
rowocolumn(predefinito:column) - justifyContent: Allinea lungo l'asse principale
- alignItems: Allinea lungo l'asse trasversale
- flex: Dimensionamento proporzionale
- flexDirection:
Rarità: Molto Comune Difficoltà: Media
13. Qual è la differenza tra margin e padding?
Risposta:
- Padding: Spazio all'interno del componente (tra contenuto e bordo)
- Margin: Spazio all'esterno del componente (tra componente e vicini)
Rarità: Comune Difficoltà: Facile
Navigazione (3 Domande)
14. Cos'è React Navigation e come lo usi?
Risposta: React Navigation è la libreria di navigazione più popolare per React Native.
- Tipi:
- Stack Navigator: Stack di schermate (push/pop)
- Tab Navigator: Tab inferiori
- Drawer Navigator: Menu a cassetto laterale
Rarità: Molto Comune Difficoltà: Media
15. Come passi i parametri tra le schermate?
Risposta:
Utilizza la funzione navigate con un secondo parametro per i dati.
Rarità: Molto Comune Difficoltà: Facile
16. Cosa sono le opzioni di navigazione e come personalizzi gli header?
Risposta: Le opzioni di navigazione controllano l'aspetto e il comportamento dello schermo.
Rarità: Comune Difficoltà: Facile
Dati e Archiviazione (4 Domande)
17. Come recuperi i dati da un'API in React Native?
Risposta:
Utilizza l'API fetch o librerie come Axios.
Rarità: Molto Comune Difficoltà: Media
18. Cos'è AsyncStorage e come lo usi?
Risposta: AsyncStorage è un sistema di archiviazione asincrono chiave-valore semplice per React Native.
- Casi d'uso: Preferenze utente, token, piccoli dati
- Non per: Set di dati di grandi dimensioni, query complesse (utilizzare invece SQLite)
Rarità: Molto Comune Difficoltà: Facile
19. Qual è la differenza tra FlatList e ScrollView?
Risposta:
- ScrollView:
- Esegue il rendering di tutti i figli contemporaneamente
- Buono per liste piccole
- Richiede molta memoria per liste grandi
- FlatList:
- Esegue il rendering solo degli elementi visibili (lazy loading)
- Efficiente per liste grandi
- Ottimizzazioni integrate
Rarità: Molto Comune Difficoltà: Facile
20. Come gestisci i form e l'input dell'utente?
Risposta: Utilizza componenti controllati con stato.
Rarità: Molto Comune Difficoltà: Media



