Pytania rekrutacyjne Angular (Middle) z odpowiedziami
75 pytań na rozmowę rekrutacyjną z tematu Angular (Middle) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Co się zmienia, gdy komponent używa
ChangeDetectionStrategy.OnPush? - 2.Dlaczego potomek OnPush nie aktualizuje się po wywołaniu
addItem()w rodzicu? - 3.Kiedy potrzebny jest
ChangeDetectorRef.markForCheck()? - 4.Co oznacza
ExpressionChangedAfterItHasBeenCheckedError? - 5.Jak sygnały usprawniają change detection w porównaniu ze zwykłymi polami?
- 6.Jaki jest najlepszy sposób wyświetlania danych z Observable w komponencie OnPush?
- 7.Jaki problem rozwiązuje
linkedSignal? - 8.Co robi
untracked()wewnątrzcomputedlubeffect? - 9.Jak zamienić Observable w sygnał?
- 10.Co umożliwia
toObservable(sig)? - 11.Co tworzy
model()? - 12.Do czego służy
transformwejścia? - 13.Który operator pasuje do wyszukiwania w trakcie pisania, aby pokazywać tylko wynik ostatniego zapytania?
- 14.Który operator powinien obsługiwać przycisk „Zapłać”, aby podwójne kliknięcie nie wysłało zduplikowanych żądań?
- 15.Który operator zachowuje ścisłą kolejność kilku żądań zapisu, jedno po drugim?
- 16.Do czego najlepiej nadaje się
mergeMap? - 17.Po co w polu wyszukiwania dodawać
distinctUntilChanged()podebounceTime(300)? - 18.Czym
BehaviorSubjectróżni się odSubject? - 19.Dlaczego ten kod wysyła dwa żądania HTTP i jak to naprawić?
- 20.Dlaczego w długożyjącym strumieniu
catchErrornależy umieścić wewnątrzswitchMap? - 21.Jaki jest nowoczesny sposób anulowania subskrypcji Observable przy niszczeniu komponentu?
- 22.Co się dzieje, gdy komponent podaje serwis we własnych
providers? - 23.Po co używać
InjectionToken? - 24.Czym różnią się
useClass,useValue,useFactoryiuseExisting? - 25.Co robi
multi: truew providerze? - 26.Jak wstrzyknąć zależność, która może nie być dostarczona?
- 27.Co się dzieje, gdy leniwa trasa deklaruje
providers? - 28.Jak leniwie załadować komponent standalone dla trasy?
- 29.Co zwraca funkcyjny guard, by przekierować użytkownika?
- 30.Czym
canMatchróżni się odcanActivate? - 31.Do czego służy resolver?
- 32.Co włącza
withComponentInputBinding()? - 33.Jak ostrzec użytkownika przed opuszczeniem strony z niezapisanymi zmianami?
- 34.Dlaczego
ngOnInitnie wykonuje się ponownie przy przejściu z/users/1na/users/2? - 35.Jak napisać własny walidator synchroniczny?
- 36.Gdzie podpiąć walidator „hasła muszą się zgadzać”?
- 37.Jak zachowują się walidatory asynchroniczne w formularzach Angular?
- 38.Do czego służy
FormArray? - 39.Co zmienia
nonNullable: truew otypowanych formularzach reaktywnych? - 40.Co daje implementacja
ControlValueAccessor? - 41.Jak uzyskać w klasie referencję do elementu lub komponentu potomnego?
- 42.Jak utworzyć kilka nazwanych slotów dla projektowanej treści?
- 43.Co robi ten blok
@defer? - 44.Czym różnią się czyste i nieczyste pipe'y?
- 45.Jaki jest zalecany sposób wiązania z elementem hosta komponentu?
- 46.Czym jest dyrektywa atrybutowa?
- 47.Jak dodać nagłówek autoryzacji do każdego żądania?
- 48.Jak przetestować serwis używający
HttpClientbez prawdziwych żądań sieciowych? - 49.Po co w teście komponentu wywoływać
fixture.detectChanges()? - 50.Jak przy migracji na standalone dalej używać biblioteki opartej na NgModule?
- 51.Czym
forkJoinróżni się odcombineLatest? - 52.Jak pobrać jedną wartość z Observable przez
async/await? - 53.Jak ponowić nieudane żądanie HTTP trzy razy z opóźnieniem?
- 54.Czym
ReplaySubject(3)różni się odBehaviorSubject? - 55.Co robi operator
scan? - 56.Jak pojedyncze żądanie może pominąć funkcyjny interceptor (np. nagłówek autoryzacji)?
- 57.Co zmienia
provideHttpClient(withFetch())? - 58.Jak wyrenderować ten sam fragment szablonu w kilku miejscach komponentu?
- 59.Co robi
hostDirectivesw komponencie lub dyrektywie? - 60.Jak zmierzyć rozmiar elementu DOM po wyrenderowaniu komponentu?
- 61.Jak zarejestrować kod sprzątający z serwisu lub funkcji bez
ngOnDestroy? - 62.Jak udostępnić sygnał z serwisu, nie pozwalając komponentom go zmieniać?
- 63.Jak leniwie załadować grupę tras potomnych?
- 64.Jak animować przejścia między trasami przez przeglądarkowe View Transitions API?
- 65.Na co pozwala
redirectTow postaci funkcji? - 66.Jak nadać
InjectionTokenwartość domyślną bez dodawania providerów? - 67.Jak dynamicznie utworzyć komponent i ustawić mu inputy?
- 68.Którego test runnera domyślnie używają nowe projekty Angular CLI od v21?
- 69.Jak przetestować komponent OnPush po zmianie inputu sygnałowego?
- 70.Co zmienia
toSignal(obs$, { initialValue: [] })w porównaniu ztoSignal(obs$)? - 71.W czym
rxResource(lubresource) jest lepszy od ręcznej subskrypcji weffect? - 72.Dlaczego unikać
subscribew komponencie tylko po to, by kopiować wartości do pól? - 73.Do czego służy
@defer (on viewport; prefetch on idle)? - 74.Jak przekazać szablon od rodzica, by dostosować, jak dziecko renderuje każdy element?
- 75.Jak wyrenderować listę 10 000 wierszy bez tworzenia 10 000 węzłów DOM?