Golang
```go func fail() { panic("Fallimento!") } func main() { fmt.Println("Inizio!") var wg sync.WaitGroup wg.Add(1) go func() { defer func() { if e := recover(); e != nil { fmt.Println(e) } }() fail() wg.Done() }() wg.Wait() fmt.Println("Fine!") } ```
Quante persone sono state coinvolte nel progetto più grande a cui hai lavorato? Meno di dieci, decine, centinaia?
// Domanda 5. Cosa verrà visualizzato sullo schermo func main() { ch := make(chan int, 5) for i := 1; i <= 5; i++ { ch <- i } for true { fmt.Println(<-ch) } }
Cos'è il profiling in Go? Hai mai usato pprof?
Supponiamo che il compito sia in Go versione 1.18. Cosa cambierà nel comportamento del programma?
Come comunicare tra servizi — gRPC, REST o qualcos'altro?
Hai un libretto militare?
Quali sono le tue aspettative finanziarie?
Parli di gRPC: perché sceglierlo, vantaggi, limiti
Cosa c'è nel pacchetto sync?
// Quando si aggiorna un ordine, dobbiamo inviare i dati dell'ordine a diversi servizi (API di terze parti) // il numero di servizi sta crescendo (potenzialmente migliaia+) // abbiamo scritto il codice, all'inizio tutto andava bene, ma col tempo il nostro servizio ha iniziato a consumare molta memoria func (s *orderService) SendOrder(ctx context.Context, hosts []string, order Order) { for i := 0; i < len(hosts); i++ { go func() { // Immaginiamo che sia una lunga chiamata di rete response, err := s.httpClient.Send(ctx, hosts[i], order) if err != nil { s.logger.Error(ctx, "fallimento nell'invio", err) return } s.logger.Info(ctx, "successo", response) }() } }
Da dove provengono 4-5k RPS?
La mappa standard in Go è sicura per la concorrenza? Quali alternative esistono?
Parlami del compito tecnico più difficile con cui ti sei confrontato durante il lavoro sul progetto.
Parlami di te e del tuo progetto attuale. Cosa stai facendo?
Hai lavorato con procedure memorizzate in un database?
Da quale somma consideri un'offerta in base alle aspettative salariali?
Quale tipo di dato in Go viene utilizzato per rappresentare i caratteri Unicode?
Come avverrà il processo di invio e ricezione dei messaggi tra due clienti? Descrivi il flusso completo.
Come avviene la risoluzione DNS in Kubernetes? Spiega FQDN e la catena di risoluzione DNS.