Preguntas de la entrevista de AngularJS

Aquí hay una lista de los conceptos sobre los que se preguntan con frecuencia en las entrevistas de AngularJS.

  • ¿Qué es AngularJS?
  • ¿Qué es Model View Controller (MVC)?
  • Enlace de datos bidireccional
  • ¿Qué es la inyección de dependencia y cómo funciona?
  • ¿Qué es $ scope en AngularJS?
  • ¿Qué es $ rootScope en AngularJS?
  • ¿Cómo implementar el enrutamiento en Angular?
  • Explique las directivas
  • ¿Cómo podemos crear una directiva personalizada en Angular?
  • Explique la diferencia entre el servicio y la fábrica.
  • Explique $ q servicio, diferido y promesas

Ejemplos de preguntas y respuestas

Pregunta: ¿Enumere las directivas en AngularJS?

Respuesta: ngBind, ngModel, ngClass, ngApp, ngInit, ngRepeat

Pregunta: ¿Qué es $ scope en AngularJS?

Respuesta: $ scope en AngularJS es un objeto que se refiere a un modelo de aplicación. Es un objeto que une la vista (elemento DOM) con el controlador. En el controlador, se accede a los datos del modelo a través del objeto $ scope. Como sabemos, AngularJS admite el patrón MV *, el objeto $ scope se convierte en el modelo de MV *.

Pregunta: ¿Qué es un SPA (aplicación de una sola página) en AngularJS?

Respuesta: Las aplicaciones de una sola página (SPA) son aplicaciones web que cargan una sola página HTML y actualizan dinámicamente esa página a medida que el usuario interactúa con la aplicación.

Los SPA utilizan AJAX y HTML para crear aplicaciones web fluidas y receptivas, sin recargas constantes de la página. Sin embargo, esto significa que gran parte del trabajo ocurre en el lado del cliente, en JavaScript.

Una sola página HTML aquí significa una página de respuesta de la interfaz de usuario del servidor. La fuente puede ser ASP, ASP.NET, ASP.NET MVC, JSP y así sucesivamente.

Sin embargo, una aplicación web de una sola página se entrega como una página al navegador y, por lo general, no requiere que la página se vuelva a cargar cuando el usuario navega a varias partes de la aplicación. Esto da como resultado una navegación más rápida, transferencias de red más eficientes y un mejor rendimiento general para el usuario final.

Pregunta: ¿Qué es el enrutamiento en AngularJS?

Respuesta: El enrutamiento es una característica central en AngularJS. Esta función es útil para crear SPA (aplicaciones de una sola página) con múltiples vistas. En los SPA, todas las vistas son archivos HTML diferentes y usamos el enrutamiento para cargar diferentes partes de la aplicación. Es útil dividir la aplicación de manera lógica y hacerla manejable. En otras palabras, el enrutamiento nos ayuda a dividir nuestra aplicación en vistas lógicas y vincularlas con diferentes controladores.

Pregunta: Explique la directiva ng-repeat.

Respuesta: La directiva ng-repeat es la característica de la directiva AngularJS más utilizada. Repite una colección de elementos y crea elementos DOM. Supervisa constantemente la fuente de datos para volver a representar una plantilla en respuesta al cambio.

Pregunta: ¿Cuál es la diferencia entre ng-If y ng-show / ng-hide.

Respuesta: La directiva ng-If solo representa el elemento DOM si la condición es verdadera. Mientras que la directiva ng-show / ng-hide representa el elemento DOM pero cambia la clase de ng-hide / ng-show para mantener la visibilidad del elemento en la página.

Pregunta: ¿Cómo cancelas un tiempo de espera con AngularJs?

Respuesta: $ timeout es el contenedor de AngularJs para window.setTimeout, cancela un tiempo de espera aplicando la función:

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

Pregunta: ¿Qué es la inyección de dependencia?

Respuesta: La inyección de dependencia (DI) es un patrón de diseño de software que se ocupa de cómo los componentes se apoderan de sus dependencias.

El subsistema del inyector AngularJS se encarga de crear componentes, resolver sus dependencias y proporcionarlos a otros componentes según se solicite.

Pregunta: Explique la directiva ng-App.

Respuesta: La directiva ng-app inicia una aplicación AngularJS. Define el elemento raíz. Inicializa o arranca automáticamente la aplicación cuando se carga la página web que contiene la aplicación AngularJS. También se utiliza para cargar varios módulos AngularJS en aplicaciones AngularJS.

Pregunta: Explique la directiva ng-init

Respuesta: La directiva ng-init inicializa los datos de una aplicación AngularJS. Se utiliza para poner valores a las variables que se utilizarán en la aplicación.

Por ejemplo, en el siguiente código hemos inicializado una matriz de países utilizando la sintaxis JSON para definir la matriz de países.

 ... 

Pregunta: ¿Cómo se comparten datos entre controladores?

Respuesta: Cree un servicio AngularJS que contendrá los datos y los inyectará dentro de los controladores. Utilizar un servicio es la forma más limpia, rápida y sencilla de realizar pruebas.

Sin embargo, hay otras formas de implementar el intercambio de datos entre controladores, como:

  • Usando eventos
  • Usando $ parent, nextSibling, controllerAs, y así sucesivamente para acceder directamente a los controladores
  • Usar $ rootScope para agregar los datos (no es una buena práctica)

Pregunta: ¿Cuál es la diferencia entre las directivas ng-if y ng-show / hide?

Respuesta: ng-if solo creará y mostrará el elemento DOM cuando su condición sea verdadera. Si la condición es falsa o cambia a falsa, no creará ni destruirá la creada.

ng-show / hide siempre generará el elemento DOM pero aplicará la propiedad de visualización de CSS en función de la evaluación de la condición.

Más información sobre AngularJS:

  • Angular vs AngularJS
  • Los mejores tutoriales de Angular y AngularJS