Coding dal vivo: deduplicazione degli indirizzi — come elaborare un elenco con duplicati per chiamare indirizzi unici. Soluzione tramite map.
Golang
Le goroutine funzionano in parallelo o in modo concorrente?
Codifica dal vivo: compito sulle goroutine — accesso concorrente ai dati condivisi, condizione di race, soluzione tramite mutex. Differenza tra sync.Mutex e sync.RWMutex.
Codifica dal vivo: semaforo — come funziona e implementazione basata su un canale con buffer.
Parla dei livelli di isolamento delle transazioni in PostgreSQL e delle anomalie che combattono.
Cos'è ACID? Spiega ogni proprietà.
Strumenti di sviluppo: lavoro con assistenti AI (Cursor e altri), approccio ai test (unitari, di integrazione).
Cos'è il contesto in Go, come viene usato, a cosa serve e quali tipi esistono?
Parla del pianificatore di goroutine in Go — modello GMP, quali funzioni svolge?
Codifica dal vivo: aggiungi un timeout alla funzione — se l'esecuzione supera 1 secondo, restituisci un errore. Uso di select, time.After, context.
Cos'è CQRS?
Parla di SELECT FOR UPDATE — a cosa serve e come funziona?
Compito architettonico: come garantire l'invio di un evento a Kafka durante la registrazione di un utente in un'architettura a microservizi (servizio utenti + servizio notifiche), se Kafka è un canale asincrono?
Parla degli indici in PostgreSQL — quali ci sono, cos'è un indice composito e l'ordine delle colonne.
Cos'è l'architettura pulita e DDD? Hai mai lavorato con esse?
Cos'è uno shutdown elegante e come funziona in Go?