Skal du snart på et jobbintervju for en stilling som Angular-utvikler? Da er det lurt å forberede seg godt med disse spørsmålene relatert til Angular.
Som JavaScript-utvikler er du kanskje kjent med Angular, et rammeverk for frontend-utvikling. Det har blitt en av de mest etterspurte ferdighetene for utviklere i dag.
Det kan imidlertid være en utfordring å få en god forståelse av Angular-rammeverket. Derfor er det viktig å være forberedt på hva en intervjuer måtte spørre om. Fra direktiver til rammeverksdetaljer, god kunnskap hjelper deg å klare intervjuet og kapre jobben som kan løfte karrieren din til nye høyder.
Vi har samlet noen av de vanligste Angular-intervjuspørsmålene du bør være forberedt på for å sikre deg drømmejobben.
Hva er Angular-uttrykk? Hvordan skiller de seg fra JavaScript-uttrykk?
Et Angular-uttrykk er en kodebit som utviklere plasserer innenfor {{ uttrykk }}-binding. Hovedforskjellene mellom Angular- og JavaScript-uttrykk er:
- Det er enkelt å bruke filtre for å formatere data før visning.
- Evalueringen håndterer undefined og null på en feiltolerant måte, i motsetning til JavaScript som genererer ReferenceError og TypeError.
- Evalueringen skjer i forhold til et omfangsobjekt.
- Angular-uttrykk inkluderer ikke unntak, betingelser eller løkker.
Forklar databinding.
Databinding regnes som en av de mest sentrale og essensielle funksjonene som etablerer en forbindelse mellom komponenter og DOM. Det forenkler utviklingen av interaktive applikasjoner uten bekymring for å manuelt oppdatere maler og komponenter. Det finnes flere typer databinding i Angular:
- Egenskapsbinding (Property binding),
- Toveis databinding (Two-way data binding),
- Hendelsesbinding (Event binding), og
- Stringinterpolasjon.
Gi en oversikt over de ulike livssykluskrokene i Angular.
Livssykluskrokene i Angular brukes til å spore hendelser og endringer i de ulike fasene av en komponent. Livssykluskomponenten begynner med en konstruktør, og går deretter gjennom faser som inkluderer ngOnChanges, ngOnInit, ngDoCheck og ngOnDestroy. I tillegg finnes kroker som ngAfterViewInit, ngAfterContentInit, ngAfterViewChecked og ngAfterContentChecked.
- ngOnChanges( ) – Denne metoden kalles når en eller flere inndataegenskaper til komponenten endres. De forrige og nåværende verdiene for egenskapene mottas som SimpleChanges-objekt.
- ngOnInit( ) – Den kalles etter ngOnChanges for å initialisere inndataegenskaper og komponenter.
- ngDoCheck( ) – Denne kroken kalles for å oppdage endringer som ikke fanges opp av Angulars innebygde mekanismer. Utvikleren kan implementere en egen endringsdeteksjonsalgoritme ved å bruke denne kroken.
- ngAfterContentInit( ) – Denne kroken kalles etter at komponentens innhold er projisert inn i visningen.
- ngAfterContentChecked( ) – Denne kalles etter hver ngDoCheck og ngAfterContentInit for å reagere på endringer i det projiserte innholdet.
- ngAfterViewInit( ) – Kalles etter at komponentens visning og alle underordnede visninger er initialisert.
- ngOnDestroy( ) – Brukes for å frigjøre ressurser, som f.eks. å avslutte hendelseslyttere, før komponenten blir ødelagt.
Hva er forskjellen mellom AOT og JIT i Angular?
Mange blander ofte AOT og JIT-kompilatorer i Angular, så det er viktig å kjenne til de grunnleggende forskjellene:
- Ahead-of-Time (AOT)-kompilatoren kompilerer koden på serveren under byggeprosessen. Just-in-Time (JIT)-kompilatoren kompilerer koden i nettleseren ved kjøretid for applikasjonen.
- AOT er best egnet for produksjonsmiljøer, mens JIT brukes hovedsakelig i utviklingsmodus der man trenger feilsøking og rask iterering.
- AOT-kompilering benyttes med kommandoene «ng serve» og «ng build», mens JIT-kompilering aktiveres automatisk ved bruk av «ng serve».
- AOT resulterer i mindre pakkestørrelse og raskere oppstart, mens JIT bidrar med feilsøkingsfunksjoner og mulighet for rask implementering og kartlegging av filer.
Forklar RxJS.
Reactive Extensions for JavaScript (RxJS) benytter observerbare elementer som gjør det mulig å implementere reaktiv programmering. Hovedmålet er å håndtere asynkrone operasjoner og callback-basert kode på en strukturert måte i Angular. RxJS tillater å strømme data til abonnenter som mottar verdier fra utgivere. Selv om det ofte brukes i Angular, kan observerbare implementeres i andre programmeringsspråk som Python og Java ved hjelp av reaktiv kode.
Gå i dybden på de ulike typer filtre i Angular.
Angular bruker filtre for å transformere verdien av uttrykk før de vises til brukeren. Filtre kan brukes i maler, direktiver, tjenester og kontrollere. Utviklere kan lage egne filtre basert på spesifikke krav for å organisere data. Filtre plasseres etter et rørsymbol ( | ) i uttrykket. Noen av de mest brukte filtrene i Angular er:
- tall (number) – For å konvertere en verdi til en streng representasjon av et tall.
- valuta (currency) – For å konvertere et tall til et valutaformat.
- json – For å konvertere et objekt til en JSON-streng.
- dato (date) – For å konvertere en verdi til en dato med et spesifikt format.
- limitTo – For å begrense lengden på en matrise eller streng.
- orderBy – For å sortere en matrise basert på en gitt egenskap.
- store bokstaver (uppercase) – For å konvertere en streng til store bokstaver.
- små bokstaver (lowercase) – For å konvertere en streng til små bokstaver.
- filter – For å velge et delsett av elementer fra en matrise.
Definer bootstrapping.
Bootstrapping er prosessen for å starte eller initialisere en Angular-applikasjon, enten automatisk eller manuelt. La oss se nærmere på dette:
- Automatisk bootstrapping skjer når du inkluderer «ng-app»-direktivet i en HTML-tag. Angular vil kompilere DOM-en og assosiere den med modulen som «ng-app»-direktivet tilhører.
- Manuell bootstrapping gir utviklerne kontroll over initialiseringen av Angular-appen, og gir mulighet til å utføre operasjoner før Angular begynner å kompilere.
Beskriv Angular-direktiver.
I Angular finnes det tre hovedtyper av direktiver:
- Attributtdirektiver – Disse brukes for å endre oppførselen eller utseendet til eksisterende elementer, andre direktiver eller komponenter. Eksempler er «ngStyle» og «ngClass».
- Komponentdirektiver – De består av en mal som definerer et brukergrensesnitt med HTML, CSS og TypeScript-kode. De dekoreres med «@»-symbolet, som forteller Angular-kompilatoren at dette er en komponent.
- Strukturelle direktiver – Disse direktivene endrer strukturen på DOM-en. Eksempler er «ngIf» som viser eller skjuler elementer basert på en betingelse.
Konklusjon
Dette er noen av de viktigste spørsmålene som vanligvis stilles i et intervju for en Angular-utviklerstilling. Ved å forberede deg på disse spørsmålene øker du sjansene for å lykkes og få drømmejobben din.
Om du er ferdig med dette, så finnes det mye å lære om AngularJS i tillegg.
Likte du artikkelen? Hva med å dele den med andre?