← Wszystkie tematy

Pytania rekrutacyjne System Design (Middle) z odpowiedziami

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

Rozwiąż ten test
  1. 1.Od czego poprawnie zaczynać odpowiedź na zadanie z frontend system design?
  2. 2.Dlaczego paginacja kursorowa jest lepsza od paginacji przez przesunięcie (offset) dla feedu?
  3. 3.Jak zaprojektować nieskończony feed z tysiącami postów?
  4. 4.Co ważne jest przy projektowaniu autouzupełniania (autocomplete)?
  5. 5.Jaki jest główny kompromis GraphQL w porównaniu z REST?
  6. 6.Czym jest problem N+1 w GraphQL i jak się go rozwiązuje?
  7. 7.Kiedy tRPC jest odpowiedni?
  8. 8.Jakie poziomy cache'owania są między użytkownikiem a bazą danych?
  9. 9.Jak poprawnie cache'ować paczki JS i CSS?
  10. 10.Co daje Cache-Control: max-age=60, stale-while-revalidate=600?
  11. 11.Dlaczego unieważnianie cache nazywa się jednym z najtrudniejszych zadań?
  12. 12.Jaka jest główna wada bezstanowych JWT w porównaniu z sesjami serwerowymi?
  13. 13.Gdzie bezpieczniej przechowywać token sesji w przeglądarce?
  14. 14.Po co para tokenów access i refresh?
  15. 15.Który przepływ OAuth jest zalecany dla SPA i aplikacji mobilnych?
  16. 16.Czym OpenID Connect różni się od OAuth 2.0?
  17. 17.Jak chronić się przed CSRF przy uwierzytelnianiu przez ciasteczka?
  18. 18.Co wybrać do powiadomień w czasie rzeczywistym, które idą tylko od serwera?
  19. 19.Co trzeba przewidzieć przy ponownym łączeniu WebSocket?
  20. 20.Jak bezpiecznie ponowić żądanie płatności przy błędzie sieci?
  21. 21.Po co do wykładniczego opóźnienia ponowień dodaje się losowy rozrzut (jitter)?
  22. 22.Jak poprawnie zorganizować przesyłanie plików użytkowników do chmury?
  23. 23.Jak niezawodnie przesyłać pliki o rozmiarze gigabajtów?
  24. 24.Jak radzić sobie z konfliktami, gdy dwóch użytkowników edytuje ten sam rekord?
  25. 25.Jak zorganizować tryb offline dla aplikacji do notatek?
  26. 26.Co czyni aplikację PWA?
  27. 27.Jaką strategię renderowania logicznie wybrać dla landingu, katalogu i panelu użytkownika?
  28. 28.Co jest złego w pełnej hydratacji dużej strony z treścią?
  29. 29.Jak śledzić wydajność u prawdziwych użytkowników?
  30. 30.Jak przyspieszyć przejście na następną stronę, którą użytkownik prawdopodobnie otworzy?
  31. 31.Czym zewnętrzne skrypty (analityka, czaty, reklamy) grożą wydajności?
  32. 32.Czym wydanie canary różni się od blue-green?
  33. 33.Jak stopniowo włączyć nową funkcję dla 10% użytkowników?
  34. 34.Jakie są zalety i wady monorepo dla kilku aplikacji frontendowych?
  35. 35.Co leży u podstaw skalowalnego systemu projektowego?
  36. 36.Jak interfejs powinien się zachować przy awarii jednego z widżetów dashboardu?
  37. 37.Po co przekazywać identyfikator żądania (request id / trace id) od frontendu do backendu?
  38. 38.Jak działa algorytm rate limiting „token bucket”?
  39. 39.Jak pokazywać kursory innych uczestników we wspólnym edytorze, nie przeciążając sieci?
  40. 40.Licznik nieprzeczytanych wiadomości różni się w różnych kartach. Jak to naprawić?
  41. 41.Jak ładować tłumaczenia w wielojęzycznym SPA, nie powiększając paczki?
  42. 42.Jakie nagłówki bezpieczeństwa HTTP warto skonfigurować dla aplikacji webowej?
  43. 43.Jak wydajnie wysyłać zdarzenia analityczne?
  44. 44.Dlaczego zwracanie totalCount w każdej odpowiedzi listy może być kosztowne?
  45. 45.Czym API Gateway różni się od BFF?
  46. 46.Jak aktualizować cache kliencki po mutacji, by użytkownik zobaczył zmiany?
  47. 47.Czym jest back/forward cache i jak go nie zepsuć?
  48. 48.Jak obsłużyć wygaśnięcie access tokena w trakcie pracy użytkownika?
  49. 49.Dlaczego dla dużych katalogów wyszukiwanie robi się na serwerze, a nie filtrowaniem na kliencie?
  50. 50.Jak zarządzać fokusem przy otwieraniu okna modalnego w SPA?
  51. 51.Czym różnią się Cache-Control: no-cache i no-store?
  52. 52.Co Cache-Control: private oznacza dla CDN?
  53. 53.Kiedy przeglądarka wysyła żądanie preflight CORS i jak go uniknąć?
  54. 54.Co zmieniają ciasteczka SameSite=Lax i SameSite=Strict?
  55. 55.Czym jest IDOR i jak mu zapobiec?
  56. 56.Czym PATCH różni się od PUT?
  57. 57.Po co używać standardowego formatu błędów, jak RFC 9457 Problem Details?
  58. 58.Jak klient powinien zareagować na 429 Too Many Requests z nagłówkiem Retry-After?
  59. 59.Co daje <link rel="preconnect">?
  60. 60.Na co pozwala 103 Early Hints?
  61. 61.Która strategia buforowania w service workerze pasuje do jakiego zasobu?
  62. 62.W czym pomaga Background Sync w aplikacji działającej offline?
  63. 63.Kiedy ciężkie obliczenia warto przenieść do Web Workera?
  64. 64.Jak globalna aplikacja powinna obsługiwać daty i czas?
  65. 65.Czym monitoring syntetyczny różni się od monitoringu prawdziwych użytkowników (RUM)?
  66. 66.Czym różnią się SLI, SLO i SLA?
  67. 67.Strona potrzebuje danych z 6 mikroserwisów. Co zmniejszy liczbę żądań klienta?
  68. 68.Dlaczego endpoint webhooka powinien odpowiadać szybko, a zdarzenie przetwarzać asynchronicznie?
  69. 69.Czym różnią się sondy liveness i readiness?
  70. 70.Co dają persisted queries w GraphQL?
  71. 71.Jak ogłaszać aktualizacje asynchroniczne (np. „3 nowe wiadomości”) użytkownikom czytników ekranu?
  72. 72.Dlaczego sticky sessions na load balancerze mogą sprawiać problemy?
  73. 73.Jak zarządzać sekretami (klucze API, hasła do bazy) we wdrożeniu?
  74. 74.Dlaczego nieograniczone GET /api/items (bez limitu) może stać się incydentem?
  75. 75.Co jest kluczowe po stronie frontendu przy projektowaniu dużego formularza wieloetapowego (kreatora)?