Самые популярные вопросы и ответы для интервью и онлайн-тесты
Образовательная платформа для подготовки к интервью, онлайн-тестов, учебных материалов и живой практики

Развивайте навыки с целевыми маршрутами обучения, пробными тестами и контентом для подготовки к интервью.

WithoutBook объединяет вопросы для интервью по предметам, онлайн-практику, учебные материалы и сравнительные руководства в одном удобном учебном пространстве.

Подготовка к интервью

Пробные экзамены

Сделать домашней страницей

Добавить страницу в закладки

Подписаться по адресу эл. почты
WithoutBook LIVE Mock Interviews
The Best LIVE Mock Interview - You should go through before interview

Freshers / Beginner level questions & answers

Ques 1. What is AngularJS?

AngularJS is an open-source JavaScript framework, maintained by Google, that assists with running single-page applications. Its goal is to augment browser-based applications with modelviewcontroller capability, in an effort to make both development and testing easier.

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 2. Why is this project called "AngularJS"? Why is the namespace called "ng"?

Because HTML has Angular brackets and "ng" sounds like "Angular".

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 3. Tell me does Angular use the jQuery library?

Yes, Angular can use jQuery if it's present in your app when the application is being bootstrapped. If jQuery is not present in your script path, Angular falls back to its own implementation of the subset of jQuery that we call jQLite. 

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 4. Tell me can we use the open-source Closure Library with Angular?

Yes, you can use widgets from the Closure Library in Angular. 

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 5. Why to choose Angular JS Javascript Framework for front-end web development?

AngularJS is quickly becoming the dominant JavaScript framework for professional web development. With the growth and strength of HTML5 and the increasing performance in modern browsers, many JavaScript frameworks have been created to help develop rich client applications. These frameworks/libraries have given developers a huge toolkit to build enterprise complexity into client-side applications. Server side frameworks are becoming a thing of the past and being replaced with applications written in Backbone, Ember, AngularJS, Knockout, etc.

So why am I talking about AngularJS over frameworks/libraries like Backbone, Ember, or Knockout?

For me, the major points of separation in AngularJSs favor are the following:

1. Good documentation
2. Write less code to do more
3. Backed by Google
4. Good developer community
5. Simple Data-Binding
6. Small footprint

If youre looking for a robust, well-maintained framework for any sized project, I strongly recommend that you take a look at AngularJS. It can be downloaded for free at AngularJS.org, which also contains a wealth of information, including the full API documentation, as well as numerous examples and tutorials that cover every facet of front-end web development. Following are some reasons why to choose Angular JS Javascript Framework for front-end web development?

1. Angular JS Framework is developed by Google

Angular is built and maintained by dedicated Google engineers. This one may seem obvious, but its important to remember that many (not all) frameworks are made by hobbyists in the open source community. While passion and drive have forged frameworks, like Cappucino and Knockout, Angular is built and maintained by dedicated (and highly talented) Google engineers. This means you not only have a large open community to learn from, but you also have skilled, highly-available engineers tasked to help you get your Angular questions answered.

This isnt Googles first attempt at a JavaScript framework; they first developed their comprehensive Web Toolkit, which compiles Java down to JavaScript, and was used by the Google Wave team extensively. With the rise of HTML5, CSS3, and JavaScript, as both a front-end and back-end language, Google realized that the web was not meant to be written purely in Java.

AngularJS came about to standardize web application structure and provide a future template for how client-side apps should be developed.

Angular JS is being used by a host of applications, ranging from hobby to commercial products. Adoption of AngularJS as a viable framework for client-side development is quickly becoming known to the entire web development community.

Because AngularJS is built by Google, you can be sure that youre dealing with efficient and reliable code that will scale with your project. If youre looking for a framework with a solid foundation, Angular is your choice!

2. Angular JS is equipped with a lot of features 

If youre familiar with projects, like QUnit, Mocha or Jasmine, then youll have no trouble learning Angulars unit-testing API.

Angular, similar to Backbone or JavaScriptMVC, is a complete solution for rapid front-end development. No other plugins or frameworks are necessary to build a data-driven web application. Heres an overview of Angulars stand-out features:

A) REST Easy. RESTful actions are quickly becoming the standard for communicating from the server to the client. In one line of JavaScript, you can quickly talk to the server and get the data you need to interact with your web pages. AngularJS turns this into a simple JavaScript object, as Models, following the MVVM (Model View View-Model) pattern.

B) MVVM to the Rescue! Models talk to ViewModel objects (through something called the $scope object), which listen for changes to the Models. These can then be delivered and rendered by the Views, which is the HTML that expresses your code. Views can be routed using the $routeProvider object, so you can deep-link and organize your Views and Controllers, turning them into navigable URLs. AngularJS also provides stateless controllers, which initialize and control the $scope object.

C) Data Binding and Dependency Injection. Everything in the MVVM pattern is communicated automatically across the UI whenever anything changes. This eliminates the need for wrappers, getters/setters or class declarations. AngularJS handles all of this, so you can express your data as simply as with JavaScript primitives, like arrays, or as complex as you wish, through custom types. Since everything happens automatically, you can ask for your dependencies as parameters in AngularJS service functions, rather than one giant main() call to execute your code.

D) Extends HTML. Most websites built today are a giant series of <div> tags with little semantic clarity. You need to create extensive and exhaustive CSS classes to express the intention of each object in the DOM. With Angular, you can operate your HTML like XML, giving you endless possibilities for tags and attributes. Angular accomplishes this, via its HTML compiler and the use of directives to trigger behaviors based on the newly-created syntax you write.

E) Makes HTML your Template. If youre used to Mustache or Hogan.js, then you can quckly grasp the bracket syntax of Angulars templating engine, because its just HTML. Angular traverses the DOM for these templates, which house the directives mentioned above. The templates are then passed to the AngularJS compiler as DOM elements, which can be extended, executed or reused. This is key, because, now, you have raw DOM components, rather than strings, allowing for direct manipulation and extension of the DOM tree.

F) Enterprise-level Testing. As stated above, AngularJS requires no additional frameworks or plugins, including testing. If youre familiar with projects, like QUnit, Mocha or Jasmine, then youll have no trouble learning Angulars unit-testing API and Scenario Runner, which guides you through executing your tests in as close to the actual state of your production application as possible.

These are the fundamental principles that guide AngularJS to creating an efficient, performance-driven, and maintainable front-end codebase. As long as you have a source for storing data, AngularJS can do all of the heavy lifting on the client, while providing a rich, fast experience for the end user.

3. You can learn Angular JS easily

Getting started with AngularJS is incredibly easy. With a few attributes added to your HTML, you can have a simple Angular app up in under 5 minutes!

1. Add the ng-app directive to the <html> tag so Angular knows to run on the page:

<html lang="en" ng-app>

2. Add the Angular <script> tag to the end of your <head> tag:

<head>
 <script src="lib/angular/angular.js"></script>
...
</head>

3. Add regular HTML. AngularJS directives are accessed through HTML attributes, while expressions are evaluated with double-bracket notation:

<body ng-controller="ActivitiesListCtrl">
  <h1>Today's activities</h1>
  <ul>
   <li ng-repeat="activity in activities">
     {{activity.name}}
   </li>
  </ul>
</body>
</html>

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 6. What are the key features of AngularJS?

Scope

The job of the Scope is to detect changes to model objects and create an execution context for expressions. There is one root scope for the application (ng-app) with hierarchical children scopes. It marshals the model to the view and forwards events to the controller.

Controller

The Controller is responsible for construction of the model and connects it to the view (HTML). The scope sits between the controller and the view. Controllers should be straightforward and simply contain the business logic needed for a view. Generally you want thin controllers and rich services. Controllers can be nested and handle inheritance. The big difference in AngularJS from the other JavaScript frameworks is there is no DOM manipulation in controllers. It is something to unlearn when developing in AngularJS.

Model

In AngularJS, a Model is simply a JavaScript object. No need to extend anything or create any structure. This allows for nested models  - something that Backbone doesnt do out-of-the-box.

View

The View is based on DOM objects, not on strings. The view is the HTML. HTML is declarative well suited for UI design. The View should not contain any functional behavior. The flexibility here is to allow for multiple views per Controller.

Services

The Services in AngularJS are singletons that perform common tasks for web applications. If you need to share common functionality between Controllers, then use Services. Built-in AngularJS, Services start with a $. There are several ways to build a service: Service API, Factory API, or the $provide API.

Data Binding

Data Binding in AngularJS is a two-way binding between the View and the Model. Automatic synchronizing between views and data models makes this really easy (and straightforward) to use. Updating the model is reflected in View without any explicit JavaScript code to bind them together, or to add event listeners to reflect data changes.

Directives

Now this is cool. AngularJS allows you to use Directives to transform the DOM or to create new behavior. A directive allows you to extend the HTML vocabulary in a declarative fashion. The ng prefix stands for built-in AngularJS directives. The App (ng-app), Model (ng-model), the Controller (ng-controller), etc. are built into the framework. AngularJS allows for building your own directives. Building directives is not extremely difficult, but not easy either. There are different things that can be done with them. Please check out AngularJSs documentation on directives.

Filters

The Filters in AngularJS perform data transformation. They can be used to do formatting (like I did in my Directives example with padding zeros), or they can be used to do filter results (think search).

Validation

AngularJS has some built-in validation around HTML5 input variables (text, number, URL, email, radio, checkbox) and some directives (required, pattern, minlength, maxlength, min, max). If you want to create your own validation, it is just as simple as creating a directive to perform your validation.

Testable

Testing is a big concern for enterprise applications. There are several different ways to write and run tests against JavaScript code, thus against AngularJS. The developers at AngularJS advocate using Jasmine tests ran using Testacular. I have found this method of testing very straightforward and, while writing tests may not be the most enjoyable, it is just as importable as any other piece of developing an application.

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 7. What is a scope in AngularJS?

scope is an object that refers to the application model. It is the glue between application controller and the view. Both the controllers and directives have reference to the scope, but not with each other. It is an execution context for expressions and arranged in hierarchical structure. Scopes can watch expressions and propagate events.

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 8. How will you initialize a select box with options on page load?

Use the ng-init directive.

<div ng-controller="apps/dashboard/account" ng-switch
 on="!!accounts" ng-init="loadData()">

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 9. How will you add options to a select box?

Using the ng-options and ng-model directives.

<fieldset>
 <dl class="control-group">
  <dt>
   <label for="cientId">
    <h4>Client Id:</h4>
   </label>
  </dt>
  <dd>
   <select id="cientId" class="input-xlarge" ng-model="clientId"
    ng-options="reportClient.clientId as reportClient.clientId  for reportClient in reportClients "
    ng-click="getReportParams()" ng-change="getValuationDates()" />
  </dd>
 </dl>
 <dl class="control-group">
  <dt>
   <label for="valuationDate">
    <h4>
     Valuation Date <small>(dd/mm/yyyy)</small>
    </h4>
   </label>
  </dt>
  <dd>
   <select id="valuationDate" class="input-xlarge"
    ng-model="valuationDate"
    ng-options="reportdate for reportdate in reportDates" />
  </dd>
 </dl>
</fieldset>

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Intermediate / 1 to 5 years experienced level questions & answers

Ques 10. Can you please explain what is testability like in Angular?

Very testable and designed this way from ground up. It has an integrated dependency injection framework, provides mocks for many heavy dependencies (server-side communication).

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 11. Tell me which browsers does Angular work with?

We run our extensive test suite against the following browsers: Safari, Chrome, Firefox, Opera, IE8, IE9 and mobile browsers (Android, Chrome Mobile, iOS Safari). See Internet Explorer Compatibility for more details in supporting legacy IE browsers. 

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 12. Is AngularJS a templating system?

At the highest level, Angular does look like a just another templating system. But there is one important reason why the Angular templating system is different, that makes it very good fit for application development: bidirectional data binding. The template is compiled in the browser and the compilation step produces a live view. This means you, the developers, don't need to write code to constantly sync the view with the model and the model with the view as in other templating systems.

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Experienced / Expert level questions & answers

Ques 13. Is AngularJS a library, framework, plugin or a browser extension?

AngularJS fits the definition of a framework the best, even though it's much more lightweight than a typical framework and that's why many confuse it with a library.

AngularJS is 100% JavaScript, 100% client side and compatible with both desktop and mobile browsers. So it's definitely not a plugin or some other native browser extension.

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 14. Do you know what is Angulars performance like?

The startup time heavily depends on your network connection, state of the cache, browser used and available hardware, but typically we measure bootstrap time in tens or hundreds of milliseconds.

The runtime performance will vary depending on the number and complexity of bindings on the page as well as the speed of your backend (for apps that fetch data from the backend). Just for an illustration we typically build snappy apps with hundreds or thousands of active bindings. 

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 15. Can you explain the concept of scope hierarchy? How many scopes can an application have?

Each Angular application has exactly one root scope, but may have several child scopes. The application can have multiple scopes, because child controllers and some directives create new child scopes. When new scopes are created, they are added as children of their parent scope. This creates a hierarchical structure similar to the DOM where they're attached.

When Angular evaluates a bound variable like say {{firstName}}, it first looks at the scope associated with the given element for the firstName property. If no such property is found, it searches the parent scope and so on until the root scope is reached. In JavaScript this behaviour is known as prototypical inheritance, and child scopes prototypically inherit from their parents. The reverse is not true. i.e. the parent can't see it's children's bound properties.

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 16. Do I need to worry about security holes in AngularJS?

Like any other technology, AngularJS is not impervious to attack. Angular does, however, provide built-in protection from basic security holes including cross-site scripting and HTML injection attacks. AngularJS does round-trip escaping on all strings for you and even offers XSRF protection for server-side communication.

AngularJS was designed to be compatible with other security measures like Content Security Policy (CSP), HTTPS (SSL/TLS) and server-side authentication and authorization that greatly reduce the possible attack vectors and we highly recommended their use.

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 17. What are the key differences between AngularJS and jQuery?

AngularJS and jQuery are the Javascript frameworks and are different with each other, so never mix up the AngularJS and jQuery code in your project. Use only one Javascript framework at a time. If you are starting a new project, must consider AngularJS over jQuery. If you are a experienced jQuery developer, then you have to invest some time to work in AngularJS way. There are a lot of difference between AngularJS and jQuery.

1. Web designing approach in jQuery and AngularJS

In jQuery, you design a page, and then you make it dynamic. This is because jQuery was designed for augmentation and has grown incredibly from that simple premise.

But in AngularJS, you must start from the ground up with your architecture in mind. Instead of starting by thinking "I have this piece of the DOM and I want to make it do X", you have to start with what you want to accomplish, then go about designing your application, and then finally go about designing your view.

2. Don't augment jQuery with AngularJS

Similarly, don't start with the idea that jQuery does X, Y, and Z, so I'll just add AngularJS on top of that for models and controllers. This is really tempting when you're just starting out, which is why I always recommend that new AngularJS developers don't use jQuery at all, at least until they get used to doing things the "Angular Way".

I've seen many developers here and on the mailing list create these elaborate solutions with jQuery plugins of 150 or 200 lines of code that they then glue into AngularJS with a collection of callbacks and $applys that are confusing and convoluted; but they eventually get it working! The problem is that in most cases that jQuery plugin could be rewritten in AngularJS in a fraction of the code, where suddenly everything becomes comprehensible and straightforward.

The bottom line is this: when solutioning, first "think in AngularJS"; if you can't think of a solution, ask the community; if after all of that there is no easy solution, then feel free to reach for the jQuery. But don't let jQuery become a crutch or you'll never master AngularJS.

3. Always think in terms of architecture

First know that single-page applications are applications. They're not webpages. So we need to think like a server-side developer in addition to thinking like a client-side developer. We have to think about how to divide our application into individual, extensible, testable components.

So then how do you do that? How do you "think in AngularJS"? Here are some general principles, contrasted with jQuery.

The view is the "official record"

In jQuery, we programmatically change the view. We could have a dropdown menu defined as a ul like so:

<ul class="main-menu">
    <li class="active">
        <a href="#/home">Home</a>
    </li>
    <li>
        <a href="#/menu1">Menu 1</a>
        <ul>
            <li><a href="#/sm1">Submenu 1</a></li>
            <li><a href="#/sm2">Submenu 2</a></li>
            <li><a href="#/sm3">Submenu 3</a></li>
        </ul>
    </li>
    <li>
        <a href="#/home">Menu 2</a>
    </li>
</ul>

In jQuery, in our application logic, we would activate it with something like:

$('.main-menu').dropdownMenu();

When we just look at the view, it's not immediately obvious that there is any functionality here. For small applications, that's fine. But for non-trivial applications, things quickly get confusing and hard to maintain.

In AngularJS, though, the view is the official record of view-based functionality. Our ul declaration would look like this instead:

<ul class="main-menu" dropdown-menu>
    ...
</ul>

These two do the same thing, but in the AngularJS version anyone looking at the template knows what's supposed to happen. Whenever a new member of the development team comes on board, he can look at this and then know that there is a directive called dropdownMenu operating on it; he doesn't need to intuit the right answer or sift through any code. The view told us what was supposed to happen. Much cleaner.

Developers new to AngularJS often ask a question like: how do I find all links of a specific kind and add a directive onto them. The developer is always flabbergasted when we reply: you don't. But the reason you don't do that is that this is like half-jQuery, half-AngularJS, and no good. The problem here is that the developer is trying to "do jQuery" in the context of AngularJS. That's never going to work well. The view is the official record. Outside of a directive (more on this below), you never, ever, never change the DOM. And directives are applied in the view, so intent is clear.

Remember: don't design, and then mark up. You must architect, and then design.

Data binding

This is by far one of the most awesome features of AngularJS and cuts out a lot of the need to do the kinds of DOM manipulations I mentioned in the previous section. AngularJS will automatically update your view so you don't have to! In jQuery, we respond to events and then update content. Something like:

$.ajax({
  url: '/myEndpoint.json',
  success: function ( data, status ) {
    $('ul#log').append('<li>Data Received!</li>');
  }
});

For a view that looks like this:

<ul class="messages" id="log">
</ul>

Apart from mixing concerns, we also have the same problems of signifying intent that I mentioned before. But more importantly, we had to manually reference and update a DOM node. And if we want to delete a log entry, we have to code against the DOM for that too. How do we test the logic apart from the DOM? And what if we want to change the presentation?

This a little messy and a trifle frail. But in AngularJS, we can do this:

$http( '/myEndpoint.json' ).then( function ( response ) {
    $scope.log.push( { msg: 'Data Received!' } );
});

And our view can look like this:

<ul class="messages">
    <li ng-repeat="entry in log">{{ entry.msg }}</li>
</ul>

But for that matter, our view could look like this:

<div class="messages">
    <div class="alert" ng-repeat="entry in log">
        {{ entry.msg }}
    </div>
</div>

And now instead of using an unordered list, we're using Bootstrap alert boxes. And we never had to change the controller code! But more importantly, no matter where or how the log gets updated, the view will change too. Automatically. Neat!

Though I didn't show it here, the data binding is two-way. So those log messages could also be editable in the view just by doing this: 
<input ng-model="entry.msg" />. 
And there was much rejoicing.

Distinct model layer

In jQuery, the DOM is kind of like the model. But in AngularJS, we have a separate model layer that we can manage in any way we want, completely independently from the view. This helps for the above data binding, maintains separation of concerns, and introduces far greater testability. Other answers mentioned this point, so I'll just leave it at that.

Separation of concerns

And all of the above tie into this over-arching theme: keep your concerns separate. Your view acts as the official record of what is supposed to happen (for the most part); your model represents your data; you have a service layer to perform reusable tasks; you do DOM manipulation and augment your view with directives; and you glue it all together with controllers. This was also mentioned in other answers, and the only thing I would add pertains to testability, which I discuss in another section below.

Dependency injection

To help us out with separation of concerns is dependency injection (DI). If you come from a server-side language (from Java to PHP) you're probably familiar with this concept already, but if you're a client-side guy coming from jQuery, this concept can seem anything from silly to superfluous to hipster. But it's not. 

From a broad perspective, DI means that you can declare components very freely and then from any other component, just ask for an instance of it and it will be granted. You don't have to know about loading order, or file locations, or anything like that. The power may not immediately be visible, but I'll provide just one (common) example: testing.

Let's say in our application, we require a service that implements server-side storage through a REST API and, depending on application state, local storage as well. When running tests on our controllers, we don't want to have to communicate with the server - we're testing the controller, after all. We can just add a mock service of the same name as our original component, and the injector will ensure that our controller gets the fake one automatically - our controller doesn't and needn't know the difference.

4. Test-driven development 

This is really part of section 3 on architecture, but it's so important that I'm putting it as its own top-level section.

Out of all of the many jQuery plugins you've seen, used, or written, how many of them had an accompanying test suite? Not very many because jQuery isn't very amenable to that. But AngularJS is.

In jQuery, the only way to test is often to create the component independently with a sample/demo page against which our tests can perform DOM manipulation. So then we have to develop a component separately and then integrate it into our application. How inconvenient! So much of the time, when developing with jQuery, we opt for iterative instead of test-driven development. And who could blame us?

But because we have separation of concerns, we can do test-driven development iteratively in AngularJS! For example, let's say we want a super-simple directive to indicate in our menu what our current route is. We can declare what we want in our view:

<a href="/hello" when-active>Hello</a>

Okay, now we can write a test:

it( 'should add "active" when the route changes', inject(function() {
    var elm = $compile( '<a href="/hello" when-active>Hello</a>' )( $scope );

    $location.path('/not-matching');
    expect( elm.hasClass('active') ).toBeFalsey();

    $location.path( '/hello' );
    expect( elm.hasClass('active') ).toBeTruthy();
}));

We run our test and confirm that it fails. So now we can write our directive:

.directive( 'whenActive', function ( $location ) {
    return {
        scope: true,
        link: function ( scope, element, attrs ) {
            scope.$on( '$routeChangeSuccess', function () {
                if ( $location.path() == element.attr( 'href' ) ) {
                    element.addClass( 'active' );
                }
                else {
                    element.removeClass( 'active' );
                }
            });
        }
    };
});

Our test now passes and our menu performs as requested. Our development is both iterative and test-driven. 

5. Conceptually, directives are not packaged jQuery

You'll often hear "only do DOM manipulation in a directive". This is a necessity. Treat it with due deference!

But let's dive a little deeper...

Some directives just decorate what's already in the view (think ngClass) and therefore sometimes do DOM manipulation straight away and then are basically done. But if a directive is like a "widget" and has a template, it should also respect separation of concerns. That is, the template too should remain largely independent from its implementation in the link and controller functions.

AngularJS comes with an entire set of tools to make this very easy; with ngClass we can dynamically update the class; ngBind allows two-way data binding; ngShow and ngHide programmatically show or hide an element; and many more - including the ones we write ourselves. In other words, we can do all kinds of awesomeness without DOM manipulation. The less DOM manipulation, the easier directives are to test, the easier they are to style, the easier they are to change in the future, and the more re-usable and distributable they are.

I see lots of developers new to AngularJS using directives as the place to throw a bunch of jQuery. In other words, they think "since I can't do DOM manipulation in the controller, I'll take that code put it in a directive". While that certainly is much better, it's often still wrong.

Think of the logger we programmed in section 3. Even if we put that in a directive, we still want to do it the "Angular Way". It still doesn't take any DOM manipulation! There are lots of times when DOM manipulation is necessary, but it's a lot rarer than you think! Before doing DOM manipulation anywhere in your application, ask yourself if you really need to. There might be a better way.

Here's a quick example that shows the pattern I see most frequently. We want a toggleable button. (Note: this example is a little contrived and a skosh verbose to represent more complicated cases that are solved in exactly the same way.)

.directive( 'myDirective', function () {
    return {
        template: '<a class="btn">Toggle me!</a>',
        link: function ( scope, element, attrs ) {
            var on = false;

            $(element).click( function () {
                if ( on ) {
                    $(element).removeClass( 'active' );
                }
                else {
                    $(element).addClass( 'active' );
                }

                on = !on;
            });
        }
    };
});

There are a few things wrong with this. First, jQuery was never necessary. There's nothing we did here that needed jQuery at all! Second, even if we already have jQuery on our page, there's no reason to use it here; we can simply use angular.element and our component will still work when dropped into a project that doesn't have jQuery. Third, even assuming jQuery was required for this directive to work, jqLite (angular.element) will always use jQuery if it was loaded! So we needn't use the $ - we can just use angular.element. Fourth, closely related to the third, is that jqLite elements needn't be wrapped in $ - the element that is passed to the link function would already be a jQuery element! And fifth, which we've mentioned in previous sections, why are we mixing template stuff into our logic?

This directive can be rewritten (even for very complicated cases!) much more simply like so:

.directive( 'myDirective', function () {
    return {
        scope: true,
        template: '<a class="btn" ng-class="{active: on}" ng-click="toggle()">Toggle me!</a>',
        link: function ( scope, element, attrs ) {
            scope.on = false;

            scope.toggle = function () {
                scope.on = !scope.on;
            };
        }
    };
});

Again, the template stuff is in the template, so you (or your users) can easily swap it out for one that meets any style necessary, and the logic never had to be touched. 

And there are still all those other benefits, like testing - it's easy! No matter what's in the template, the directive's internal API is never touched, so refactoring is easy. You can change the template as much as you want without touching the directive. And no matter what you change, your tests still pass.

So if directives aren't just collections of jQuery-like functions, what are they? Directives are actually extensions of HTML. If HTML doesn't do something you need it to do, you write a directive to do it for you, and then use it just as if it was part of HTML.

Put another way, if AngularJS doesn't do something out of the box, think how the team would accomplish it to fit right in with ngClick, ngClass, et al.

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 18. How will you display different images based on the status being red, amber, or green?

Use the ng-switch and ng-switch-when directives as shown below.

<div ng-switch on="account.status">
 <div ng-switch-when="AMBER">
  <img class="statusIcon"
   src='apps/dashboard/amber-dot.jpg' />
 </div>
 <div ng-switch-when="GREEN">
  <img class="statusIcon"
   src='apps/dashboard/green-dot.jpg' />
 </div>
 <div ng-switch-when="RED">
  <img class="statusIcon"
   src='apps/dashboard/red-dot.jpg' />
 </div>
</div>

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 19. How will you show/hide buttons and enable/disable buttons conditionally?

Using the ng-show and ng-disabled directives.

<div class="dataControlPanel"
    ng-show="accounts.releasePortfolios">
     
    <div class="dataControlButtons">
     <button class="btn btn-primary btn-small"
      ng-click="saveComments()" ng-disabled="disableSaveButton">Save</button>
     <button class="btn btn-primary btn-small"
      ng-click="releaseRun()" ng-disabled="disableReleaseButton">Release</button>
    </div>
</div>

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 20. How will you loop through a collection and list each item?

Using the ng-repeat directive.

<table
  class="table table-bordered table-striped table-hover table-fixed-head portal-data-table">
  <thead>
   <tr>
    <th>account</th>
    <th>Difference</th>
    <th>Status</th>
   </tr>
  </thead>
  <tbody>
   <tr
    ng-repeat="account in acounts">
    <td width="40%">{{account.accountCode}}</td>
    <td width="30%" style="text-align: right">{{account.difference
     | currency: ""}}</td>
    <td width="30%">

     <div ng-switch on="account.status">
      <div ng-switch-when="AMBER">
       <img class="statusIcon"
        src='apps/dashboard/amber-dot.jpg' />
      </div>
      <div ng-switch-when="GREEN">
       <img class="statusIcon"
        src='apps/dashboard/green-dot.jpg' />
      </div>
      <div ng-switch-when="RED">
       <img class="statusIcon"
        src='apps/dashboard/red-dot.jpg' />
      </div>
     </div>

    </td>
   </tr>
  </tbody>
</table>

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Ques 21. How will you display inprogress revolving image to indicate that RESTful data is bing loaded?

<div ng-show="loading">
 <img class="loading" src="portal/images/loading_32.gif" />
</div>

 $scope.loadReportData = function($http) {
 $scope.loading = true;  // start spinng the image
 $http(
   {
    method : 'GET',
    url : propertiesService.get('restPath')
      + '/myapp/portfolio/'
      + $scope.clientId
      + '/'
      + dateService
        .userToRest($scope.reportDate),
    cacheBreaker : true
   }).success(
   function(data, config) {
    $scope.reportData = data;
    portal.log('reportData: ',
      $scope.reportData);
    $scope.loading = false;   // stop spinning the image
   }).error(
   function(data, status, headers, config) {
    if(data.errorMsg != null) {
     $scope.httpError = data.errorMsg;
    }
    else {
    $scope.httpError = "Error retrieving data from " + errorService
      .getApacheErrorTitleMessage(status,
        data, config);
       }
    $scope.loading = false;  // stop spinning the image
   });

};

Save For Revision

Save For Revision

Bookmark this item, mark it difficult, or place it in a revision set.

Open My Learning Library

Is it helpful? Add Comment View Comments
 

Most helpful rated by users:

Related interview subjects

PHP вопросы и ответы для интервью - Total 27 questions
Oracle JET(OJET) вопросы и ответы для интервью - Total 54 questions
Frontend Developer вопросы и ответы для интервью - Total 30 questions
Zend Framework вопросы и ответы для интервью - Total 24 questions
RichFaces вопросы и ответы для интервью - Total 26 questions
HTML вопросы и ответы для интервью - Total 27 questions
Flutter вопросы и ответы для интервью - Total 25 questions
CakePHP вопросы и ответы для интервью - Total 30 questions
React вопросы и ответы для интервью - Total 40 questions
React Native вопросы и ответы для интервью - Total 26 questions
Angular JS вопросы и ответы для интервью - Total 21 questions
Web Developer вопросы и ответы для интервью - Total 50 questions
Angular 8 вопросы и ответы для интервью - Total 32 questions
Dojo вопросы и ответы для интервью - Total 23 questions
GWT вопросы и ответы для интервью - Total 27 questions
Symfony вопросы и ответы для интервью - Total 30 questions
Ruby On Rails вопросы и ответы для интервью - Total 74 questions
CSS вопросы и ответы для интервью - Total 74 questions
Yii вопросы и ответы для интервью - Total 30 questions
Angular вопросы и ответы для интервью - Total 50 questions

All interview subjects

C# вопросы и ответы для интервью - Total 41 questions
LINQ вопросы и ответы для интервью - Total 20 questions
ASP .NET вопросы и ответы для интервью - Total 31 questions
Microsoft .NET вопросы и ответы для интервью - Total 60 questions
ASP вопросы и ответы для интервью - Total 82 questions
IBM Watson вопросы и ответы для интервью - Total 30 questions
Perplexity AI вопросы и ответы для интервью - Total 40 questions
ChatGPT вопросы и ответы для интервью - Total 20 questions
NLP вопросы и ответы для интервью - Total 30 questions
AI Agents (Agentic AI) вопросы и ответы для интервью - Total 50 questions
OpenCV вопросы и ответы для интервью - Total 36 questions
Amazon SageMaker вопросы и ответы для интервью - Total 30 questions
TensorFlow вопросы и ответы для интервью - Total 30 questions
Hugging Face вопросы и ответы для интервью - Total 30 questions
Gemini AI вопросы и ответы для интервью - Total 50 questions
Artificial Intelligence (AI) вопросы и ответы для интервью - Total 47 questions
Oracle AI Agents вопросы и ответы для интервью - Total 50 questions
Machine Learning вопросы и ответы для интервью - Total 30 questions
Google Cloud AI вопросы и ответы для интервью - Total 30 questions
Scala вопросы и ответы для интервью - Total 48 questions
Swift вопросы и ответы для интервью - Total 49 questions
Golang вопросы и ответы для интервью - Total 30 questions
Embedded C вопросы и ответы для интервью - Total 30 questions
VBA вопросы и ответы для интервью - Total 30 questions
C++ вопросы и ответы для интервью - Total 142 questions
COBOL вопросы и ответы для интервью - Total 50 questions
R Language вопросы и ответы для интервью - Total 30 questions
Python Coding вопросы и ответы для интервью - Total 20 questions
CCNA вопросы и ответы для интервью - Total 40 questions
Oracle Cloud Infrastructure (OCI) вопросы и ответы для интервью - Total 100 questions
AWS вопросы и ответы для интервью - Total 87 questions
Azure Data Factory вопросы и ответы для интервью - Total 30 questions
Microsoft Azure вопросы и ответы для интервью - Total 35 questions
OpenStack вопросы и ответы для интервью - Total 30 questions
ServiceNow вопросы и ответы для интервью - Total 30 questions
Snowflake вопросы и ответы для интервью - Total 30 questions
Oracle APEX вопросы и ответы для интервью - Total 23 questions
PDPA вопросы и ответы для интервью - Total 20 questions
OSHA вопросы и ответы для интервью - Total 20 questions
HIPPA вопросы и ответы для интервью - Total 20 questions
PHIPA вопросы и ответы для интервью - Total 20 questions
FERPA вопросы и ответы для интервью - Total 20 questions
DPDP вопросы и ответы для интервью - Total 30 questions
PIPEDA вопросы и ответы для интервью - Total 20 questions
CCPA вопросы и ответы для интервью - Total 20 questions
GDPR вопросы и ответы для интервью - Total 30 questions
HITRUST вопросы и ответы для интервью - Total 20 questions
LGPD вопросы и ответы для интервью - Total 20 questions
Data Structures вопросы и ответы для интервью - Total 49 questions
Computer Networking вопросы и ответы для интервью - Total 65 questions
Microsoft Excel вопросы и ответы для интервью - Total 37 questions
Computer Basics вопросы и ответы для интервью - Total 62 questions
Computer Science вопросы и ответы для интервью - Total 50 questions
MS Word вопросы и ответы для интервью - Total 50 questions
Operating System вопросы и ответы для интервью - Total 22 questions
Tips and Tricks вопросы и ответы для интервью - Total 30 questions
PoowerPoint вопросы и ответы для интервью - Total 50 questions
Pandas вопросы и ответы для интервью - Total 30 questions
Deep Learning вопросы и ответы для интервью - Total 29 questions
PySpark вопросы и ответы для интервью - Total 30 questions
Flask вопросы и ответы для интервью - Total 40 questions
PyTorch вопросы и ответы для интервью - Total 25 questions
Data Science вопросы и ответы для интервью - Total 23 questions
SciPy вопросы и ответы для интервью - Total 30 questions
Generative AI вопросы и ответы для интервью - Total 30 questions
NumPy вопросы и ответы для интервью - Total 30 questions
Python вопросы и ответы для интервью - Total 106 questions
Python Pandas вопросы и ответы для интервью - Total 48 questions
Python Matplotlib вопросы и ответы для интервью - Total 30 questions
Django вопросы и ответы для интервью - Total 50 questions
MariaDB вопросы и ответы для интервью - Total 40 questions
DBMS вопросы и ответы для интервью - Total 73 questions
Apache Hive вопросы и ответы для интервью - Total 30 questions
SSIS вопросы и ответы для интервью - Total 30 questions
PostgreSQL вопросы и ответы для интервью - Total 30 questions
Teradata вопросы и ответы для интервью - Total 20 questions
SQL Query вопросы и ответы для интервью - Total 70 questions
SQLite вопросы и ответы для интервью - Total 53 questions
Cassandra вопросы и ответы для интервью - Total 25 questions
Neo4j вопросы и ответы для интервью - Total 44 questions
MSSQL вопросы и ответы для интервью - Total 50 questions
OrientDB вопросы и ответы для интервью - Total 46 questions
SQL вопросы и ответы для интервью - Total 152 questions
Data Warehouse вопросы и ответы для интервью - Total 20 questions
IBM DB2 вопросы и ответы для интервью - Total 40 questions
Data Mining вопросы и ответы для интервью - Total 30 questions
Elasticsearch вопросы и ответы для интервью - Total 61 questions
Oracle вопросы и ответы для интервью - Total 34 questions
MongoDB вопросы и ответы для интервью - Total 27 questions
AWS DynamoDB вопросы и ответы для интервью - Total 46 questions
Entity Framework вопросы и ответы для интервью - Total 46 questions
MySQL вопросы и ответы для интервью - Total 108 questions
Data Modeling вопросы и ответы для интервью - Total 30 questions
Redis Cache вопросы и ответы для интервью - Total 20 questions
Data Engineer вопросы и ответы для интервью - Total 30 questions
Robotics вопросы и ответы для интервью - Total 28 questions
AutoCAD вопросы и ответы для интервью - Total 30 questions
Power System вопросы и ответы для интервью - Total 28 questions
Electrical Engineering вопросы и ответы для интервью - Total 30 questions
Verilog вопросы и ответы для интервью - Total 30 questions
Digital Electronics вопросы и ответы для интервью - Total 38 questions
VLSI вопросы и ответы для интервью - Total 30 questions
Software Engineering вопросы и ответы для интервью - Total 27 questions
MATLAB вопросы и ответы для интервью - Total 25 questions
Civil Engineering вопросы и ответы для интервью - Total 30 questions
Electrical Machines вопросы и ответы для интервью - Total 29 questions
Oracle CXUnity вопросы и ответы для интервью - Total 29 questions
Web Services вопросы и ответы для интервью - Total 10 questions
Salesforce Lightning вопросы и ответы для интервью - Total 30 questions
IBM Integration Bus вопросы и ответы для интервью - Total 30 questions
Power BI вопросы и ответы для интервью - Total 24 questions
OIC вопросы и ответы для интервью - Total 30 questions
Web API вопросы и ответы для интервью - Total 31 questions
Dell Boomi вопросы и ответы для интервью - Total 30 questions
Salesforce вопросы и ответы для интервью - Total 57 questions
IBM DataStage вопросы и ответы для интервью - Total 20 questions
Talend вопросы и ответы для интервью - Total 34 questions
TIBCO вопросы и ответы для интервью - Total 30 questions
Informatica вопросы и ответы для интервью - Total 48 questions
Java Applet вопросы и ответы для интервью - Total 29 questions
Java Mail вопросы и ответы для интервью - Total 27 questions
Google Gson вопросы и ответы для интервью - Total 8 questions
Java 21 вопросы и ответы для интервью - Total 21 questions
RMI вопросы и ответы для интервью - Total 31 questions
Java Support вопросы и ответы для интервью - Total 30 questions
Apache Camel вопросы и ответы для интервью - Total 20 questions
Struts вопросы и ответы для интервью - Total 84 questions
JAXB вопросы и ответы для интервью - Total 18 questions
J2EE вопросы и ответы для интервью - Total 25 questions
JUnit вопросы и ответы для интервью - Total 24 questions
Java OOPs вопросы и ответы для интервью - Total 30 questions
Apache Tapestry вопросы и ответы для интервью - Total 9 questions
JSP вопросы и ответы для интервью - Total 49 questions
Java Concurrency вопросы и ответы для интервью - Total 30 questions
JDBC вопросы и ответы для интервью - Total 27 questions
Java 11 вопросы и ответы для интервью - Total 24 questions
Java Garbage Collection вопросы и ответы для интервью - Total 30 questions
Java Swing вопросы и ответы для интервью - Total 27 questions
Java Design Patterns вопросы и ответы для интервью - Total 15 questions
Spring Framework вопросы и ответы для интервью - Total 53 questions
JPA вопросы и ответы для интервью - Total 41 questions
JSF вопросы и ответы для интервью - Total 24 questions
Java 8 вопросы и ответы для интервью - Total 30 questions
Hibernate вопросы и ответы для интервью - Total 52 questions
JMS вопросы и ответы для интервью - Total 64 questions
Java 17 вопросы и ответы для интервью - Total 20 questions
Java Beans вопросы и ответы для интервью - Total 57 questions
Java Exception Handling вопросы и ответы для интервью - Total 30 questions
Spring Boot вопросы и ответы для интервью - Total 50 questions
Servlets вопросы и ответы для интервью - Total 34 questions
Kotlin вопросы и ответы для интервью - Total 30 questions
EJB вопросы и ответы для интервью - Total 80 questions
Java 15 вопросы и ответы для интервью - Total 16 questions
Java Multithreading вопросы и ответы для интервью - Total 30 questions
Apache Wicket вопросы и ответы для интервью - Total 26 questions
Core Java вопросы и ответы для интервью - Total 306 questions
JBoss вопросы и ответы для интервью - Total 14 questions
Log4j вопросы и ответы для интервью - Total 35 questions
ITIL вопросы и ответы для интервью - Total 25 questions
Finance вопросы и ответы для интервью - Total 30 questions
JIRA вопросы и ответы для интервью - Total 30 questions
SAP MM вопросы и ответы для интервью - Total 30 questions
SAP ABAP вопросы и ответы для интервью - Total 24 questions
SCCM вопросы и ответы для интервью - Total 30 questions
Tally вопросы и ответы для интервью - Total 30 questions
Pega вопросы и ответы для интервью - Total 30 questions
Android вопросы и ответы для интервью - Total 14 questions
Mobile Computing вопросы и ответы для интервью - Total 20 questions
Xamarin вопросы и ответы для интервью - Total 31 questions
iOS вопросы и ответы для интервью - Total 52 questions
Ionic вопросы и ответы для интервью - Total 32 questions
Kubernetes вопросы и ответы для интервью - Total 30 questions
Microservices вопросы и ответы для интервью - Total 30 questions
Apache Kafka вопросы и ответы для интервью - Total 38 questions
Tableau вопросы и ответы для интервью - Total 20 questions
Adobe AEM вопросы и ответы для интервью - Total 50 questions
IAS вопросы и ответы для интервью - Total 56 questions
PHP OOPs вопросы и ответы для интервью - Total 30 questions
OOPs вопросы и ответы для интервью - Total 30 questions
Fashion Designer вопросы и ответы для интервью - Total 20 questions
Desktop Support вопросы и ответы для интервью - Total 30 questions
CICS вопросы и ответы для интервью - Total 30 questions
Yoga Teachers Training вопросы и ответы для интервью - Total 30 questions
Nursing вопросы и ответы для интервью - Total 40 questions
Linked List вопросы и ответы для интервью - Total 15 questions
Dynamic Programming вопросы и ответы для интервью - Total 30 questions
SharePoint вопросы и ответы для интервью - Total 28 questions
Behavioral вопросы и ответы для интервью - Total 29 questions
School Teachers вопросы и ответы для интервью - Total 25 questions
Language in C вопросы и ответы для интервью - Total 80 questions
Statistics вопросы и ответы для интервью - Total 30 questions
Digital Marketing вопросы и ответы для интервью - Total 40 questions
Apache Spark вопросы и ответы для интервью - Total 24 questions
Full-Stack Developer вопросы и ответы для интервью - Total 60 questions
IIS вопросы и ответы для интервью - Total 30 questions
System Design вопросы и ответы для интервью - Total 30 questions
VISA вопросы и ответы для интервью - Total 30 questions
Google Analytics вопросы и ответы для интервью - Total 30 questions
Cloud Computing вопросы и ответы для интервью - Total 42 questions
BPO вопросы и ответы для интервью - Total 48 questions
ANT вопросы и ответы для интервью - Total 10 questions
SEO вопросы и ответы для интервью - Total 51 questions
SAS вопросы и ответы для интервью - Total 24 questions
Control System вопросы и ответы для интервью - Total 28 questions
Agile Methodology вопросы и ответы для интервью - Total 30 questions
HR Questions вопросы и ответы для интервью - Total 49 questions
REST API вопросы и ответы для интервью - Total 52 questions
Content Writer вопросы и ответы для интервью - Total 30 questions
Banking вопросы и ответы для интервью - Total 20 questions
Checkpoint вопросы и ответы для интервью - Total 20 questions
Blockchain вопросы и ответы для интервью - Total 29 questions
Technical Support вопросы и ответы для интервью - Total 30 questions
Mainframe вопросы и ответы для интервью - Total 20 questions
Hadoop вопросы и ответы для интервью - Total 40 questions
Chemistry вопросы и ответы для интервью - Total 50 questions
Docker вопросы и ответы для интервью - Total 30 questions
Sales вопросы и ответы для интервью - Total 30 questions
Nature вопросы и ответы для интервью - Total 20 questions
Interview Tips вопросы и ответы для интервью - Total 30 questions
College Teachers вопросы и ответы для интервью - Total 30 questions
SDLC вопросы и ответы для интервью - Total 75 questions
Cryptography вопросы и ответы для интервью - Total 40 questions
RPA вопросы и ответы для интервью - Total 26 questions
Blue Prism вопросы и ответы для интервью - Total 20 questions
Memcached вопросы и ответы для интервью - Total 28 questions
GIT вопросы и ответы для интервью - Total 30 questions
DevOps вопросы и ответы для интервью - Total 45 questions
Accounting вопросы и ответы для интервью - Total 30 questions
SSB вопросы и ответы для интервью - Total 30 questions
Algorithm вопросы и ответы для интервью - Total 50 questions
Business Analyst вопросы и ответы для интервью - Total 40 questions
Splunk вопросы и ответы для интервью - Total 30 questions
Sqoop вопросы и ответы для интервью - Total 30 questions
JSON вопросы и ответы для интервью - Total 16 questions
OSPF вопросы и ответы для интервью - Total 30 questions
Insurance вопросы и ответы для интервью - Total 30 questions
Scrum Master вопросы и ответы для интервью - Total 30 questions
Accounts Payable вопросы и ответы для интервью - Total 30 questions
Computer Graphics вопросы и ответы для интервью - Total 25 questions
IoT вопросы и ответы для интервью - Total 30 questions
Bitcoin вопросы и ответы для интервью - Total 30 questions
Active Directory вопросы и ответы для интервью - Total 30 questions
Laravel вопросы и ответы для интервью - Total 30 questions
XML вопросы и ответы для интервью - Total 25 questions
GraphQL вопросы и ответы для интервью - Total 32 questions
Ansible вопросы и ответы для интервью - Total 30 questions
Electron.js вопросы и ответы для интервью - Total 24 questions
ES6 вопросы и ответы для интервью - Total 30 questions
RxJS вопросы и ответы для интервью - Total 29 questions
NodeJS вопросы и ответы для интервью - Total 30 questions
Vue.js вопросы и ответы для интервью - Total 30 questions
ExtJS вопросы и ответы для интервью - Total 50 questions
jQuery вопросы и ответы для интервью - Total 22 questions
Svelte.js вопросы и ответы для интервью - Total 30 questions
Shell Scripting вопросы и ответы для интервью - Total 50 questions
Next.js вопросы и ответы для интервью - Total 30 questions
Knockout JS вопросы и ответы для интервью - Total 25 questions
TypeScript вопросы и ответы для интервью - Total 38 questions
PowerShell вопросы и ответы для интервью - Total 27 questions
Terraform вопросы и ответы для интервью - Total 30 questions
JCL вопросы и ответы для интервью - Total 20 questions
JavaScript вопросы и ответы для интервью - Total 59 questions
Ajax вопросы и ответы для интервью - Total 58 questions
Express.js вопросы и ответы для интервью - Total 30 questions
Ethical Hacking вопросы и ответы для интервью - Total 40 questions
Cyber Security вопросы и ответы для интервью - Total 50 questions
PII вопросы и ответы для интервью - Total 30 questions
Data Protection Act вопросы и ответы для интервью - Total 20 questions
BGP вопросы и ответы для интервью - Total 30 questions
Ubuntu вопросы и ответы для интервью - Total 30 questions
Linux вопросы и ответы для интервью - Total 43 questions
Unix вопросы и ответы для интервью - Total 105 questions
Weblogic вопросы и ответы для интервью - Total 30 questions
Tomcat вопросы и ответы для интервью - Total 16 questions
Glassfish вопросы и ответы для интервью - Total 8 questions
TestNG вопросы и ответы для интервью - Total 38 questions
Postman вопросы и ответы для интервью - Total 30 questions
SDET вопросы и ответы для интервью - Total 30 questions
UiPath вопросы и ответы для интервью - Total 38 questions
Quality Assurance вопросы и ответы для интервью - Total 56 questions
Selenium вопросы и ответы для интервью - Total 40 questions
Kali Linux вопросы и ответы для интервью - Total 29 questions
Mobile Testing вопросы и ответы для интервью - Total 30 questions
API Testing вопросы и ответы для интервью - Total 30 questions
Appium вопросы и ответы для интервью - Total 30 questions
ETL Testing вопросы и ответы для интервью - Total 20 questions
QTP вопросы и ответы для интервью - Total 44 questions
Cucumber вопросы и ответы для интервью - Total 30 questions
PHP вопросы и ответы для интервью - Total 27 questions
Oracle JET(OJET) вопросы и ответы для интервью - Total 54 questions
Frontend Developer вопросы и ответы для интервью - Total 30 questions
Zend Framework вопросы и ответы для интервью - Total 24 questions
RichFaces вопросы и ответы для интервью - Total 26 questions
HTML вопросы и ответы для интервью - Total 27 questions
Flutter вопросы и ответы для интервью - Total 25 questions
CakePHP вопросы и ответы для интервью - Total 30 questions
React вопросы и ответы для интервью - Total 40 questions
React Native вопросы и ответы для интервью - Total 26 questions
Angular JS вопросы и ответы для интервью - Total 21 questions
Web Developer вопросы и ответы для интервью - Total 50 questions
Angular 8 вопросы и ответы для интервью - Total 32 questions
Dojo вопросы и ответы для интервью - Total 23 questions
GWT вопросы и ответы для интервью - Total 27 questions
Symfony вопросы и ответы для интервью - Total 30 questions
Ruby On Rails вопросы и ответы для интервью - Total 74 questions
CSS вопросы и ответы для интервью - Total 74 questions
Yii вопросы и ответы для интервью - Total 30 questions
Angular вопросы и ответы для интервью - Total 50 questions
Авторские права © 2026, WithoutBook.