Quels autres critères pourriez-vous citer pour un bon composant de bibliothèque?
Frontend
Vous avez commencé à apprendre React, et React est plus populaire avec plus d'offres d'emploi. Pourquoi êtes-vous finalement passé à Angular?
Parlez-moi de l'écriture de tests unitaires : quand, selon vous, un test doit échouer ? Que doit vérifier précisément un test unitaire pour une classe testée selon l'école de Londres (avec toutes les dépendances simulées) ?
Comparez l'injection de dépendances via les paramètres du constructeur et via la fonction inject : quels sont les avantages et inconvénients de chaque approche ?
Analysez cette approche du point de vue de la confusion des responsabilités : qu'est-ce qui a été mal fait ici et comment l'expliqueriez-vous en termes de principes architecturaux (notamment le principe de responsabilité unique et la séparation de la présentation et du modèle) ?
Pouvez-vous énumérer toutes les solutions techniques à ce problème (sauf remplacer le champ par un signal) ?
Racontez-nous plus en détail l'utilisation du pipe async et de l'abonnement manuel : que faut-il faire exactement pour que la valeur s'affiche correctement dans le template (y compris la gestion de l'abonnement et sa désinscription via takeUntilDestroy ou ngOnDestroy) ?
Avez-vous des critères basés sur la pratique pour déterminer où l'héritage est approprié et où ne l'est pas?
Si le modèle ne sait pas que la valeur a changé, pourquoi l'ajout du pipe async dans le modèle résout-il le problème de réactivité ? Comment cela fonctionne-t-il en coulisses ?
Pouvez-vous donner un exemple concret d'une bibliothèque qui empêchait la compilation lors de la mise à jour d'Angular (par exemple, vers la version 16) ? En quoi consistait précisément le problème et comment l'avez-vous résolu ?
Dans votre CV, vous indiquez avoir mis à jour Angular de la version 14 à la 20. Parlez d'un problème rencontré lors de la mise à jour d'Angular dans un projet, une expérience pratique.
Pourquoi l'héritage est-il nécessaire en POO ? Fournissez une justification de son utilisation, si la tâche de réutilisation de la logique peut être résolue par d'autres moyens (par exemple, via DI).
Pourquoi, lors de l'utilisation d'un signal et de l'appel de la méthode set, la valeur est mise à jour dans le modèle, mais pas lors d'une simple affectation comme this.token = chaîne ? Expliquez cela au niveau de la détection des changements.
Connaissez-vous les diagrammes de classes UML ? Avez-vous travaillé avec des types de relations tels que l'association, la composition, l'agrégation, la généralisation ?
Vous avez dit que vous avez écrit les tests à l'aide d'un réseau neuronal. Si le réseau neuronal a généré des tests qui échouent à chaque modification du code de la classe, ces tests atteignent-ils leur objectif ? Sont-ils utiles ?
Si vous deviez compter le nombre de lignes de code dans un projet, comment aborderiez-vous cette tâche ? Comment formuleriez-vous une requête pour rechercher une solution ou pour un réseau neuronal ?
Pourquoi avez-vous choisi le développement web et Angular, plutôt que, par exemple, le développement mobile?
Dans votre précédent emploi, vous avez dit que la partie frontend était relativement petite, mais qu'elle était gérée par 6 développeurs frontend. D'où vient cette équipe de 6 personnes et comment se rapporte-t-elle à l'équipe frontend globale de l'entreprise?
Imaginez un scénario : un développeur plus expérimenté reçoit un junior avec la tâche de créer un composant Angular avec un champ pour afficher un jeton et un bouton 'créer un jeton'. Lorsqu'on clique sur le bouton, une requête est envoyée au serveur, un jeton est reçu, et le junior écrit this.token = la chaîne reçue, mais la valeur ne s'affiche pas et la page ne se rerend pas. Que conseilleriez-vous pour résoudre ce problème et quelles approches existent pour le corriger ?
Racontez comment vous êtes entré dans l'industrie du développement : comment vous avez été formé, comment vous avez trouvé votre premier emploi, en tenant compte du fait que votre CV indique une spécialité non technique?