Golang
Perché in generale hai deciso di entrare nel mercato, stai considerando altre offerte?
Quali sono i principali tipi di metriche in Prometheus?
Parla della tua esperienza. Di chi è composta la tua squadra? Quali servizi hai progettato tu stesso?
Ti hanno mostrato un servizio e ti hanno detto di fare lo stesso: le tue azioni
Cos'è un database relazionale e come si differenzia da uno non relazionale?
Hai lavorato con compiti descritti a livello di business senza un'analisi dettagliata?
```go type SafeMap struct { data map[string]string } func (s *SafeMap) GetOrCreate(key, value string) string { } ```
Parla del pattern Transactional Outbox: cos'è e come funziona?
Come si chiama questa metrica che confronta clic e impressioni?
Quali sono le tue aspettative finanziarie? Indica il livello minimo e quello confortevole.
Quali sono i codici di risposta HTTP?
Come è implementato il sistema di snapshot delle vetrine aggregate?
```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!") } ```
Se fai una richiesta sincrona al database o a un servizio vicino, e la richiesta impiega 5 secondi, cosa succederà al thread del sistema operativo su cui è in esecuzione il servizio mentre la richiesta è in corso?
Spiega cos'è l'indicizzazione nei database, a cosa serve, quali sono i suoi vantaggi e svantaggi.
pacchetto principale func oneStep(yield func() bool) { yield() } func f() { per range oneStep { stampa("f ") recover() } } func g() { per range 1 { stampa("g ") recover() } } func checkPanic(loop func(), c chan<- struct{}) { defer func() { println(recover() != nil) c <- struct{}{} }() defer loop() panic(123) } func main() { c := make(chan struct{}, 1) go checkPanic(f, c) <-c go checkPanic(g, c) <-c }
Il servizio in produzione non è stabile più di 5 minuti. È stato possibile individuare il problema: c'è una funzione P() in una libreria di terze parti che, con una certa probabilità, provoca un panic. Come risolvere questo problema? La libreria è open source, il codice può essere visualizzato in vendor.
Ci sono stati conflitti nel tuo precedente lavoro? Come li hai risolti?
Come ottimizzare una transazione con blocco di riga sotto carico elevato (problema di collo di bottiglia durante la registrazione con codice invito)?
Cosa succede se si scrive in un canale chiuso?