Pytania Rekrutacyjne z Angulara, na Które Warto się Przygotować
Autor: Aaron Cao · Zaktualizowano

Spodziewaj się najpierw change detection: co wyzwala sprawdzenie, co zmienia OnPush i jak pasują do tego signals. Potem dependency injection, wybór operatora RxJS i sprzątanie subskrypcji. Większość rozmów dodaje ćwiczenie na żywo, zwykle wyszukiwanie typeahead zbudowane za pomocą service'u, debounceTime i switchMap.
Jakie koncepcje Angulara są pytane najczęściej?
Powierzchnia API Angulara jest ogromna, a publikowane listy pytań traktują każdy dekorator tak, jakby był tak samo prawdopodobny. Nie są. Ta sekcja obejmuje obszary, które faktycznie decydują o większości rozmów, dzięki czemu Twoja praktyka odpowiada rzeczywistemu rozkładowi. Dominują cztery grupy:
- Change detection: co wyzwala sprawdzenie, jak Zone.js łata asynchroniczne API, co zmienia
OnPushi jak signals pozwalają Angularowi pominąć pracę. - Dependency injection: hierarchiczne injectory,
providedIn, tokeny wstrzykiwania oraz funkcjainject()w zestawieniu z parametrami konstruktora. - RxJS: observable w zestawieniu z promise, wybór właściwego operatora i sprzątanie subskrypcji przed zniszczeniem komponentu.
- Architektura komponentów: komponenty standalone, inputy i outputy, content projection oraz lifecycle hooki.
Znajomość wersji liczy się tu bardziej niż w większości rozmów o innych frameworkach, ponieważ Angular zmienił kierunek. Komponenty standalone, wbudowane bloki control flow @if i @for, deferrable view oraz signals pojawiły się wszystkie w ostatnich wersjach głównych, więc rekruterzy często pytają, co napisałbyś dzisiaj w porównaniu z tym, czego używa starsza baza kodu. Znajomość obu podejść i wiedza, dlaczego framework się zmienił, robi lepsze wrażenie niż opowiedzenie się po jednej stronie.
Jak dogłębne są pytania o RxJS i signals?
Głębsze niż same nazwy operatorów. Pytanie RxJS, które dzieli poziomy, to który operator spłaszczający pasuje: switchMap anuluje poprzednie żądanie wewnętrzne i pasuje do typeahead, mergeMap uruchamia wszystko równolegle, concatMap zachowuje kolejność, a exhaustMap ignoruje nowe zdarzenia, dopóki jedno wciąż trwa, dlatego pasuje do przycisku wysyłania. Rekruterzy zadają potem pytanie o wyciek: co dzieje się z ręczną subskrypcją, gdy komponent jest niszczony, i dlaczego async pipe albo takeUntilDestroyed usuwają ten problem.
Pytania o signals są nowsze i zwykle zaczynają się od motywacji, a nie od API. Spodziewaj się wyjaśnienia, czym jest signal, jak computed jest z niego wyprowadzany, do czego służy effect i dlaczego signals dają Angularowi bardziej precyzyjny sposób wiedzy o tym, co się zmieniło, niż ponowne sprawdzanie całego drzewa komponentów. Mocna odpowiedź łączy oba tematy: signals i OnPush oba ograniczają pracę wykonywaną przez change detection, ale signals robią to, śledząc odczyty, a nie zawężając moment uruchomienia sprawdzenia.
Rekruterzy nie oczekują, że wykorzystałeś już każdą nową funkcję. Oczekują, że powiesz, w jakiej wersji ostatnio pracowałeś, i jasno rozumujesz o reszcie.
Jakich ćwiczeń live coding należy się spodziewać?
Większość rozmów o Angularze obejmuje zbudowanie czegoś małego, podczas gdy rekruter patrzy. Powtarzające się ćwiczenia są stabilne między firmami:
- Wywołanie API z service'u i wyrenderowanie wyniku za pomocą async pipe.
- Zbudowanie wyszukiwania typeahead z
debounceTime,distinctUntilChangediswitchMap. - Napisanie reactive form z niestandardowym validatorem i widocznymi stanami błędu.
- Przekazanie danych między komponentem parent i child, a potem przeniesienie ich do service'u.
- Dodanie trasy z komponentem lazy-loaded i guardem.
Inżynier front-end rekrutowany na rolę produktową średniego szczebla mógłby na przykład zbudować typeahead, a potem być dopytywanym, co się dzieje, gdy odpowiedzi przychodzą w złej kolejności, jak pokazać stan ładowania i co powinno się stać, gdy użytkownik czyści pole. To właśnie te rozszerzenia decydują o rozmowie, więc ćwicz pytania dodatkowe, a nie tylko szczęśliwą ścieżkę. Sąsiednie zestawy, którymi rozmowy o Angularze wciąż często się otwierają, w tym podstawy czystego JavaScriptu i TypeScriptu, znajdziesz w centrum banków pytań.
Jak ćwiczyć, żeby to przełożyło się na prawdziwą rozmowę?
Czytanie listy pytań buduje rozpoznawanie, nie przypominanie, a rozmowa testuje przypominanie sobie, podczas gdy ktoś patrzy. Rozwiązaniem są powtórki w realnym kształcie rozmowy: buduj standardowe ćwiczenia od pustego projektu, opowiadaj na głos o decyzjach dotyczących change detection i subskrypcji podczas pisania oraz wchłaniaj przerwania, nie tracąc wątku. Uruchamianie tego zestawu jako mówionej próby, po jednym pytaniu naraz z pytaniami dodatkowymi, to właśnie do czego służy praktyka mock interview.
Jedno ograniczenie warto wyraźnie podkreślić: rundy live w Angularze niemal zawsze odbywają się we współdzielonym edytorze albo z widocznym ekranem, a wszystko, co jest na tym ekranie, widzi rekruter. Asystent pasuje do przygotowań i do rozmów prowadzonych konwersacyjnie, nie do współdzielonego ekranu. To, jakie formaty na co pozwalają, opisano w typach rozmów rekrutacyjnych.
FAQ
Czy nadal muszę znać NgModules?
Czy AngularJS to to samo co Angular?
Ile RxJS potrzebuję, jeśli zespół używa signals?
Czy rekruterzy pytają o testowanie?
O ilu wersjach Angulara powinienem umieć rozmawiać?
Powiązane pytania
- Jakich pytań rekrutacyjnych o Databricks mogę się spodziewać?
- Jakich pytań rekrutacyjnych z .NET mogę się spodziewać?
- Jakich pytań rekrutacyjnych dla inżyniera jakości mogę się spodziewać?
- Jakich pytań mogę się spodziewać na rozmowie quant?
- Jakich pytań o Snowflake mogę się spodziewać na rozmowie?
- Jakich pytań mogę się spodziewać na rozmowie dla nauczyciela?