Sobes.tech

Frontend

Explique comment fonctionne ChangeDetectionStrategy.OnPush et en quoi elle diffère de la stratégie Default.

157

Racontez comment fonctionne le pattern Event Emitter et si vous y avez été confronté, notamment dans Angular.

156

À quoi ressemblera this dans fn si on l'appelle via call sans transmettre de contexte, en mode strict (strict mode) et sans lui ?

156

Implémenter une simple machine à sous "bras unique" : - Implémentez trois rouleaux (avec des chiffres de 0 à 9, qui changent en ordre 0,1,2,...9,0,1,2...) - À chaque onRoll sur le rouleau, la valeur suivante apparaît - Si les trois chiffres correspondent après arrêt, on dit qu'il a gagné - Désactiver le bouton pendant la rotation Le modèle physique de la roue est déjà implémenté dans la méthode runSpinner, mais il ne concerne pas les chiffres. Conseil : commencez l'implémentation par le premier rouleau, puis ajoutez les autres par analogie

156

Quels problèmes la dépendance injection résout-elle dans Angular et quels avantages offre la fourniture de services aux niveaux de l'application et des composants?

156

Pourquoi la victoire est-elle comptabilisée de manière incorrecte, même si les valeurs sur les rouleaux sont différentes ? Comprenez la cause du bug liée à la condition de course dans la mise à jour asynchrone de l'état.

154

Explique la différence entre Observable froid et chaud.

152

Il y a trois nouveaux types. Il faut créer un nouveau type générique qui contiendra tous les champs de ces types (en utilisant l'union).

151

Divisez l'application selon l'architecture Feature-Sliced Design (FSD) — décrivez les couches App, Pages, Widgets, Features, Entities.

149

Qu'est-ce que le type utilitaire Awaited en TypeScript ?

149

Existe-t-il trois indices distincts i, j, k tels que la somme a[i]+a[j]+a[k] se termine par le chiffre m? Par exemple, pour m = 3 solve([20, 22, 19, 84]) => true // 20 + 84 + 19 = 123 solve([1,2,3]) => false

149

La fonction simule la rotation du tambour avec un arrêt progressif - utilisez onRoll pour l'animation de rotation (changer la valeur actuelle sur le tambour) - et onStop pour notifier lorsque le tambour a fini de tourner exemple runSpinner( () => setValue(v => ++v % 10), () => console.log('finished') )

148

Essayez de simuler la situation pour que les trois chiffres sur les rouleaux correspondent, et vérifiez que le message de victoire s'affiche.

148

Tâche React (3 sous-tâches) : 1) Corriger le formulaire de modification de l'utilisateur — en cliquant sur le nom de l'utilisateur dans la liste, le nom doit être inséré dans le champ de saisie du formulaire de modification. 2) Le formulaire de modification ne doit pas se rerendre lors de la saisie dans le champ de recherche (optimisation avec React.memo). 3) Lors de la sélection d'un utilisateur dans la liste, le champ de recherche doit être réinitialisé.

148

Quelle est la différence entre ChangeDetectorRef.markForCheck() et detectChanges() ?

145

Que changera dans la logique du type si on remplace `extends` par `=` (assigner une valeur par défaut au générique) ?

143

Connaissez-vous les métriques Web Vitals ? Comment améliorer le CLS (Cumulative Layout Shift) ?

143

Corrige le code pour que lors du clic sur le bouton, seul App soit rerendu, et lors de la saisie de texte dans l'input, seul Parent (sans rerenders inutiles de Child).

143

Pourquoi avoir choisi IndexedDB pour le stockage local dans les bases de données, et pas autre chose ? Quelles sont les alternatives ?

142

Créer un nouveau type basé sur PartialDelivery qui inclut uniquement les champs name et address (Pick).

139
/5