AngularJS Interview Questions – Questions Set 3

1

The article represents the 3rd set of 10 interview questions. Following are previous two sets that have been published earlier on our website.

Following are other sets that we recommend you to go through.



Question Set

Q1: Directives can be applied to which all element type?

Ans: Following represents the element type and directive declaration style:

`E` – Element name: ``
`A` – Attribute (default): `

`
`C` – Class: `

`
`M` – Comment: ``

Q2. What is notion of “isolate” scope object when creating a custom directive? How is it different from the normal scope object?

Ans: When creating a custom directive, there is a property called as “scope” which can be assigned different values such as true/false or {}. When assigned with the value “{}”, then a new “isolate” scope is created. The ‘isolate’ scope differs from normal scope in that it does not prototypically inherit from the parent scope. This is useful when creating reusable components, which should not accidentally read or modify data in the parent scope.

Q3. What are different return types from compile function?

Ans: A compile function can have a return value which can be either a function or an object.

  • A (post-link) function: It is equivalent to registering the linking function via the `link` property of the config object when the compile function is empty.
  • An object with function(s) registered via `pre` and `post` properties. It allows you to control when a linking function should be called during the linking phase.

Q4. WHich API need to be invoked on the rootScope service to get the child scopes?

Ans: $new

Q5. Explain the relationship between scope.$apply & scope.$digest?

Ans: As an event such as text change in a textfield happens, the event is caught with an eventhandler which then invokes $apply method on the scope object. The $apply method in turn evaluates the expression and finally invokes $digest method on the scope object. Following code does it all:

$apply: function(expr) {
        try {
          beginPhase('$apply');
          return this.$eval(expr);
        } catch (e) {
          $exceptionHandler(e);
        } finally {
          clearPhase();
          try {
            $rootScope.$digest();
          } catch (e) {
            $exceptionHandler(e);
            throw e;
          }
        }
}

Q6. Which angular module is loaded by default?

Ans: ng

Q7. What angular function is used to manually start an application?

Ans: angular.bootstrap

Q8. Name some of the methods that could be called on a module instance? For example, say, you instantiated a module such as ‘var helloApp = angular.module( “helloApp”, [] );’. What are different methods that could be called on helloApp instance?

Ans: Following are some of the methods:

  • controller
  • factory
  • directive
  • filter
  • constant
  • service
  • provider
  • config

Q9. Which angular function is used to wrap a raw DOM element or HTML string as a jQuery element?

Ans: angular.element; If jQuery is available, `angular.element` is an alias for the jQuery function. If jQuery is not available, `angular.element` delegates to Angular’s built-in subset of jQuery, called “jQuery lite” or “jqLite.”

Q10. Write sample code representing an injector that could be used to kick off your application?

var $injector = angular.injector(['ng', 'appName']);
$injector.invoke(function($rootScope, $compile, $document){
    $compile($document)($rootScope);
    $rootScope.$digest();
});

Feel free to suggest any changes in above answers if you feel so.


Ajitesh Kumar

Ajitesh Kumar

Ajitesh has been recently working in the area of AI and machine learning. Currently, his research area includes Safe & Quality AI. In addition, he is also passionate about various different technologies including programming languages such as Java/JEE, Javascript and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data etc.

He has also authored the book, Building Web Apps with Spring 5 and Angular.
Ajitesh Kumar

1 Comment

  1. Pingback: AngularJS Interview Questions - Set 4 - Bytes Cravings

Leave A Reply

Time limit is exhausted. Please reload the CAPTCHA.