Quanti microservizi hai scritto durante il tuo tempo in azienda?
Golang
Parlami della tua esperienza, cosa hai fatto, su quale progetto hai lavorato e quale ruolo hai ricoperto?
Parla del lavoro con gli slice in Golang: come funzionano capacity, length e cosa succede oltre i limiti.
Come si passa uno slice a una funzione in un linguaggio di programmazione?
Cosa non vorresti assolutamente vedere nel tuo nuovo posto di lavoro?
Come annullare la prenotazione dopo la scadenza del timeout (5 minuti)?
Spiega il meccanismo e le caratteristiche dell'ereditarietà nella programmazione orientata agli oggetti.
Qual è il ruolo dell'operatore EXPLAIN nell'esecuzione di query SQL in un database?
Parlami del tuo ultimo progetto di cui sei orgoglioso.
Quali compiti ti piacciono di più e quali di meno?
SELEZIONA reparto, SOMMA(salary) DA dipendenti DOVE SOMMA(salary) > 10000 RAGGRUPPA PER reparto;
Parla di ottimizzazione delle query del database dal punto di vista tecnico.
Quali tipi di architetture a strati esistono? (Clean Architecture, Hexagonal, DDD)
Come procede la pipeline delle attività, dal business allo sviluppo?
// Cosa mostrerà il codice? func main() { var wg sync.WaitGroup for i := 0; i < 3; i++ { go func() { wg.Add(1) defer wg.Done() fmt.Print(i) }() } wg.Wait() fmt.Println("\ndone") }
Ci sono una partita IVA o altre forme di persone giuridiche?
Hai tu stesso monitorato il monitoraggio o hai un team separato?
C'è sviluppo mobile nel tuo team?
Parla del pianificatore Golang, come gestisce le operazioni bloccanti
// Trova il numero pari massimo package main import "fmt" func main() { var max int for i := 1000; i > 0; i-- { go func() { if i%2 == 0 && i > max { max = i } }() } fmt.Printf("Il massimo è %d", max) } func maxEvent(n, workers int) int { var wg sync.WaitGroup results := make(chan int, workers) jobs := make(chan int, workers) for w := 0; w < workers; w++ { wg.Add(1) go func() { defer wg.Done() localMax := -1 for num := range jobs { if num%2 == 0 && num > localMax { localMax = num } } result <- localMax }() } go func() { for i := 1; i <= n; i++ { jobs <- i } close(jobs) }() go func() { wg.Wait() close(results) }() globalMax := -1 for localMax := range results { if localMax > globalMax { globalMax = localMax } } return globalMax }