← Wszystkie tematy

Pytania rekrutacyjne System Design (Senior) z odpowiedziami

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

Rozwiąż ten test
  1. 1.Co mówi twierdzenie CAP?
  2. 2.Użytkownik zaktualizował profil, odświeżył stronę i zobaczył stare dane. Która gwarancja została naruszona?
  3. 3.Czym grozi wybór klucza shardowania „według daty utworzenia”?
  4. 4.Po co consistent hashing przy dodawaniu węzłów cache?
  5. 5.Po co umieszczać kolejkę wiadomości między API a obsługą ciężkich zadań?
  6. 6.Dlaczego konsumenci kolejki z dostarczaniem „at-least-once” muszą być idempotentni?
  7. 7.Czym jest backpressure?
  8. 8.Czym fan-out on write różni się od fan-out on read w feedzie sieci społecznościowej?
  9. 9.Jak zapewnić poprawną kolejność wiadomości w czacie?
  10. 10.Jakie komponenty są zwykle potrzebne w architekturze komunikatora?
  11. 11.Jak skalować serwery WebSocket poziomo?
  12. 12.Jak zaimplementować status „online” dla milionów użytkowników?
  13. 13.Czym OT różni się od CRDT we wspólnej edycji?
  14. 14.Jak działa adaptacyjny streaming wideo (HLS/DASH)?
  15. 15.Jak zaprojektować serwowanie obrazków użytkowników w różnych rozmiarach?
  16. 16.Jak zaimplementować rate limiting, jeśli API działa na 20 serwerach?
  17. 17.Do czego przydaje się filtr Blooma?
  18. 18.Jak generować krótkie linki w serwisie skracania URL?
  19. 19.Jak skalować podpowiedzi wyszukiwania (typeahead) do milionów żądań na sekundę?
  20. 20.Jakie problemy pojawiają się przy działaniu serwisu w kilku regionach (active-active)?
  21. 21.Czym nagłówek Vary: User-Agent lub Vary: Cookie grozi dla CDN?
  22. 22.Czym jest cache stampede i jak mu zapobiec?
  23. 23.Czym różnią się strategie cache-aside, write-through i write-back?
  24. 24.Kiedy renderować na edge, a kiedy w regionie blisko bazy danych?
  25. 25.Jakie istnieją sposoby kompozycji mikrofrontendów?
  26. 26.Jak wdrożyć zmianę API, nie psując klientów starej wersji?
  27. 27.Dlaczego po wdrożeniu SPA użytkownicy dostają ChunkLoadError?
  28. 28.Jak metryki, logi i trace'y uzupełniają się nawzajem?
  29. 29.Czym jest budżet błędów (error budget)?
  30. 30.Czym jest wzorzec Bulkhead (grodzie)?
  31. 31.Dlaczego ważne jest patrzenie na p99 opóźnienia, a nie tylko na średnią?
  32. 32.Jak połączyć cache'owanie HTML na CDN z personalizacją (imię użytkownika, koszyk)?
  33. 33.Dlaczego udanego przekierowania ze strony płatności nie można uznać za potwierdzenie płatności?
  34. 34.Jak sprawdzić autentyczność przychodzącego webhooka?
  35. 35.Dlaczego indeks wyszukiwania często aktualizuje się asynchronicznie, a nie w tej samej transakcji?
  36. 36.Jak atomowo zaktualizować bazę danych i wysłać zdarzenie do kolejki?
  37. 37.Serwis musi obsłużyć 10 mln aktywnych użytkowników dziennie po 20 żądań. Jakie jest średnie obciążenie?
  38. 38.Czym projektowanie systemu read-heavy różni się od write-heavy?
  39. 39.Jak zbudować dashboard analityczny dla milionów zdarzeń, by otwierał się szybko?
  40. 40.Jak zaprojektować system powiadomień (e-mail, push, in-app)?
  41. 41.Jak oddawać wynik ciężkiej operacji (eksport raportu trwający 5 minut)?
  42. 42.Jak frontend może obliczać feature flags bez migotania interfejsu?
  43. 43.Co minimalizować w logach i analityce ze względu na prywatność?
  44. 44.Dlaczego podpisane linki do prywatnych plików robi się krótkotrwałymi?
  45. 45.Czym projektowanie ze ścisłą spójnością różni się dla salda bankowego i licznika polubień?
  46. 46.Czym są hedged requests i kiedy są przydatne?
  47. 47.Jak zapewnić działanie strony, jeśli padł serwis rekomendacji?
  48. 48.Jak określić wymagania co do przechowywania wiadomości czatu przez 5 lat dla 1 mln użytkowników?
  49. 49.Czym odporność na awarie active-passive różni się od active-active?
  50. 50.Dlaczego odpowiedź API dla klientów mobilnych warto projektować z myślą o długim życiu starych wersji?
  51. 51.Czy dostarczanie wiadomości „dokładnie raz” (exactly-once) jest osiągalne w systemie rozproszonym?
  52. 52.Jedno konto celebryty dostaje miliony zapisów, przeciążając swoją partycję. Co pomoże?
  53. 53.Jakie są typowe opcje izolacji najemców w wielonajemczym SaaS?
  54. 54.Jaka struktura danych sprawia, że wyszukiwanie pełnotekstowe jest szybkie?
  55. 55.Jak tanio przechowywać metryki z miliardami punktów?
  56. 56.Jak zaimplementować tablicę wyników gry w czasie rzeczywistym?
  57. 57.Co daje identyfikator w stylu Snowflake w porównaniu z losowym UUIDv4?
  58. 58.Dlaczego w replikowanym magazynie z N=3 wybiera się R=2 i W=2?
  59. 59.Dlaczego dwufazowy commit rzadko stosuje się między mikroserwisami?
  60. 60.Czym jest load shedding (zrzucanie obciążenia)?
  61. 61.Dlaczego funkcje serverless mają skoki opóźnień po okresach bezczynności?
  62. 62.Po awarii serwera WebSocket wszyscy klienci łączą się ponownie naraz i znów go przewracają. Jak temu zapobiec?
  63. 63.Dlaczego systemy płatności używają niemutowalnej księgi z podwójnym zapisem zamiast mutowalnej kolumny balance?
  64. 64.Jak spełnić żądanie „prawa do bycia zapomnianym”, gdy dane osobowe są w niemutowalnych logach zdarzeń i kopiach zapasowych?
  65. 65.Jak zmienić nazwę kolumny w bazie bez przestoju?
  66. 66.Co oznaczają RPO i RTO w odtwarzaniu po awarii?
  67. 67.Czym jest chaos engineering?
  68. 68.Jak wymogi rezydencji danych (np. dane z UE zostają w UE) wpływają na architekturę?
  69. 69.1 mln wyświetleń wideo dziennie po 50 MB - jaka mniej więcej średnia przepustowość wychodząca jest potrzebna?
  70. 70.Usługa obsługuje 1000 żądań/s ze średnim opóźnieniem 200 ms. Ile żądań jest średnio w trakcie obsługi?
  71. 71.Dlaczego rozproszona blokada potrzebuje tokenów fencing?
  72. 72.Do czego służy Change Data Capture (CDC)?
  73. 73.Dashboard wykonuje ciężką agregację przy każdym ładowaniu strony. Jakie jest typowe rozwiązanie?
  74. 74.Jak rozwijać schematy zdarzeń lub wiadomości bez psucia konsumentów?
  75. 75.Dlaczego przypisanie użytkowników WebSocket do konkretnego serwera komplikuje wdrożenia?