Otázky u Pohovoru na Angular, které Můžete Čekat
Autor: Aaron Cao · Aktualizováno

Nejprve čekejte change detection: co spouští kontrolu, co mění OnPush a jak do toho zapadají signals. Pak dependency injection, výběr operátoru RxJS a úklid subscriptions. Většina kol přidává živé cvičení, obvykle typeahead vyhledávání postavené se service, debounceTime a switchMap.
Jaké koncepty Angular se ptají nejčastěji?
Plocha API Angularu je obrovská a zveřejněné seznamy otázek zachází s každým decorator, jako by měl stejnou šanci se objevit. Nemají. Tato sekce pokrývá oblasti, které skutečně rozhodují většinu kol, aby vaše cvičení odpovídalo reálnému rozložení. Dominují čtyři shluky:
- Change detection: co spouští kontrolu, jak Zone.js patchuje asynchronní API, co mění
OnPusha jak signals nechají Angular přeskočit práci. - Dependency injection: hierarchické injectory,
providedIn, injection tokeny a funkceinject()oproti parametrům konstruktoru. - RxJS: observables oproti promises, výběr správného operátoru a úklid subscriptions před zničením komponenty.
- Architektura komponent: standalone komponenty, inputy a outputy, content projection a lifecycle hooky.
Znalost verzí zde záleží víc než ve většině kol o jiných frameworcích, protože Angular změnil směr. Standalone komponenty, vestavěné bloky control flow @if a @for, deferrable views a signals přišly všechny v nedávných hlavních verzích, takže tazatelé se často ptají, co byste napsali dnes oproti tomu, co používá starší codebase. Znát obojí, a vědět proč se framework změnil, působí lépe než držet se jedné strany.
Jak hluboké jsou otázky o RxJS a signals?
Hlubší než jen názvy operátorů. Otázka RxJS, která odděluje úrovně, je který flattening operátor se hodí: switchMap zruší předchozí vnitřní požadavek a hodí se pro typeahead, mergeMap spustí vše paralelně, concatMap zachovává pořadí a exhaustMap ignoruje nové eventy, dokud jeden ještě běží, proto se hodí pro tlačítko odeslání. Tazatelé pak kladou otázku o úniku: co se stane s manuální subscription, když se komponenta zničí, a proč async pipe nebo takeUntilDestroyed ten problém odstraní.
Otázky o signals jsou novější a obvykle začínají motivací, ne API. Očekávejte, že vysvětlíte, co je signal, jak z něj computed odvozuje hodnotu, k čemu slouží effect, a proč signals dávají Angularu jemnější způsob, jak vědět, co se změnilo, než opětovná kontrola celého stromu komponent. Silná odpověď propojuje obě témata: signals i OnPush snižují práci, kterou dělá change detection, ale signals to dělají sledováním čtení místo zužování toho, kdy kontrola běží.
Tazatelé neočekávají, že jste už použili každý nedávný feature. Očekávají, že řeknete, ve které verzi jste naposledy pracovali, a jasně uvažujete o zbytku.
Jaká cvičení na živé kódování máte čekat?
Většina kol Angular zahrnuje stavbu něčeho malého, zatímco tazatel sleduje. Opakující se cvičení jsou stabilní napříč firmami:
- Zavolat API ze service a vykreslit výsledek pomocí async pipe.
- Postavit typeahead vyhledávání s
debounceTime,distinctUntilChangedaswitchMap. - Napsat reactive form s vlastním validatorem a viditelnými chybovými stavy.
- Předat data mezi komponentou parent a child, pak je přesunout do service.
- Přidat route s lazy-loaded komponentou a guard.
Front-end inženýr, který má pohovor na produktovou roli střední úrovně, může například postavit typeahead a pak být tlačen na to, co se stane, když odpovědi přijdou ve špatném pořadí, jak ukázat stav načítání a co by se mělo stát, když uživatel vymaže vstup. Tato rozšíření jsou tím, co rozhoduje kolo, takže cvičte doplňující otázky, ne šťastnou cestu. Sousední sady, kterými se kola Angular stále často otevírají, včetně základů čistého JavaScriptu a TypeScriptu, jsou v centru bank otázek.
Jak cvičit, aby se to přeneslo do skutečného kola?
Čtení seznamu otázek buduje rozpoznání, ne vybavování, a kolo testuje vybavování, zatímco někdo sleduje. Řešením jsou opakování ve skutečné podobě kola: stavte standardní cvičení z prázdného projektu, nahlas popisujte rozhodnutí o change detection a subscription během psaní a vstřebávejte přerušení, aniž byste ztratili nit. Spuštění sady jako mluvené zkoušky, jedna otázka po druhé s doplňujícími otázkami, je přesně to, k čemu slouží nácvik mock interview.
Jedno omezení stojí za jasné vyslovení: živá kola Angular téměř vždy běží ve sdíleném editoru nebo s viditelnou obrazovkou, a cokoli je na té obrazovce, vidí tazatel. Asistent patří do přípravy a do kol vedených konverzací, ne na sdílenou obrazovku. Které formáty co dovolují, je popsáno v typech pohovorů.