Golang
Parla dei principi SOLID.
Come organizzare correttamente il lavoro con i canali per un funzionamento sicuro del programma e l'elaborazione dei dati?
func collectRTT(ctx context.Context, urls []string) (map[string]time.Duration, error) { pingMap := make(map[string]time.Duration, len(urls)) var mu sync.Mutex var wg sync.WaitGroup errCh := make(chan error, 1) for _, url := range urls { wg.Add(1) go func(u string) { defer wg.Done() dur, err := rtt(ctx, u) if err != nil { select { case errCh <- fmt.Errorf("fallimento nel rtt %s, %w", u, err): default: } return } mu.Lock() pingMap[u] = dur mu.Unlock() }(url) } wg.Wait() close(errCh) if err := <-errCh; err != nil { return nil, err } return pingMap, nil }
import "fmt" func maxDistants(arr []int) int { maxDist := 0 lastOne := -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if lastOne == -1 { maxDist = i } else { dist := (i - lastOne) / 2 if dist > maxDist { maxDist = dist } } lastOne = i } } if arr[len(arr)-1] == 0 { dist := len(arr) - 1 - lastOne if dist > maxDist { maxDist = dist } } return maxDist } func main() { fmt.Println(maxDistants([]int{1, 0, 0, 0, 1})) }
Parlami più dettagliatamente del servizio antifrode: cosa facevate, di cosa eri responsabile?
Cosa sono la replica, lo sharding e la partizionamento?
Cosa succederà alla fine con la lunghezza dell'array durante un append concorrente da 1000 goroutine?
Puoi spiegare brevemente ciascun principio SOLID?
Da quale importo consideri l'offerta in merito alla retribuzione?
Cosa succede se si prova a leggere da un canale chiuso?
Cosa succede ai dati durante un DELETE in PostgreSQL?
Cos'è il pattern Singleton? È un pattern o un antipattern?
Quali funzioni aggregate conosci?
Quale indicatore mostrerà che il mio assunzione è stata la decisione giusta dopo 6 mesi?
Cos'è la deduplicazione in Kafka?
È comodo passare a «tu» nel dialogo?
Hai mai dovuto impostare esplicitamente il livello di isolamento nel codice?
Qual è la differenza tra Deployment e StatefulSet in Kubernetes?
Quali tipi di JOIN conosci? Quali record saranno nel risultato di un JOIN per due tabelle?
Quanto hai usato i trigger, solo nel caso con la storia o ci sono stati altri casi?