Questions d'entretiens chez AngularJS

Voici une liste des concepts fréquemment interrogés dans les entretiens AngularJS.

  • Qu'est-ce que AngularJS?
  • Qu'est-ce que le Model View Controller (MVC)?
  • Liaison de données bidirectionnelle
  • Qu'est-ce que l'injection de dépendances et comment ça marche?
  • Qu'est-ce que $ scope dans AngularJS?
  • Qu'est-ce que $ rootScope dans AngularJS?
  • Comment implémenter le routage dans Angular?
  • Expliquer les directives
  • Comment créer une directive personnalisée dans Angular?
  • Expliquer la différence entre le service et l'usine
  • Expliquer le service $ q, différé et les promesses

Exemples de questions et réponses

Question: Liste des directives dans AngularJS?

Réponse: ngBind, ngModel, ngClass, ngApp, ngInit, ngRepeat

Question: Qu'est-ce que $ scope dans AngularJS?

Réponse: $ scope dans AngularJS est un objet qui fait référence à un modèle d'application. C'est un objet qui lie la vue (élément DOM) au contrôleur. Dans le contrôleur, les données du modèle sont accessibles via l'objet $ scope. Comme nous le savons, AngularJS prend en charge le modèle MV *, l'objet $ scope devient le modèle de MV *.

Question: Qu'est-ce qu'une SPA (application d'une seule page) dans AngularJS?

Réponse: Les applications à page unique (SPA) sont des applications Web qui chargent une seule page HTML et mettent à jour dynamiquement cette page au fur et à mesure que l'utilisateur interagit avec l'application.

Les SPA utilisent AJAX et HTML pour créer des applications Web fluides et réactives, sans recharges constantes de pages. Cependant, cela signifie qu'une grande partie du travail se déroule du côté client, en JavaScript.

Une seule page HTML signifie ici la page de réponse de l'interface utilisateur du serveur. La source peut être ASP, ASP.NET, ASP.NET MVC, JSP, etc.

Cependant, une application Web d'une seule page est livrée sous la forme d'une page au navigateur et ne nécessite généralement pas de recharger la page lorsque l'utilisateur navigue vers différentes parties de l'application. Cela se traduit par une navigation plus rapide, des transferts réseau plus efficaces et de meilleures performances globales pour l'utilisateur final.

Question: Qu'est-ce que le routage dans AngularJS?

Réponse: Le routage est une fonctionnalité essentielle d'AngularJS. Cette fonctionnalité est utile pour créer des SPA (applications à page unique) avec plusieurs vues. Dans les SPA, toutes les vues sont des fichiers HTML différents et nous utilisons le routage pour charger différentes parties de l'application. Il est utile de diviser l'application de manière logique et de la rendre gérable. En d'autres termes, le routage nous aide à diviser notre application en vues logiques et à les lier à différents contrôleurs.

Question: Expliquez la directive ng-repeat.

Réponse: La directive ng-repeat est la fonction de directive AngularJS la plus utilisée. Il itère sur une collection d'éléments et crée des éléments DOM. Il surveille en permanence la source des données pour restituer un modèle en réponse au changement.

Question: Quelle est la différence entre ng-If et ng-show / ng-hide.

Réponse: La directive ng-If ne rend l'élément DOM que si la condition est vraie. Alors que la directive ng-show / ng-hide rend l'élément DOM mais change la classe de ng-hide / ng-show pour maintenir la visibilité de l'élément sur la page.

Question: Comment annuler un timeout avec AngularJs?

Réponse: $ timeout est le wrapper d'AngularJs pour window.setTimeout, vous annulez un timeout en appliquant la fonction:

$timeout.cancel(function (){ // write your code. });

Question: Qu'est-ce que l'injection de dépendance?

Réponse: L'injection de dépendances (DI) est un modèle de conception de logiciel qui traite de la façon dont les composants récupèrent leurs dépendances.

Le sous-système d'injecteur AngularJS est chargé de créer des composants, de résoudre leurs dépendances et de les fournir à d'autres composants selon les besoins.

Question: Expliquez la directive ng-App.

Réponse: La directive ng-app démarre une application AngularJS. Il définit l'élément racine. Il initialise ou amorce automatiquement l'application lorsque la page Web contenant l'application AngularJS est chargée. Il est également utilisé pour charger divers modules AngularJS dans les applications AngularJS.

Question: expliquer la directive ng-init

Réponse: La directive ng-init initialise les données d'une application AngularJS. Il est utilisé pour mettre des valeurs aux variables à utiliser dans l'application.

Par exemple, dans le code ci-dessous, nous avons initialisé un tableau de pays à l'aide de la syntaxe JSON pour définir le tableau de pays.

 ... 

Question: Comment partagez-vous les données entre les responsables du traitement?

Réponse: Créez un service AngularJS qui contiendra les données et les injectera à l'intérieur des contrôleurs. L'utilisation d'un service est le moyen le plus propre, le plus rapide et le plus simple de tester.

Cependant, il existe deux autres façons de mettre en œuvre le partage de données entre les contrôleurs, comme:

  • Utiliser les événements
  • Utilisation de $ parent, nextSibling, controllerAs, etc. pour accéder directement aux contrôleurs
  • Utiliser $ rootScope pour ajouter les données (pas une bonne pratique)

Question: Quelle est la différence entre les directives ng-if et ng-show / hide?

Réponse: ng-if ne créera et affichera l'élément DOM que lorsque sa condition est vraie. Si la condition est fausse ou devient fausse, elle ne créera ni ne détruira la condition créée.

ng-show / hide générera toujours l'élément DOM mais il appliquera la propriété d'affichage CSS en fonction de l'évaluation de la condition.

Plus d'informations sur AngularJS:

  • Angular vs AngularJS
  • Les meilleurs tutoriels Angular et AngularJS