8 Angular intervjufrågor och svar [2022]

By rik

Är du på väg till en anställningsintervju för en roll som Angular-utvecklare? Då är det bäst att förbereda dig ordentligt med dessa intervjufrågor specifikt för Angular.

Som JavaScript-utvecklare är du troligtvis bekant med Angular-ramverket för frontend-utveckling. Det har etablerat sig som en av de mest eftertraktade kompetenserna för utvecklare idag.

Att fullt ut behärska Angular-ramverket kan dock vara en utmaning. Därför är det avgörande att vara beredd på alla typer av frågor som en intervjuare kan ställa. Allt från direktiv till ramverk, din förberedelse kan hjälpa dig att lyckas med intervjun och landa jobbet som kan ta din karriär till nästa nivå.

Vi har sammanställt några av de vanligaste Angular-intervjufrågorna som du bör vara beredd på för att säkra ditt drömjobb.

Vad är Angular-uttryck? Hur skiljer de sig från JavaScript-uttryck?

Ett Angular-uttryck är en kodsnutt som utvecklare placerar inom en `{{ expression }}`-bindning. De viktigaste skillnaderna mellan Angular-uttryck och JavaScript-uttryck är:

  • Möjligheten att enkelt använda filter innan data visas.
  • En mer förlåtande hantering av `undefined` och `null` i utvärderingen, till skillnad från JavaScript där detta kan leda till `ReferenceError` och `TypeError`.
  • Utvärdering sker mot ett scope-objekt.
  • Angular-uttryck inkluderar inte undantag, villkor eller loopar.

Förklara databindning i Angular.

Databindning anses vara en av de mest centrala funktionerna i Angular och skapar en koppling mellan komponenter och DOM. Det förenklar processen att utveckla interaktiva applikationer utan att behöva oroa sig för att manuellt uppdatera mallar och komponenter. Angular erbjuder flera typer av databindning, inklusive:

  • Egenskapsbindning (Property binding)
  • Tvåvägs databindning (Two-way data binding)
  • Händelsebindning (Event binding)
  • Stränginterpolation (String interpolation)

Beskriv de olika livscykelkrokarna i Angular.

Livscykelkrokarna i Angular är viktiga för att hantera händelser och förändringar som sker under en komponents livstid. Livscykeln innefattar bland annat konstruktorn och fyra huvuddelar: `ngOnChanges`, `ngOnInit`, `ngDoCheck` och `ngOnDestroy`. Dessutom finns krokar som `ngAfterViewInit`, `ngAfterContentInit`, `ngAfterViewChecked` och `ngAfterContentChecked`.

  • `ngOnChanges()` – Denna metod anropas när en eller flera indataegenskaper i komponenten ändras. Den tar emot de tidigare och aktuella värdena för egenskaperna i ett `SimpleChanges`-objekt.
  • `ngOnInit()` – Denna metod körs efter `ngOnChanges` och används för att initiera indataegenskaper och komponenter.
  • `ngDoCheck()` – Denna metod anropas efter `ngOnInit` och används för att detektera förändringar som inte kan upptäckas av Angular. Den ger möjlighet att implementera egna algoritmer för förändringsdetektering.
  • `ngAfterContentInit()` – Denna krok anropas efter att innehållet (content) som projicerats in i komponenten har initierats.
  • `ngAfterContentChecked()` – Denna krok anropas efter varje anrop till `ngDoCheck` och `ngAfterContentInit`, för att reagera på förändringar i det projicerade innehållet.
  • `ngAfterViewInit()` – Denna krok anropas efter att den underordnade komponentens vy har initierats och kontrollerats.
  • `ngOnDestroy()` – Denna metod används för att rensa upp resurser, som exempelvis att avregistrera händelsehanterare, innan Angular förstör komponenten.

Vad är skillnaden mellan AOT och JIT i Angular?

Många kan bli förvirrade över skillnaden mellan AOT- och JIT-kompilatorn i Angular, så det är bra att känna till grunderna:

  • Ahead-of-Time (AOT)-kompilatorn kompilerar koden på servern vid byggtiden. Just-in-Time (JIT)-kompilatorn kompilerar koden i webbläsaren.
  • AOT används oftast för produktionsläget, medan JIT är vanligare för utvecklingsläget.
  • AOT-kompilering används vid kommandon som `ng serve` och `ng build`, medan JIT-kompilering också används vid dessa CLI-kommandon.
  • AOT kan minska storleken på paketet för snabbare rendering, medan JIT underlättar felsökning och implementation av viktiga funktioner.

Förklara RxJS.

Reactive Extensions for JavaScript (RxJS) använder observerbara objekt som ger utvecklare möjlighet att utföra reaktiv programmering. Syftet är att komponera asynkrona operationer eller callback-baserad kod med hjälp av RxJS-ramverket i Angular. Det möjliggör strömning av data till prenumeranter som tar emot värden från publicerare. RxJS kan även användas med andra programmeringsspråk som Python och Java.

Gå djupare in på olika typer av Angular-filter.

Angular använder filter för att formatera uttrycksvärden som kan användas i mallar, direktiv, tjänster och controllers. Utvecklare kan skapa egna filter som organiserar data baserat på särskilda kriterier. Filter läggs till i uttryck med hjälp av rörsymbolen (`|`). De primära filtren som används i Angular är:

  • `number` – Konverterar ett värde till en sträng.
  • `currency` – Konverterar ett tal till ett valutaformat.
  • `json` – Konverterar ett objekt till en JSON-sträng.
  • `date` – Konverterar ett datum till ett önskat format.
  • `limitTo` – Begränsar en array eller sträng till ett visst antal element eller tecken.
  • `orderBy` – Sorterar en array i uttrycket.
  • `uppercase` – Konverterar en sträng till versaler.
  • `lowercase` – Konverterar en sträng till gemener.
  • `filter` – Väljer en delmängd av en array.

Definiera bootstrapping.

Bootstrapping är sättet att starta eller initiera ett Angular-program, oavsett om det sker automatiskt eller manuellt. Här är en förklaring:

  • Automatisk bootstrapping sker när direktivet `ng-app` läggs till i en HTML-tagg. Angular kompilerar DOM:en och letar efter en modul med direktivet `ng-app`.
  • Manuell bootstrapping innebär att utvecklare initierar Angular-appen och därmed har kontroll över kompileringen av sidan.

Beskriv Angular-direktiv.

I Angular finns det tre huvudtyper av direktiv:

  • Attributdirektiv – Dessa kan ändra beteendet eller utseendet på element, andra direktiv eller komponenter. Exempelvis används `ngStyle` och `ngClass` för element.
  • Komponenter – Består av mallar som definierar ett användargränssnitt med hjälp av CSS-stilar, TypeScript-kod och HTML-mallar. De brukar dekoreras med symbolen `@` som talar om för Angular-kompilatorn att ersätta den med komponentens mall.
  • Strukturdirektiv – Dessa direktiv ändrar vyn och strukturen genom att visa eller dölja data, till exempel genom direktivet `ngIf`.

Slutsats

Dessa frågor och svar är vanligt förekommande i Angular-intervjuer. Genom att förbereda dig väl kan du öka dina chanser att lyckas och få ditt drömjobb.

Om du har koll på dessa, kan du fördjupa dig mer i AngularJS.

Tyckte du att artikeln var läsvärd? Dela den gärna med andra!