Golang
Jeśli jeden z serwisów, z którego korzystasz, zwróci błąd, co zrobisz i jak to obsłużysz, mając kanał?
Co się stanie, jeśli defer będzie na zewnątrz goroutine, a nie wewnątrz niej?
Jakie są zalety i wady dwóch scenariuszy: dodawanie zadań przed uruchomieniem puli i po jej uruchomieniu?
/* Istnieje aplikacja z architekturą mikroserwisów. Mikroserwis można abstrakcyjnie reprezentować za pomocą interfejsu Backend. Aby uzyskać dostęp do 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 wykonuje balansowanie obciążenia po stronie klienta między instancjami mikroserwisu, wybierając za każdym razem **najmniej obciążoną** instancję. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr zawiera ip:port konkretnej instancji func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs zawierają adresy wszystkich balansowanych instancji func NewBalancer(addrs []string) *Balancer { // TODO }
package main import ( "fmt" ) func main() { c := make(chan string) go fmt.Println(<-c) c <- "Hello World!" fmt.Println("Exit!") }
Jakie konkretnie primitive synchronizacji są w Go?
Czym jest CQRS i jak można go zrealizować?
Pytanie ogólne: gotowość do rozmowy kwalifikacyjnej i źródła pytań
Jak dzielą się kody odpowiedzi HTTP na grupy i co one oznaczają?
Jakie polecenie jest używane do wstawiania wartości do tabeli?
Jak myślisz, jaki jest problem z rozwiązaniem w pamięci? Co się stanie, jeśli zrestartujesz usługę?
Opowiedz o swoim doświadczeniu z bazami danych — oprócz ClickHouse, jakie bazy i jak głęboko?
Czy używałeś brokerów wiadomości w pracy?
Jakie są Twoje oczekiwania finansowe?
Jak powinien być zaprojektowany serwer HTTP w Go, aby obsługiwał łagodne zamknięcie i odpowiednie czyszczenie zasobów?
Z jakimi metodologiami rozwoju pracowałeś? Które są najbardziej wygodne?
Dlaczego wybrano partycjonowanie według statusu, skoro historycznie jest więcej zwolnionych niż aktywnych?
Załóżmy, że na powierzchni znajduje się punkt i narysowana jest linia, która przez niego nie przechodzi. Ile różnych prostych można poprowadzić przez ten punkt równoległych do danej prostej?
Czy pracowałeś z Scrum?
Jak sprawdzić, dlaczego długopis odpowiada wolno? Jak korzystać z pprof?