Golang
Opowiedz o swoim obecnym doświadczeniu: gdzie teraz pracujesz, nad jakim produktem, jaki jest główny stos technologiczny?
Jak procesy i wątki mogą ze sobą współdziałać?
Wymień główne typy danych w Go
// Napraw kod func FixProblem() { var wg sync.WaitGroup ch := make(chan string, 5) mu := sync.Mutex{} for i := 0; i < 5; i++ { wg.Add(1) go func(ch<- string, i int, wg *sync.WaitGroup) { defer wg.Done() mu.Lock() defer mu.Unlock() msg := fmt.Sprintf("Goroutine %s", strconv.Itoa(i)) ch <- msg }(ch, i, &wg) } for { select { case q := <-ch: fmt.Println(q) } } wg.Wait() }
Czym są struktury w Go i do czego służą?
Czy masz doświadczenie w pracy nad projektem na wczesnym etapie lub od zera? Co robiłeś i jakie decyzje podejmowałeś?
[imię] zapytał: czym jest alias w Go?
//1-10 wyświetl kwadraty, policz w wielu wątkach, pulę workerów
Jak nazywa się konstrukcja WITH ... AS (...) w linii 84 zapytania?
Jak komfortowa jest pełna praca zdalna?
Jak określiłbyś, że jedna wersja czatu jest lepsza od drugiej, jeśli miałbyś dwie wersje?
Ile osób było w zespole?
Jakie praktyki istnieją, aby zmniejszyć rozmiar obrazu Docker?
Opowiedz więcej o systemie punktów — co się działo na najwyższym poziomie?
Porozmawiajmy o replikach i partycjonowaniu — do czego są potrzebne.
Czy można zagwarantować dostarczenie danych przez UDP?
Czy masz obecnie priorytety lub plany rozwoju?
Czym jest idempotentność? Istnieją bazy NoSQL — jakie są ich różnice i kiedy je wybierać?
/* Aplikacja z architekturą mikroserwisów. Mikroserwis można abstrakcyjnie reprezentować za pomocą interfejsu Backend. Aby uzyskać dostęp do jednej instancji mikroserwisu, można użyć typu BackendImpl, który jest już zaimplementowany. Każdy mikroserwis ma kilkadziesiąt uruchomionych instancji, z których każda jest dostępna pod własnym adresem addr. Jednak pojedyncze instancje mikroserwisu nie są niezawodne: mogą się zawiesić, być niedostępne lub przeciążone. Dlatego musisz zaimplementować typ Balancer, który również implementuje interfejs Backend i realizuje balansowanie obciążenia po stronie klienta pomiędzy instancjami mikroserwisu, wybierając za każdym razem **najmniej obciążoną** instancję.
Opowiedz, dlaczego zdecydowałeś się szukać nowych projektów i jakiego rozwoju oczekujesz.