Da li se spremate za intervju za poziciju Angular programera? Onda je ključno da se pripremite uz ova pitanja za intervju vezana za Angular.
Ako ste JavaScript programer, verovatno ste upoznati sa Angular frameworkom za razvoj front-end aplikacija. On je postao jedna od najtraženijih veština među programerima današnjice.
Međutim, može biti izazovno u potpunosti razumeti Angular framework. Zato je ključno da budete spremni na sve što vas anketar može pitati. Od direktiva do celokupnog frameworka, vaša pripremljenost će vam pomoći da uspešno prođete intervju i dobijete posao koji može značajno unaprediti vašu karijeru.
Sastavili smo listu nekih od najčešćih pitanja za Angular intervju na koje treba da budete spremni kako biste ostvarili svoj posao iz snova.
Šta je Angular izraz? Po čemu se razlikuje od JavaScript izraza?
Angular Expression je deo koda koji programeri postavljaju u formatu {{ izraz }}. Glavne razlike između Angular i JavaScript izraza su:
- Lakše je koristiti filtere pre prikazivanja podataka.
- Evaluacija je tolerantna na undefined i null vrednosti, za razliku od JavaScript undefined koji generiše ReferenceError i TypeError.
- Evaluira se u kontekstu objekta opsega (scope object).
- Angular izrazi ne uključuju izuzetke, uslove i petlje.
Objasnite vezivanje podataka (data binding).
Vezivanje podataka se smatra jednom od najuticajnijih i najvažnijih karakteristika koje omogućavaju uspostavljanje veze između komponenti i DOM-a. Olakšava definisanje procesa interaktivnih aplikacija bez potrebe za ručnim povlačenjem i guranjem podataka između šablona i komponenti. U Angularu se koristi nekoliko tipova vezivanja podataka, kao što su:
- Vezivanje svojstava (property binding),
- Dvosmerno vezivanje podataka (two-way data binding),
- Vezivanje događaja (event binding) i
- Interpolacija stringova (string interpolation).
Opišite različite hookove životnog ciklusa Angulara.
Hookovi životnog ciklusa Angulara su ključni za praćenje okidača i faza promena tokom trajanja određene faze. Komponenta životnog ciklusa uključuje konstruktor, i deli se na četiri glavna dela: ngOnChanges, ngOnInit, ngDoCheck i ngOnDestroy. ngOnChanges se takođe nadovezuje na ngAfterViewInit, ngAfterContentInit, ngAfterViewChecked i ngAfterContentChecked.
- ngOnChanges( ) – Ovaj metod se poziva kada se jedno ili više ulaznih svojstava komponenti promeni. U hook se primaju prethodne i trenutne vrednosti svojstava – SimpleChanges.
- ngOnInit() – Poziva se nakon ngOnChanges, i služi za inicijalizaciju ulaznih svojstava i komponenti.
- ngDoCheck( ) – Poziva se u trećoj fazi, i služi za otkrivanje promena koje Angular ne može automatski detektovati. Omogućava implementaciju prilagođenog algoritma za detekciju promena.
- ngAfterContentInit( ) – Poziva se kada komponenta primi sadržaj koji je projektovan u nju.
- ngAfterContentChecked( ) – Poziva se nakon svakog ngDoCheck i ngAfterContentInit odgovora, nakon što je projektovani sadržaj proveren.
- ngAfterViewInit() – Poziva se nakon što je prikaz podređenih komponenti proveren.
- ngOnDestroy() – Služi za odvezivanje event handlera i čišćenje koda pre nego što Angular uništi komponentu.
Koja je razlika između AOT-a i JIT-a u Angularu?
Mnogi se mogu zbuniti oko razlike između AOT i JIT kompajlera u Angularu, zato je važno poznavati osnove:
- Ahead-of-Time (AOT) kompajler kompajlira kod na serveru tokom build-a. Just-in-Time (JIT) kompajler to radi u pretraživaču tokom runtime-a aplikacije.
- AOT je idealan za produkcioni režim, dok je JIT bolji za razvojni režim, jer omogućava brzu kompilaciju tokom razvoja projekta.
- AOT kompilacija koristi komande `ng serve` i `ng build`, dok JIT kompilacija koristi `ng serve` i `ng build` CLI komande.
- AOT može smanjiti veličinu paketa za brže prikazivanje, dok JIT dolazi sa otklanjanjem grešaka i mapiranjem fajlova.
Objasnite RxJS.
Reactive Extensions for JavaScript (RxJS) koristi observablse koji programerima omogućavaju implementaciju reaktivnog programiranja. Cilj je komponovanje koda zasnovanog na callbackovima ili asinhronim operacijama pomoću RxJS frameworka u Angularu. Omogućava strimovanje podataka do pretplatnika koji emituju vrednosti od izdavača. Iako je najčešće korišćen u Angularu, druge programske jezike kao što su Python i Java takođe mogu koristiti observablse za reaktivno programiranje.
Dublje o različitim tipovima Angular filtera.
Angular koristi filtere za prikazivanje formatiranih vrednosti izraza korisnicima, i mogu se dodati šablonima, direktivama, servisima i kontrolerima. Možete kreirati sopstveni filter na osnovu potreba, koji korisnicima omogućava organizovanje podataka po određenim kriterijumima. Filteri se postavljaju u izrazu iza simbola cevi ( | ). Primarni filteri koji se koriste u Angularu su:
- number – Za konvertovanje vrednosti u string.
- currency – Za konvertovanje brojeva u format valute.
- json – Za konvertovanje bilo kog objekta u JSON string.
- date – Za konvertovanje u bilo koji format datuma.
- limitTo – Za ograničavanje niza ili stringa na određeni broj elemenata.
- orderBy – Za sortiranje niza u izrazu.
- uppercase – Za konvertovanje stringa u velika slova.
- lowercase – Za konvertovanje stringa u mala slova.
- filter – Za izbor podskupa iz datog niza.
Definišite bootstrapping.
Bootstrapping je način za pokretanje ili inicijalizaciju aplikacije u Angularu, može biti automatski ili ručni. Evo objašnjenja:
- Automatsko pokretanje se dešava kada se direktiva `ng-app` doda na element, kada je to potrebno. Angular kompajlira DOM i vezuje se za `ng-app` direktivu da pronađe module.
- Ručno pokretanje se koristi za inicijalizaciju Angular aplikacije i omogućava programerima kontrolu nad obavljanjem značajnih operacija i zadataka prilikom kompilacije stranice.
Objasnite Angular direktive.
Kada govorimo o Angular direktivama, postoje tri značajna tipa:
- Atributne – Koriste se za izmenu ponašanja i izgleda elemenata, drugih direktiva i komponenti. Koriste `ngStyle` i `ngClass` kao atribute elemenata.
- Komponente – Sastoje se od šablona koji mogu definisati korisnički interfejs pomoću CSS stilova, TypeScript koda i HTML šablona. Obično su označene simbolom @ koji Angular kompajleru nalaže da ga zameni šablonom komponente.
- Strukturne – Menjaju strukturu prikaza kako bi sakrile ili prikazale podatke, koristeći različite direktive kao što je `ngIf`.
Zaključak
Ovo su osnovna pitanja i odgovori koji se često postavljaju na Angular intervjuima. Oni će vam pomoći da se pripremite, uspete i dobijete željeni posao.
Ako ste ovo savladali, nastavite da učite o AngularJS.
Da li vam se dopao ovaj članak? Podelite ga sa drugima.