Co oznacza nazewnictwo w stylu RPC? W naszym przypadku gRPC i REST — czym się różnią?
Golang
Jak zoptymalizowałeś zapytania z 10-20 minut do 5-7? Jakie raporty były wykonywane tak długo?
Czy nadal pracujesz w Magnit? Dlaczego zdecydowałeś się wejść na rynek?
Czy w twoich usługach była duża logika, czy usługi były po prostu 'weź stąd, połóż tam'?
// Pytanie 5. Co zostanie wyświetlone na ekranie func main() { ch := make(chan int, 5) for i := 1; i <= 5; i++ { ch <- i } for true { fmt.Println(<-ch) } }
Czy tworzyłeś historyczne tabele — na przykład dla użytkownika, gdzie przechowywana jest historia zmian jego atrybutów?
Gdzie należy zdefiniować recover, aby w przypadku paniki aplikacja nie upadła, mając wiele endpointów, wiele zależności (baza danych, cache, biblioteki)?
Co działo się na pierwszym kanale synchronizacji? Czy to był jakiś model danych, na podstawie którego się wzbogacali?
// Pytanie 3. Co zostanie wyświetlone na ekranie package main import "fmt" import "math" func main() { i := int32(math.Pow(2, 64)) - 1 fmt.Println(i) }
Skąd pochodziły dane? Wysyłali je logistycy czy jak?
Po co jest potrzebna konteneryzacja? Czemu po prostu nie wdrożyć?
Czy było dużo takich nieprawidłowych wiadomości?
Co jest w pakiecie sync?
Czy używaliście wyzwalaczy w praktyce?
// Pytanie 2. Co zostanie wyświetlone na ekranie package main import "fmt" func main() { { defer fmt.Println(1) } defer fmt.Println(2) }
Co zrobiono z wiadomościami po ręcznej obróbce? Jakie były opcje?
Opowiedz o sobie, czym się zajmowałeś, co robiłeś?
Czy znasz taki wzorzec jak Saga?
Jak współpracujesz w zespole, który ma middle i team lead?
Przeniosłeś nieprawidłowe wiadomości do osobnego tematu i je produkowałeś, czy jak? Czy było dużo takich wiadomości?