Golang
Jak zidentyfikować wąskie gardło podczas przetwarzania pliku — jeśli przetwarzanie linia po linii wydaje się wolne, a goroutines przetwarzają w pętli?
Dlaczego odszedłeś z RocketDev?
Co robiłeś, gdy dane się gubiły? Jak w ogóle można zauważyć, że dane zostały utracone?
Czym są zmienne środowiskowe? Do czego są potrzebne?
Jakiej biblioteki logowania używasz?
Jak się odnosisz do mentoringu początkujących i przeprowadzania wywiadów technicznych?
Jakie są Twoje oczekiwania płacowe w ramach proponowanego zakresu?
Czy masz doświadczenie w pracy nad projektem na wczesnym etapie lub od zera? Co robiłeś i jakie decyzje podejmowałeś?
Dlaczego w tym konkretnym przypadku wybrano gRPC dla usługi agregacji?
Co zmieniłbyś w architekturze swojego serwisu, gdybyś miał pełną swobodę?
Jakie rodzaje testów automatycznych używałeś?
Dlaczego teraz w poszukiwaniu pracy?
Dlaczego nie można zamknąć kanału zwróconego przez ctx.Done() za pomocą funkcji close()?
Ile masz lat komercyjnego doświadczenia z Go?
Jak można zakończyć gorutynę? Jakie są sposoby?
Dlaczego zdecydowałeś się wejść na rynek i rozważyć inne oferty w kontekście motywacji do zmiany?
Czy w serwisie były jakieś punkty końcowe do sprawdzania, czy usługa działa — że usługa działa teraz?
A więc, twoje rozwiązanie w pamięci używa mutexa. Czy możesz wyjaśnić, czym to jest i którego użyłeś?
Z jakimi wyzwaniami spotkałeś się podczas pracy z Kafka?
Co zostanie wyświetlone podczas uruchamiania programu: func main() { counter := make([]int, 0, 1000) var wg sync.WaitGroup for i := 0; i < 1000; i++ { wg.Add(1) go func() { defer wg.Done() counter = append(counter, i) time.Sleep(10 * time.Millisecond) // Symulacja pracy }() } wg.Wait() fmt.Println(len(counter)) }