Sobes.tech

Golang

Puoi raccontare brevemente la tua esperienza? Qual è il principale linguaggio di programmazione che usi? Quanti anni di esperienza hai nello sviluppo industriale?

157

Perché avete deciso di usare LLM invece della semplice logica nel codice?

157

Alla riga 60 buf = buf[:0] — cosa sta succedendo qui?

156

/* C'è un'applicazione con architettura a microservizi. Un microservizio può essere astratto tramite un'interfaccia Backend. Per accedere a un'istanza di microservizio, si può usare il tipo BackendImpl, che è già implementato. Ogni microservizio ha diverse decine di istanze in esecuzione, ognuna accessibile tramite il proprio indirizzo addr. Tuttavia, le singole istanze del microservizio non sono affidabili: potrebbero fallire, essere inaccessibili o sovraccariche. Per questo, devi implementare un tipo Balancer, che implementa anch'esso l'interfaccia Backend e effettua il bilanciamento del carico tra le istanze del microservizio, scegliendo ogni volta **l'istanza meno caricata**.

155

In cosa si differenzia JWT dal memorizzare le sessioni sul server?

154

Qual è il linguaggio di programmazione principale che usi? Utilizzi C++ o Python?

153

func Pipe(p Produttore, c Consumatore) error { // TODO buf := make([]any, 0, MaxItems) cookies := make([]int, 0) flush := func() error { if len(buf) == 0 { return nil } if err := c.Process(buf); err != nil { return err } for _, cookie := range cookies { if err := p.Commit(cookie); err != nil { return err } } buf = buf[:0] cookies = cookies[:0] return nil } for { items, cookie, err := p.Next() if err != nil { flush() return err }

153

Quanta memoria viene inizialmente assegnata al buffer?

153

Cosa succede se Consumer.Process restituisce un errore — i dati dal buffer non verranno persi?

150

Perché la chiamata a backend.Invoke è stata effettuata al di fuori del mutex?

150

Quali linguaggi di programmazione, oltre Go, usi per te stesso o nello sviluppo commerciale?

147

Dato un stringa S, è necessario contare il numero di sottostringhe in questa stringa che contengono tutti i caratteri di questa stringa almeno una volta. Esempi: "abca" -> 3 // abc, bca, abca "aa" -> 3 // aa, a, a, "ffg" -> 2 // ffg, fg

145

Qual è il massimo numero di richieste al secondo che hai attualmente sotto carico elevato?

145

Questa è una stringa di caratteri. Trova il numero di coppie di indici i e j (i <= j), tra cui, ci sono caratteri non ripetuti. Per la stringa "aba" la risposta è 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") Per la stringa "acbb" la risposta è ?:

143

// TODO backends []*BackendImpl index int mu sync.Mutex func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { b.mu.Lock() index := b.index if b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) b.mu.Lock() defer b.mu.Unlock() b.index += 1 return resp, err } // addr contiene ip:port di una specifica istanza func NewBackend(addr string) *BackendImpl // addrs contengono gli indirizzi di tutte le istanze bilanciate func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs)) for _, addr := range addrs { backends = append(backends, NewBackend(addr)) } return &Balancer{ backends: backends, } }

142

In quale linguaggio di programmazione lavori? Perché ci sono state difficoltà con la sintassi?

141

Quali criteri utilizzerai per scegliere un datore di lavoro? Cosa è più importante per te?

141

Se necessario o per desiderio personale, sei disposto a passare a un altro linguaggio di programmazione?

140

Parliamo di architettura a microservizi. Cosa è stato più recente: supporto o sviluppo?

140
/11