Qu'est-ce qu'une fonction pure ? Quand une fonction est-elle pure ? Quelles sont les effets secondaires ?
Frontend
Étant donné le fragment de code suivant : ```typescript let info = { name: "Alex", skill: ["git", "react", "read"], }; let started = (info: any) => { let { name, skill } = info; (name = "Alex Pool"), skill.push("delete"); return { name, skill, online: true, }; }; ``` Explique ce que la fonction `started` fait avec l'objet `info` et décris la sortie de l'appel à `started(info)`. Discute également si l'objet `info` original est modifié après l'appel à `started(info)`.
Comment s'est déroulée la revue de code dans l'équipe ? Y avait-il un règlement ? Sur quoi portait l'attention ?
Parlez-moi des étapes critiques du rendu du navigateur
Les paramètres dans la fonction sont-ils passés par référence ou par valeur?
Le parsing de HTML et CSS se fait-il de manière séquentielle ou parallèle?
Parle-moi de la boucle d'événements : à quoi elle sert, comment elle fonctionne
Qu'est-ce que le pseudo-tableau arguments ? En quoi diffère-t-il d'un tableau normal ?
Qu'est-ce que la récursion ? Quelles sont ses règles ? À quoi sert-elle ?
Qu'est-ce que la réconciliation React ? Comment ça fonctionne ? Selon quels critères React décide-t-il de mettre à jour ou de remonter un composant ?
As-tu configuré les pipelines CI/CD, linters, prettier, hooks pre-commit — tu les as initiés toi-même ou la tâche est venue d'en haut?
À quel moment useEffect et useLayoutEffect sont-ils appelés?
Parlez-moi de vous et de votre expérience professionnelle
// Promise.resolve() // .then(() => console.log(1)) // // .then(() => console.log(2)) // // Promise.resolve() // .then(() => console.log(11)) // // .then(() => console.log(22)) //
Quelle sera la sortie du code suivant? ```javascript setTimeout(() => { console.log('B') }, 0) Promise.resolve().then(() => { console.log('C') }) Promise.resolve().then(() => { console.log('D') }) console.log('E') ```
Qu'est-ce qui a changé dans React 18 lors du processus de Reconciliation?
À quoi sert React ? Quels problèmes résout-il ? Quand est-il superflu ?
fonction recursiveFunction(N) { let compteur = 0; if (N > 0) { compteur = compteur + 1; recursiveFunction(N - 1); } // console.log(compteur) } recursiveFunction(3); // 3 3 3 ? Expliquez quelle sera la sortie de la fonction et pourquoi. Identifiez également tout problème avec l'implémentation actuelle de la fonction récursive et suggérez comment la corriger pour compter et enregistrer correctement le nombre d'appels récursifs.
import "./styles.css"; import React from "react"; const getData = () => { return Array.from({ length: 50 }, (el, idx) => ({ value: Math.random(), label: `ligne ${idx + 1}`, })); }; export default function App() { const [data, setData] = React.useState(getData()); const handleUpdate = () => { setData((prev) => { return prev.map((row, i) => i === 0 ? { ...row, value: Math.random() } : row ); }); }; return ( <div> <h1>Application de Liste</h1> <Button onClick={handleUpdate}>mettre à jour `ligne 1`</Button> {data.map((row) => { return <Row key={row.label} label={row.label} value={row.value} />; })} </div> ); }
Emotion et styled-components génèrent des styles en runtime — est-ce un problème ? Quand cela commence-t-il à poser problème ? Quelles sont les alternatives avec de meilleures performances ?