Sobes.tech

Golang

Hai esperienza con gRPC e GraphQL? Raccontami.

Senior
X5 techX5 tech
112

tipo Response interfaccia {} tipo Backend interfaccia { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr contiene ip:port di una specifica istanza func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO backends []*BackendImpl index int mu sync.Mutex } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { se len(b.backends) == 0 { return nil, fmt.Errorf("Il numero di backends nel slice è 0") } b.mu.Lock() index := b.index se b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) return resp, err } // addrs contiene gli indirizzi di tutte le istanze bilanciate func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs))

Middle
Яндекс
112

Come condividere la memoria tra le goroutine? In quali casi è meglio usare Atomic e in quali Mutex/RWMutex/SyncMap?

Senior
plata
112

Quali compiti ti piacciono di più e quali di meno?

Senior
WildberriesWildberries
112

Puoi indicare le prime 3 cose a cui prestare attenzione durante una revisione del codice?

Senior
AvitoAvito
112

Come funziona una mappa in Go?

Middle+
WildberriesWildberries
112

Come verificare l'utilizzo della CPU e della memoria in Linux?

Middle+
Бюро 1440Бюро 1440
112

Per quanto riguarda la specificità della startup: non sempre c'è una definizione chiara dei compiti, a volte sono sfocati, è richiesta iniziativa e autonomia, il carico di lavoro può essere irregolare. Come ti senti in questo?

Senior
AstraTech
112

Nominare quattro protocolli: HTTP, gRPC, WebDAV, ACSA — quale è in più?

Senior
Магнит Тех
112

Compito di scalabilità: il servizio B sta subendo un carico crescente dal servizio A. Cosa si può fare?

Junior
Позитив Технолоджис
112

Cos'è l'allineamento dei dati in Go?

Middle
RWB
112

Quali sono le tue aspettative per un nuovo posto di lavoro?

Senior
МВидеоМВидео
112

Scrivere un problema in linguaggio Go — sezione pratica (problemi della vita reale dello sviluppatore, senza algoritmi): migliorare o correggere un servizio. Durata — 1,5 ore.

Middle+
Яндекс
112

Cos'è TLS e a cosa serve un certificato?

Junior
Позитив Технолоджис
112

Perché abbiamo bisogno di WaitGroup in questo compito?

Senior
Cloud.ru
112

Come validavi i messaggi di Kafka? Se un messaggio non superava la validazione, cosa succedeva?

Senior
МВидео/эльдорадо
112

Qual è la differenza tra un bilanciatore di carico L4 e uno L7?

Senior
Яндекс
112

Quali librerie e framework sono stati utilizzati nel servizio Go?

Middle
СБЕРСБЕР
112

Qual è la differenza tra Kafka e RabbitMQ?

Senior
2gis2gis
112

Hai scritto qualcosa con CTE (Common Table Expression, WITH)?

Middle+
МВидеоМВидео
112
/412