Parlez-moi de votre rôle dans l'équipe : étiez-vous leader, bras droit du leader, aviez-vous de l'expérience pour prendre des décisions par vous-même ? Comment les rôles étaient-ils délégués ?
Frontend
Tâche : parcourir un arbre d'objets (chaque objet possède les champs value et elements) et calculer la somme de toutes les valeurs. Comment le réaliserais-tu ?
Parlez-moi de useCallback — scénario d'utilisation, à quoi sert-il?
Que fait l'opérateur in en TypeScript?
Parlez du travail avec les formulaires en React : composants contrôlés et non contrôlés, avantages et inconvénients de chaque approche.
Qu'est-ce que React.memo ? Quand utilise-t-on useCallback ?
const LiveSearch = () => { const [inputValue, setInputValue] = useState('') const onInputChange = (e) => { setInputValue(e.target.value) search(e.target.value) } return ( <div> <input value={inputValue} onChange={onInputChange} type="text" /> </div> ) } <span> Recherche en cours : <LiveSearch /> </span>
Parlez-moi du Virtual DOM et du mécanisme de reconciliation dans React. Comment React optimise-t-il la comparaison des arbres?
function sum(a, b) { return a + b; } function memo() {}
Comment réaliser une traversée d'arbre sans récursion ? Quelle structure de données peut aider ?
Parlez-moi des étapes du cycle de vie des composants React
// Les données du serveur concernant le prix du produit sont reçues sous la forme: // 12345678 (le prix peut être n'importe quel nombre dans la plage de 1 à [phone]) // il est nécessaire d'écrire une fonction qui convertira le prix en une chaîne formatée comme suit: // 12'345'678
Comment afficher une bannière une seule fois pour un utilisateur authentifié sur tous ses appareils?
Avez-vous déjà travaillé avec Blob ? Comment créer un lien pour télécharger un fichier généré dynamiquement ?
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("chaque rendu 1")); console.log("chaque rendu 2"); useEffect(() => { console.log("chaque rendu 3"); return () => { console.log(4); }; }, [count]); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Incrémenter </button> ); }
const X = { a: 1, b: 2, c: 3, d: 4 } function getProperty(obj, key) { // Tâche : typer la fonction return obj[key] } getProperty(X, 'a') // pas d'erreur getProperty(X, ' ') // erreur : la clé n'est pas une clé valide pour l'objet X getProperty({ name: 'Sergey' }, 'name') // pas d'erreur
Qu'est-ce qu'une fonction de nettoyage (cleanup) dans useEffect ? Quand elle s'exécute-t-elle ? Écrivez-la dans useEffect.
Que se passe-t-il si le type de composant change ? Est-ce qu'une clé identique aidera à conserver l'état ?
Mis à part les méthodes et les types de clés, qu'est-ce que Map a de plus qu'un objet ?
const SomeElement = ({ hasData }) => { if (hasData) { return <div> <DataElement /> <SomeImportantElement /> </div> } return <div> <SomeImportantElement /> </div> }