Pytania Rekrutacyjne o Mikroserwisy

Autor: Aaron Cao · Zaktualizowano

Pytania Rekrutacyjne o Mikroserwisy
Rozmowy o mikroserwisach testują granice usług, wybory komunikacji, spójność danych i obsługę awarii, a nie ciekawostki o frameworkach. Spodziewaj się, że będziesz musiał podzielić monolit, bronić wywołań synchronicznych wobec komunikatów asynchronicznych, wyjaśnić jak utrzymujesz poprawność danych między usługami i prześledzić jedno żądanie od początku do końca.

Rozmowy o mikroserwisach testują granice usług, wybory komunikacji, spójność danych i obsługę awarii, a nie ciekawostki o frameworkach. Spodziewaj się, że będziesz musiał podzielić monolit, bronić wywołań synchronicznych wobec komunikatów asynchronicznych, wyjaśnić jak utrzymujesz poprawność danych między usługami i prześledzić jedno żądanie od początku do końca.

Co naprawdę testują rozmowy o mikroserwisy?

Przeczytałeś nazwy wzorców, potrafisz wyrecytować, co robi circuit breaker, a i tak nie wiesz, czego słucha panel rekrutacyjny. Ta sekcja nazywa cztery obszary, które oceniają rekruterzy, w kolejności, w jakiej zwykle je sondują. Każdy z nich to pytanie oceniające przebrane za pytanie ze słownictwa.

  • Dekompozycja. Gdzie tniesz i dlaczego tam? Rekruterzy chcą granicy wytyczonej wzdłuż zdolności biznesowej lub własności danych, nie wzdłuż warstw technicznych.
  • Komunikacja. Synchroniczne żądanie/odpowiedź czy asynchroniczne zdarzenia, i co się psuje w każdym z nich. Oczekiwana odpowiedź to kompromis, nie preferencja.
  • Dane. Jedna baza danych na usługę oznacza brak joinów między usługami i brak transakcji rozproszonej. Jak mimo to utrzymujesz system poprawny?
  • Operacje. Wdrożenie, wersjonowanie, śledzenie, i co się dzieje o trzeciej nad ranem, gdy jedna usługa jest wolna, a nie martwa.

Zauważ, że żadna z tych rzeczy nie dotyczy frameworka. Kandydat, który wyjaśnia, dlaczego oddzielił checkout od inventory, zawsze wypada lepiej niż ten, który wylicza adnotacje.

Które pytania o dekompozycję i komunikację pojawiają się najczęściej?

To pytania, którymi zaczyna się większość rund o mikroserwisach, wraz z tym, co rekruter faktycznie sprawdza pod każdym z nich.

  • Jak podzieliłbyś ten monolit na usługi? Sprawdza, czy tniesz wzdłuż zdolności biznesowych i własności danych, czy wzdłuż warstw controller, service i repository. Druga odpowiedź daje rozproszony monolit.
  • Jak dwie usługi komunikują się ze sobą? Sprawdza, czy potrafisz nazwać koszt każdego wyboru: wywołania synchroniczne dają prosty model mentalny, ale sprzęgają dostępność, zdarzenia asynchroniczne rozprzęgają dostępność i dają eventual consistency, którą musisz wytłumaczyć product ownerowi.
  • Czym jest rozproszony monolit i jak go uniknąć? Sprawdza, czy wiesz, że usługi, które muszą być wdrażane razem, nie są tak naprawdę oddzielne.
  • Jak duża powinna być usługa? Sprawdza, czy oprzesz się podaniu liczby. Rozmiar wynika z granicy i zespołu, który ją posiada.
  • Czy potrzebujesz API gateway i co on robi? Sprawdza, czy potrafisz oddzielić routing, uwierzytelnianie i rate limiting od logiki biznesowej.
  • Jak usługi się nawzajem odnajdują? Sprawdza podstawową znajomość service discovery i dlaczego zakodowane na sztywno hosty zawodzą w przeskalowanym środowisku.

Wypowiedz kompromis na głos w każdej odpowiedzi. Panel nie może przyznać punktów za porównanie, które zrobiłeś po cichu w głowie.

Jak odpowiadać na pytania o dane i awarie?

To tutaj wygrywa się lub przegrywa rozmowy, bo te pytania nie mają czystej odpowiedzi, a kandydaci sięgają po odpowiedź wyuczoną na pamięć.

  • Jak utrzymujesz spójność danych między usługami? Najpierw nazwij ograniczenie: nie ma transakcji między usługami. Potem opisz sagę, choreografowaną przez zdarzenia albo orkiestrowaną przez koordynatora, i powiedz wprost, że system jest eventually consistent, oraz co widzi użytkownik w tej przerwie.
  • Co się dzieje, gdy usługa niżej w łańcuchu jest wolna? Timeouty, retry z backoffem, i circuit breaker, żeby wolna zależność nie wyczerpała twojego thread poola. Wolne jest gorsze niż martwe, a powiedzenie tego sygnalizuje doświadczenie produkcyjne.
  • Jak sprawić, by retry było bezpieczne? Idempotency. Klucz idempotencji na ścieżce zapisu, żeby powtórzona płatność została pobrana tylko raz.
  • Jak obsłużyć częściową awarię w wieloetapowym przepływie? Akcje kompensujące, nie rollback. Wyjaśnij, jak wygląda zwrot pieniędzy albo zwolnienie rezerwacji.
  • Jak debugujesz żądanie, które dotknęło sześciu usług? Distributed tracing z correlation ID propagowanym przez każdy hop, plus ustrukturyzowane logi i metryki.

Inżynier backendu rozmawiający o roli platform L5 u publicznego dostawcy chmury dostał pytanie o sagę i odpowiedział na nie za jednym razem, słownictwem wzorców, ani razu nie wspominając, co zobaczyłby klient. Pytanie uzupełniające, co pokazuje strona zamówienia w oknie niespójności, to pytanie, które naprawdę decyduje o rundzie. Przygotuj drugą odpowiedź, nie tylko pierwszą.

Więcej banków pytań według roli i tematu jest zebranych pod pytaniami rekrutacyjnymi według roli.

Jak ćwiczyć to na głos?

Czytanie tej listy daje poczucie rozpoznania, a to poczucie znika, gdy obcy zadaje pytanie i czeka. Przepaść między znajomością wzorca a wyjaśnieniem go pod lekką presją to cała trudność rundy system design, i zamyka się ją tylko przez mówienie.

Wybierz jeden przepływ, który dobrze znasz, złożenie zamówienia albo rejestrację, i opowiedz na głos całą dekompozycję: granicę, wybór komunikacji, historię spójności, historię awarii. Rób to, aż przestaniesz zaczynać zdania od nowa. Możesz przećwiczyć te podpowiedzi na sztucznej inteligencji przeprowadzającej rozmowę, która zadaje pytania uzupełniające i pozwala odpowiadać głosem w trybie rozmowy symulowanej, co jest bliższe rzeczywistości niż ponowne czytanie notatek.

Aaron Cao, założyciel SubcueAI, zbudował tryb ćwiczeń wokół tej przepaści, a nie wokół dostarczania treści. Listy pytań są swobodnie dostępne wszędzie; czego brakuje kandydatom, to powtórzeń mówienia odpowiedzi, gdy ktoś czeka. Podczas prawdziwej rozmowy aplikacja desktopowa i Side Panel rozszerzenia przeglądarki mogą pokazywać ustrukturyzowane podpowiedzi, gdy mówi rekruter, choć przećwiczone wyjaśnienie zawsze bije takie, które czytasz po raz pierwszy. Co asystent robi, a czego nie robi, opisano w przeglądzie produktu.

FAQ

Ile pytań o mikroserwisy powinienem przygotować?

Głębokie przygotowanie jednego przepływu bije zapamiętanie trzydziestu pytań. Jeśli potrafisz zdekomponować jeden system, obronić wybór komunikacji, wyjaśnić model spójności i opisać, co się psuje przy częściowej awarii, odpowiesz na większość wariantów, o które pyta panel.

Czy muszę znać Kubernetesa na rozmowę o mikroserwisy?

Dla większości ról backendowych musisz wyjaśnić, co powinno zapewniać wdrożenie i skalowanie, a nie obsługiwać klaster. Role platform i SRE są inne i naprawdę wchodzą głębiej w orkiestrację, service mesh i strategię rollout.

Jaki jest najczęstszy błąd na tych rozmowach?

Dzielenie wzdłuż warstw technicznych zamiast zdolności biznesowych, co daje usługi, które muszą być wdrażane razem. Drugi najczęstszy błąd to opisanie sagi bez powiedzenia, że system staje się eventually consistent.

Czy pytania o mikroserwisy padają w rundach kodowania czy projektowania?

Głównie w rundach projektowych i senioralnej rundzie behawioralnej, gdzie rekruterzy pytają o system, który prowadziłeś. Rundy kodowania trzymają się algorytmów i biegłości językowej, choć zadanie domowe może poprosić o dodanie jednej usługi do istniejącego zestawu.

Czy asystent AI może odpowiedzieć na te pytania za mnie na żywo?

Może pokazać strukturę, gdy mówi rekruter, i to pomaga najbardziej, gdy już znasz materiał. Nie zastępuje próby, a udostępnianie ekranu, nagrywane sesje, testy z nadzorem i laptopy zarządzane przez firmę pozostają poza zakresem.

Powiązane pytania

← Więcej o Pytania rekrutacyjne według roli i tematu