Jeśli mamy komunikację typu back-to-back i nie trzeba przesyłać dużych ilości danych, czy użyłbyś gRPC czy REST? Na jakie czynniki zwróciłbyś uwagę przy wyborze protokołu?
C#
Jak w projekcie zrealizowano wersjonowanie API? Jak klient wywoływał konkretną wersję?
Czym jest Activity w MassTransit?
Jak realizowano rozproszone transakcje w mikroserwisach? Czy używaliście sagi?
Jak rozpoznać, które dane należy buforować?
Jakie strategie wdrażania znasz oprócz deploymentu Blue-Green?
Czym różni się orkiestracja od choreografii w kontekście sagi?
Zadanie: jest endpoint getWeather, który zwraca temperaturę w mieście. Obsługuje duże obciążenie. Jak zaimplementować cache? Co się dzieje przy cache miss pod dużym obciążeniem (50k RPS)?
Jak zaimplementowano paginację na backendzie? Dlaczego LIMIT/OFFSET źle działa przy dużej liczbie rekordów? Jak można to zoptymalizować?
Jakimi typami indeksów posługiwałeś się w PostgreSQL? Dlaczego do wyszukiwania pełnotekstowego używa się indeksu GIN, a nie B-tree?
Dlaczego frontend komunikuje się z backendem przez REST, a nie przez gRPC?
Jak zoptymalizowałeś ciężkie zapytanie SQL? Czym się posługiwałeś?
Jak działa rozdział wiadomości w RabbitMQ pomiędzy wielu konsumentów tej samej kolejki?
Czym jest feature toggle i jak szybko wyłączyć zepsutą funkcję bez ponownego wdrożenia?
Jak pracowałeś z Git w projekcie? Opowiedz o gałęziach, procesie rozwoju i procesie wydania.
Czy możesz porównać komunikację usług przez gRPC i zwykłe interakcje HTTP? Zalety i wady każdego podejścia.
[imię] opowiedział o swojej ostatniej pracy: jaki to był system, jakie konkretne zadania wykonywał, jakie technologie i wzorce były używane?
Czy możesz porównać RabbitMQ i Kafka? Do jakich zadań używałbyś każdego z nich?
Jakie znasz sposoby interakcji z pamięcią podręczną?
Jak zaimplementować buforowanie tak, aby usługa działała tylko z pamięcią podręczną i nie znała bazy danych? Dane zmieniają się co 5 minut, dopuszczalne są dane nieaktualne. Czy należy ustawić TTL na dane w pamięci podręcznej?