Pitanja za intervju s AngularJS

Evo popisa koncepata o kojima se često pita u intervjuima s AngularJS-om.

  • Što je AngularJS?
  • Što je Model View Controller (MVC)?
  • Dvosmjerno vezivanje podataka
  • Što je injekcija ovisnosti i kako to djeluje?
  • Što je $ opseg u AngularJS?
  • Što je $ rootScope u AngularJS?
  • Kako implementirati usmjeravanje u Angular?
  • Objasnite smjernice
  • Kako možemo stvoriti prilagođenu direktivu u Angulu?
  • Objasnite razliku između servisa i tvornice
  • Objasnite $ q uslugu, odgođene i obećanja

Primjeri pitanja i odgovora

Pitanje: Navedite smjernice u AngularJS?

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

Pitanje: Što je $ opseg u AngularJS?

Odgovor: $ opseg u AngularJS-u je objekt koji se odnosi na model aplikacije. To je objekt koji povezuje pogled (DOM element) s kontrolerom. U kontroleru se podacima o modelu pristupa putem $ scope objekta. Kao što znamo, AngularJS podržava MV * obrazac, objekt $ scope postaje model MV *.

Pitanje: Što je SPA (aplikacija na jednoj stranici) u AngularJS?

Odgovor: Aplikacije s jednom stranicom (SPA) su web aplikacije koje učitavaju jednu HTML stranicu i dinamički je ažuriraju dok korisnik komunicira s aplikacijom.

SPA-ovi koriste AJAX i HTML za stvaranje fluidnih i responzivnih web aplikacija, bez stalnog ponovnog učitavanja stranica. Međutim, to znači da se velik dio posla odvija na klijentskoj strani, u JavaScript-u.

Jedna HTML stranica ovdje znači stranicu odgovora korisničkog sučelja s poslužitelja. Izvor može biti ASP, ASP.NET, ASP.NET MVC, JSP i tako dalje.

Web-aplikacija s jednom stranicom, međutim, isporučuje se pregledniku kao jedna stranica i obično ne zahtijeva ponovno učitavanje stranice dok korisnik prelazi na različite dijelove aplikacije. To rezultira bržom navigacijom, učinkovitijim mrežnim prijenosima i boljim ukupnim performansama za krajnjeg korisnika.

Pitanje: Što je usmjeravanje u AngularJS?

Odgovor: Usmjeravanje je glavna značajka u AngularJS-u. Ova je značajka korisna za izgradnju SPA-a (aplikacije s jednom stranicom) s više pogleda. U SPA-ima su svi pogledi različite HTML datoteke i koristimo usmjeravanje za učitavanje različitih dijelova aplikacije. Korisno je logički podijeliti aplikaciju i učiniti je upravljivom. Drugim riječima, usmjeravanje nam pomaže podijeliti našu aplikaciju na logičke prikaze i povezati ih s različitim kontrolerima.

Pitanje: Objasnite smjernicu ng-repeat.

Odgovor: Direktiva ng-repeat je najčešće korištena značajka AngularJS direktive. Prevlači se kroz zbirku predmeta i stvara DOM elemente. Stalno nadgleda izvor podataka kako bi ponovno prikazao predložak kao odgovor na promjene.

Pitanje: Koja je razlika između ng-If i ng-show / ng-hide.

Odgovor: Direktiva ng-If generira DOM element samo ako je uvjet istinit. Dok direktiva ng-show / ng-hide generira DOM element, ali mijenja klasu ng-hide / ng-show kako bi održala vidljivost elementa na stranici.

Pitanje: Kako otkazati vremensko ograničenje s AngularJ-ovima?

Odgovor: $ timeout je omot AngularJs-a za window.setTimeout, poništavate timeout primjenjujući funkciju:

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

Pitanje: Što je injekcija ovisnosti?

Odgovor: Injection Dependency (DI) je obrazac softverskog dizajna koji se bavi načinom na koji komponente uviđaju svoje ovisnosti.

Podsistem brizgalice AngularJS zadužen je za stvaranje komponenata, rješavanje njihovih ovisnosti i njihovo pružanje ostalim komponentama prema zahtjevu.

Pitanje: Objasnite direktivu ng-App.

Odgovor: Direktiva ng-app pokreće aplikaciju AngularJS. Definira korijenski element. Automatski inicijalizira ili pokreće aplikaciju kada se učita web stranica koja sadrži aplikaciju AngularJS. Također se koristi za učitavanje različitih modula AngularJS u aplikacijama AngularJS.

Pitanje: Objasnite ng-init direktivu

Odgovor: Direktiva ng-init inicijalizira podatke aplikacije AngularJS. Koristi se za stavljanje vrijednosti u varijable koje će se koristiti u aplikaciji.

Na primjer, u donjem kodu inicijalizirali smo niz zemalja koristeći JSON sintaksu za definiranje niza zemalja.

 ... 

Pitanje: Kako dijelite podatke između kontrolora?

Odgovor: Stvorite uslugu AngularJS koja će držati podatke i ubrizgavati ih u kontrolere. Korištenje usluge najčistiji je, najbrži i najlakši način testiranja.

Međutim, postoji nekoliko drugih načina za implementaciju dijeljenja podataka između kontrolora, poput:

  • Korištenje događaja
  • Upotreba $ parent, nextSibling, controllerAs i tako dalje za izravni pristup kontrolerima
  • Upotreba $ rootScope za dodavanje podataka (nije dobra praksa)

Pitanje: Koja je razlika između ng-if i ng-show / hide direktiva?

Odgovor: ng-if će stvoriti i prikazati DOM element samo kada je njegovo stanje točno. Ako je uvjet netačan ili se promijeni u netačno, stvoreni neće stvoriti ili uništiti.

ng-show / hide uvijek će generirati DOM element, ali će primijeniti svojstvo CSS prikaza na temelju procjene stanja.

Više informacija o AngularJS:

  • Kutni vs AngularJS
  • Najbolji vodiči za Angular i AngularJS