Chystáte se na pracovní pohovor na pozici Angular Developera? Je klíčové se důkladně připravit na otázky, které se obvykle při pohovoru na Angular objevují.
Jako JavaScriptový vývojář, pravděpodobně znáte Angular framework, který se používá pro vývoj front-endu. Stal se jednou z nejvíce žádaných dovedností v dnešním vývojářském světě.
Nicméně, hluboké porozumění Angularu může být náročné. Proto je zásadní být připraven na různorodé otázky, které vám mohou být položeny. Dobrá znalost konceptů, jako jsou direktivy a rámce, vám pomůže úspěšně zvládnout pohovor a získat práci, která může významně posunout vaši kariéru.
Sestavili jsme seznam nejčastějších otázek, na které byste měli být připraveni, abyste zvýšili své šance na získání vysněné pozice.
Co je to Angular výraz? Jak se liší od JavaScriptového výrazu?
Angular výraz je kus kódu, který vývojáři vkládají do vazby `{{ expression }}`. Mezi výrazy v Angularu a JavaScriptu existují klíčové rozdíly:
- Před zobrazením dat je snadné aplikovat filtry pro jejich formátování.
- Vyhodnocování je tolerantní k hodnotám `undefined` a `null`, zatímco v JavaScriptu by tyto hodnoty vedly k chybám `ReferenceError` a `TypeError`.
- Výraz je vyhodnocován v kontextu objektu rozsahu.
- Angular výrazy nepodporují výjimky, podmínky a smyčky.
Vysvětlete datovou vazbu.
Datová vazba je jednou z nejdůležitějších funkcí Angularu, která umožňuje propojení mezi komponentami a DOM. Umožňuje snadnou tvorbu interaktivních aplikací bez nutnosti manuálně synchronizovat šablony a komponenty. Angular používá několik typů datové vazby, například:
- Vazbu vlastností,
- Obousměrnou datovou vazbu,
- Vazbu událostí,
- Interpolaci řetězců.
Popište různé hooky životního cyklu v Angularu.
Hooky životního cyklu Angularu umožňují monitorovat změny a spouštět kód v různých fázích životního cyklu komponenty. Komponenta má konstruktor a další hooky rozdělené do čtyř hlavních skupin: `ngOnChanges`, `ngOnInit`, `ngDoCheck` a `ngOnDestroy`. Dále existují hooky jako `ngAfterViewInit`, `ngAfterContentInit`, `ngAfterViewChecked` a `ngAfterContentChecked`.
- `ngOnChanges()` – Tato metoda se volá, když dojde ke změně vstupních vlastností komponenty. V háku `SimpleChanges` jsou dostupné předchozí a aktuální hodnoty vlastností.
- `ngOnInit()` – Zavolá se po `ngOnChanges` a slouží k inicializaci vstupních vlastností komponenty.
- `ngDoCheck()` – Používá se k detekci změn, které Angular standardně nedetekuje. Lze ji využít k implementaci vlastního algoritmu detekce změn.
- `ngAfterContentInit()` – Volá se po promítnutí obsahu do komponenty.
- `ngAfterContentChecked()` – Volá se po každém `ngDoCheck` a `ngAfterContentInit` a je spouštěna po kontrole promítnutého obsahu.
- `ngAfterViewInit()` – Volá se po inicializaci pohledu a podřízených komponent.
- `ngOnDestroy()` – Slouží k odpojení obslužných rutin událostí a k úklidu předtím, než je komponenta zničena.
Jaký je rozdíl mezi AOT a JIT v Angularu?
Rozdíl mezi kompilátory AOT (Ahead-of-Time) a JIT (Just-in-Time) je zásadní:
- AOT kompiluje kód na serveru v době sestavení, zatímco JIT kompiluje kód v prohlížeči za běhu.
- AOT je vhodný pro produkční režim, zatímco JIT se používá primárně ve vývojovém režimu.
- AOT kompilace se provádí pomocí příkazů `ng serve` a `ng build`, zatímco JIT se spouští v prohlížeči při používání `ng serve` nebo `ng build`.
- AOT může zmenšit velikost balíčku a zlepšit rychlost vykreslování, zatímco JIT se hodí k ladění a implementaci mapových souborů.
Vysvětlete RxJS.
Reactive Extensions for JavaScript (RxJS) je knihovna, která umožňuje vývojářům pracovat s reaktivním programováním pomocí pozorovatelných objektů. Cílem je vytvořit kód založený na asynchronních operacích pomocí RxJS v Angularu. RxJS umožňuje streamování dat odběratelům, kteří poslouchají hodnoty od vydavatelů. Pozorovatelné objekty jsou také používány v jiných programovacích jazycích jako Python a Java pomocí reaktivního kódu.
Popište různé typy filtrů v Angularu.
Angular filtry se používají pro formátování hodnot, které jsou zobrazeny v šablonách, direktivách, službách a kontrolerech. Umožňují vytvářet personalizované filtry, které organizují data na základě specifických kritérií. Filtry jsou vkládány do výrazu za symbolem svislé čáry (`|`). Mezi hlavní filtry patří:
- `number` – Převede hodnotu na řetězec.
- `currency` – Formátuje čísla do měnového formátu.
- `json` – Převede jakýkoliv objekt na řetězec JSON.
- `date` – Převede datum do specifického formátu.
- `limitTo` – Omezí pole nebo řetězec na zadanou délku.
- `orderBy` – Uspořádá pole podle zadaného kritéria.
- `uppercase` – Převede řetězec na velká písmena.
- `lowercase` – Převede řetězec na malá písmena.
- `filter` – Vybere podmnožinu prvků z pole.
Definujte bootstrapping.
Bootstrapping je proces spuštění a inicializace Angular aplikace. Může být buď automatický nebo manuální:
- Automatický bootstrapping se spustí, když je na značce uveden atribut `ng-app`. Angular zkompiluje DOM a vyhledá modul spojený s danou direktivou.
- Manuální bootstrapping dává vývojářům větší kontrolu nad inicializací aplikace. Umožňuje jim provádět specifické operace a úkoly před zkompilováním stránky.
Vysvětlete direktivy v Angularu.
Existují tři základní typy direktiv v Angularu:
- Atributové – Mění chování a vzhled DOM elementů, dalších direktiv a komponent. Používají se například `ngStyle` a `ngClass`.
- Komponenty – Skládají se ze šablon, které definují uživatelské rozhraní pomocí CSS, TypeScript kódu a HTML šablon. Komponenty jsou označeny dekorátorem `@Component`.
- Strukturální – Změny strukturu pohledu a zobrazují nebo skrývají data pomocí direktiv jako je `ngIf`.
Závěr
Toto jsou některé ze základních otázek, které se obvykle objevují při pohovoru na Angular. Důkladná příprava vám pomůže zvládnout pohovor a získat vysněnou práci.
Po zvládnutí těchto otázek se můžete zaměřit na další témata, jako je AngularJS.
Doufám, že byl pro vás tento článek užitečný. Neváhejte jej sdílet!