← Wszystkie tematy

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