Frontend
Quels outils de profilage utilisez-vous ? Avez-vous déjà dû prendre des dumps de mémoire ?
L'utilisation de Webpack était-elle une décision consciente ou était-il déjà en place?
Placez les chiffres à la place des signes d'interrogation pour que la console affiche dans l'ordre 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (exercice sur Event Loop, Promise, setTimeout)
Quelles étapes du rendu du navigateur peuvent être optimisées pour éviter des recalculs inutiles, et comment le faire?
Parle-moi de Storybook — à quel point as-tu interagi étroitement avec lui, ou était-ce juste avec un petit composant?
Quelles sont les options de positionnement des éléments sur la page (CSS position) ?
Connais-tu le pattern EventEmitter ? Implémente une classe avec les méthodes subscribe, unsubscribe et fire.
class Foo { bar = 1; bla = () => console.log(this.bar); baz = function () {console.log(this.bar);}; } new Foo().bla(); new Foo().baz(); Dites-le simplement ainsi : `this` n'est pas une portée, mais le contexte d'appel de la fonction. Il est défini non pas là où la fonction est déclarée, mais là où elle est appelée. On peut ajouter 3-4 règles : - Appel normal d'une fonction — `this` est généralement undefined en mode strict. - Méthode d'un objet — `this` indique l'objet à gauche du point. - `call / apply / bind` — permettent de définir explicitement `this`. - Fonctions fléchées — n'ont pas leur propre `this`, elles prennent celui du contexte extérieur.
Expliquez ce qui arrive aux anciennes requêtes lors du changement d'utilisateur et comment `AbortController` empêche la condition de course (race condition).
Comment analyser JSON de manière séquentielle, en divisant le traitement en morceaux, pour ne pas bloquer le thread principal ? Par quoi peut-on passer le traitement du prochain morceau pour ne pas ralentir la page (par exemple, requestIdleCallback, générateurs) ?
Qu'est-ce que useMemo, useCallback et React.memo ? Quand est-il préférable de les utiliser ?
Comment optimiseriez-vous le code répétitif des gestionnaires onChange pour les champs email et mot de passe?
function memoize(fn, options = {}) { const { maxSize = 1000, keyOf = (...a) => JSON.stringify(a), lruTouch = true, } = options; let hits = 0; let misses = 0; const cache = new Map(); const getKey = (...args) => keyOf(...args); const wrapped = (...args) => { // écrivez le code ici return fn(...args); }; // et ici return wrapped; }
Parle-moi de ton expérience commerciale et de la pile technologique avec laquelle tu as travaillé.
Quels sont les principes fondamentaux de la POO que vous connaissez ? Parlez-en à chacun.
De quoi dépend l'unité EM : du REM le plus proche ou de la taille de police du parent?
À quoi sert le mot-clé infer en TypeScript?
Sais-tu ce qu'est le lifting de l'état?
Quelle est la différence entre display flex et display grid ? Comment aligner les éléments en flex ?
Quelle est la méthode la plus courante pour centrer un div?