type Foo = { a: string; b: number; c: null; d: boolean; } // Clés de Foo type FooKeys = keyof Foo // Comment déclarer un nouveau type basé sur FooKeys, mais sans les valeurs b et d? type FooKeysWithoutBD
Frontend
De quoi dépend le re-rendu d'un composant en React?
Comment déclarer un nouveau type basé sur Foo, mais sans les champs a et c, sans utiliser Omit?
Comment faire fonctionner la construction try/catch avec Promise ? Comment rendre Promise synchrone via async/await ?
Dans quel ordre s'affichera console.log et pourquoi ? Explique l'ordre d'exécution du code synchrone et asynchrone (Event Loop, tâches macro et micro).
Comment faire en sorte qu'une fonction avec un générique n'accepte qu'une chaîne ou une instance de la classe Bar, et dans d'autres cas, génère une erreur en TypeScript?
Quelle était l'approche pour écrire le CSS ? Connais-tu l'approche CSS-in-JS ?
function delayFunc(fn, delay) { return function c(...args) { return new Promise((resolve) => { setTimeout(() => { fn(...args) }, delay * 1000) }) } } function sum(a, b) { console.log(a + b) } const delayedSum = delayFunc(sum, 5); await delayedSum(3, 2); //dans 5 secondes affichera 5 await delayedSum(5, 3); //après 5 secondes du précédent affichera 8
Pourquoi passer une fonction (c => c + 1) à setCount au lieu de simplement setCount(tick + 1) ?
<div class="list"> <div class="item">1</div> <div class="item">2</div> ... <div class="item">N-1</div> <div class="item">N</div> </div>
Peut-on réaliser la même chose avec setTimeout au lieu de setInterval?
Qu'est-ce qu'un tableau de dépendances dans useEffect ? Que se passe-t-il si on passe un tableau vide ou si on ne le passe pas du tout ?
Parle-moi de la tâche la plus difficile de toute ton expérience.
Y a-t-il une fonction foo qui accepte des arguments de type any et les retourne ? Comment faire pour que le type de résultat ne soit pas any, mais corresponde au type de l'argument passé ? Utilise des Génériques.
Il y a un composant App et un composant Rand d'une bibliothèque externe, qui affiche un nombre aléatoire. Il faut faire en sorte que toutes les 3 secondes, le nombre aléatoire change, et afficher un compteur du nombre de changements. Tout cela uniquement dans le composant App.
// Il est nécessaire de sortir la logique de re-render dans un hook externe séparé, // qui permet de travailler avec le timer depuis l'extérieur (par exemple, l'arrêter après 10 secondes). // Il faut créer un nouveau composant RandOnce basé sur le composant Rand, // qui, lorsqu'il est utilisé dans App, // n'actualisera pas le nombre aléatoire toutes les 3 secondes, mais affichera un nombre aléatoire une seule fois.
Quelle est la différence entre le mot-clé type et l'interface en TypeScript ? Parle de l'héritage dans les types et les interfaces.
Vous avez évalué la tâche, l'avez prise en main et vous réalisez que vous avez mal évalué et que vous ne pouvez pas la terminer à temps. Que faites-vous à ce moment-là?
// Il faut créer un nouveau composant RandOnce basé sur le composant Rand, // qui, lorsqu'il est utilisé dans App, // n'actualisera pas le nombre aléatoire toutes les 3 secondes, mais affichera un nombre aléatoire une seule fois. // const Rand = () => <span>{Math.random()}</span>
Parlez-moi de votre expérience professionnelle. Comment le processus de planification des tâches a-t-il été organisé?