← Wszystkie tematy

Pytania rekrutacyjne ze wzorców projektowych (Senior) z odpowiedziami

75 pytań na rozmowę rekrutacyjną z tematu Wzorce projektowe (Senior) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.

Rozwiąż ten test
  1. 1.Czym model „sygnałów” (Solid, Preact Signals, Angular Signals) różni się od modelu React?
  2. 2.Jaki jest główny kompromis mikrofrontendów?
  3. 3.Dlaczego w Module Federation React deklaruje się jako singleton shared?
  4. 4.Jak działa wzorzec Strangler Fig przy migracji przestarzałego frontendu?
  5. 5.Co oznacza CQRS?
  6. 6.Czym jest Event Sourcing?
  7. 7.Czym jest Bounded Context w DDD?
  8. 8.Na czym polega architektura heksagonalna (Ports & Adapters)?
  9. 9.Kiedy Clean Architecture na frontendzie zaczyna szkodzić?
  10. 10.Jak automatycznie egzekwować architektoniczne reguły importów (np. warstwy FSD)?
  11. 11.Czym jest Anti-Corruption Layer?
  12. 12.Czym Observable z RxJS różni się od Promise?
  13. 13.Co dają statecharts (XState) w porównaniu z płaskim automatem skończonym?
  14. 14.Czym jest wzorzec Backend for Frontend (BFF)?
  15. 15.Czym jest expression problem i jak przejawia się w TS?
  16. 16.Co oznacza „functional core, imperative shell”?
  17. 17.Czym jest „zasada Hollywood” i jak przejawia się w React?
  18. 18.Czym jest Composition Root?
  19. 19.Dlaczego Service Locator często uważa się za antywzorzec w porównaniu z DI?
  20. 20.Co jest złego w „God Context” - jednym React Context z całym stanem aplikacji?
  21. 21.Czym jest temporal coupling?
  22. 22.Co mówi prawo Conwaya?
  23. 23.Czym podejście MobX różni się architektonicznie od Redux?
  24. 24.Dlaczego oddzielenie stanu „serwerowego” i „klienckiego” uważa się za ważną decyzję architektoniczną?
  25. 25.Czym jest Islands Architecture?
  26. 26.Jak poprawnie rozwijać publiczne API wspólnej biblioteki komponentów?
  27. 27.Czym jest ADR (Architecture Decision Record)?
  28. 28.Dlaczego kolejność middleware lub interceptorów w łańcuchu odpowiedzialności jest ryzykowna?
  29. 29.Co wyróżnia Value Object?
  30. 30.Czym jest Agregat (Aggregate) w DDD?
  31. 31.Czego wymaga zasada Command-Query Separation (CQS)?
  32. 32.Co oznacza zasada „Tell, Don't Ask”?
  33. 33.Co oznacza zasada Fail Fast?
  34. 34.Jakie jest ryzyko prawa Postela („bądź liberalny w tym, co przyjmujesz”)?
  35. 35.Jak UI powinien uwzględniać ostateczną spójność w systemie zdarzeniowym?
  36. 36.Czym redux-saga różni się od listener middleware i thunków?
  37. 37.Dlaczego normalizacja danych w store na frontendzie to wzorzec architektoniczny, a nie mikrooptymalizacja?
  38. 38.Jak użyć Strategy do testów A/B bez zaśmiecania komponentów warunkami?
  39. 39.Czym są aferentne i eferentne powiązania modułu?
  40. 40.Czym modularny monolit różni się od mikroserwisów (mikrofrontendów)?
  41. 41.Czym są zdarzenia domenowe na frontendzie i dlaczego są przydatne?
  42. 42.Jak wzorzec Circuit Breaker pomaga klientowi przy awarii API?
  43. 43.Kiedy wzorzec Visitor jest uzasadniony w projekcie TypeScript?
  44. 44.Jak zaimplementować niezawodne undo we wspólnym edytorze, w którym edytuje kilku użytkowników?
  45. 45.Co daje Fasada nad zewnętrzną biblioteką UI (np. własny <Button> na MUI)?
  46. 46.Jaka jest różnica między „dziedziczeniem implementacji” a „dziedziczeniem interfejsu”?
  47. 47.Dlaczego wzorzec Saga (orkiestracja) w procesach rozproszonych dotyczy frontendu?
  48. 48.Jak Server Components zmieniają architekturę w porównaniu z SPA?
  49. 49.Czym jest „wewnętrzna platforma” (system projektowy + wspólne pakiety) i kiedy ją wydzielać?
  50. 50.Czym jest „efekt drugiego systemu” w decyzjach architektonicznych?
  51. 51.Jaki problem rozwiązuje wzorzec Transactional Outbox?
  52. 52.Czym API Gateway różni się od Backend for Frontend?
  53. 53.Jaka jest główna idea modelu aktorów?
  54. 54.Po co rozróżniać przełączniki release, experiment, ops i permission?
  55. 55.Czym „powiadomienie o zdarzeniu” różni się od „przekazania stanu w zdarzeniu” (event-carried state transfer)?
  56. 56.Co cechuje architekturę mikrojądra (wtyczek), jak w VS Code?
  57. 57.Co oznacza „parse, don't validate”?
  58. 58.Dwa pakiety: checkout musi wysyłać e-maile, a notifications implementuje wysyłkę. Kto według DIP jest właścicielem interfejsu?
  59. 59.Co mówi zasada stabilnych zależności (Stable Dependencies Principle)?
  60. 60.Dlaczego zasada acyklicznych zależności jest ważna w monorepo?
  61. 61.Czym jest konascencja (connascence)?
  62. 62.Co mówi prawo nieszczelnych abstrakcji?
  63. 63.Co prawo Hyruma oznacza dla szeroko używanej biblioteki komponentów?
  64. 64.Jak „płot Chestertona” odnosi się do refaktoryzacji legacy kodu?
  65. 65.Czym jest wzorzec Bulkhead (gródź)?
  66. 66.Jak działa wzorzec Cache-Aside?
  67. 67.Czym jest burza ponowień (retry storm) i jak jej zapobiec?
  68. 68.Co dają frontendowi i backendowi testy kontraktowe sterowane przez konsumenta (np. Pact)?
  69. 69.Czym jest architektoniczna funkcja przystosowania (fitness function)?
  70. 70.Jak trunk-based development wiąże się z feature flagami?
  71. 71.Jaki jest kluczowy kompromis monorepo w porównaniu z wieloma repozytoriami?
  72. 72.Czym orkiestracja sagi różni się od choreografii?
  73. 73.Czym jest „rozproszony monolit”?
  74. 74.Dlaczego obiekty wartości (Value Objects) są przydatne dla kwot pieniężnych na froncie?
  75. 75.Po co oddzielać wolną operację (np. generowanie raportu PDF) od żądania użytkownika za pomocą kolejek?