Czym są goroutines?
Golang
Czy możesz wyjaśnić, co oznacza termin 'kontekst' w programowaniu lub rozwoju?
Czym jest race condition i jak sobie z nią radzić w Go?
Jaka jest różnica między kanałami z buforem a bez bufora?
Jak można zarządzać gorutynami i czy wszystkie są wykonywane na jednym wątku?
Jaki miałeś zespół, ile osób?
Czym różni się zastosowanie i cechy języka programowania Go w porównaniu z Pythonem?
Co oznacza kolumna load average w narzędziu top?
Jakimi metodami i podejściami sprawdzasz działanie swojego kodu?
Jak można używać wbudowanych struktur do symulacji dziedziczenia w Go?
Co może Pan/Pani powiedzieć o swoim doświadczeniu w integracji różnych systemów lub usług?
Czym jest model GMP planisty Go?
Jaka jest różnica między tablicą a slice'em w Go?
Czym różni się systemctl restart od systemctl reload?
Opowiedz o notacji asymptotycznej Big O: czym jest, jakie rodzaje istnieją i do czego służą
Jak analizować stan maszyny Linux bez monitorowania, jeśli źle się czuje? Jak zrozumieć przyczyny problemów?
// Istnieje interfejs Backend z metodą Execute // Należy napisać load balancer // Load balancer spełnia interfejs Backend // Zadaniem load balancera jest przyjęcie żądania i delegowanie go do jednego z dostępnych backendów // Load balancer zawiera w sobie kolekcję backendów // Podczas wykonywania żądania, load balancer wybiera jeden z backendów według określonego algorytmu // // Algorytm Least Connection, sprawdzanie stanu i automatyczne odzyskiwanie, bezpieczeństwo thread-safe przez atomic, przekazywanie kontekstu do anulowania, próg błędów, po którym odłączymy backend // Request reprezentuje wejściowe żądanie dla Backend. type Request struct { // Payload – dowolne dane żądania. Payload []byte } // Response reprezentuje odpowiedź od Backend. type Response struct { // Payload – dowolne dane odpowiedzi. Payload []byte } // Backend – interfejs definiujący metodę do wykonania żądania type Backend interface { Execute(ctx context.Context, req Request) (Response, error) } type Balancer struct { backends []Backend } func NewBalancer(backends []Backend) *Balancer { return &Balancer{backends: backends} } func (b *Balancer) Execute(ctx context.Context, req Request) (Response, error) { // todo: zaimplementuj logikę load balancera return Response{}, nil } type TestBackend struct { }
Do czego służy pamięć podręczna i caching? Czym jest negatywna pamięć podręczna?
Mocki w testach i dlaczego są potrzebne