Golang
Progetta un sistema di matchmaking per una piattaforma di scacchi. Viene fornito un ID utente come input, e bisogna trovare una coppia di giocatori con un punteggio simile. Carico: 1 milione di utenti registrati, 100 mila DAU, 500-1500 sessioni di gioco simultanee nel picco. Quale architettura proponresti?
Cos'è una transazione in un database? Quali sono i livelli di isolamento delle transazioni e come si differenziano?
Puoi parlare delle goroutine? Cosa ne sai, quali sono le loro caratteristiche?
Come risolvere se l'operazione dura 10-12 minuti, i dati cambiano attivamente e c'è una scrittura attiva? Come avete utilizzato la replica?
Per quanto riguarda altre offerte e fasi finali — c'è già qualcosa se sei in ricerca attiva?
Come ottimizzare le prestazioni sotto un carico elevato (1000 RPS) nel metodo di prenotazione con mutex?
Parlami di SOLID. Cos'è?
Cosa succederà alla fine con la lunghezza dell'array durante un append concorrente da 1000 goroutine?
Hai offerte attive al momento?
Parlami dei test — quali test scrivi?
Parla di map in Go.
Chi dovrebbe chiudere il canale di uscita out — la funzione merge o main?
Qual è il throughput di un'istanza PostgreSQL in lettura e scrittura (in MB/s)?
Da quanto tempo lavori con Go e come hai deciso di scegliere questo linguaggio?
Quale indicatore mostrerà che il mio assunzione è stata la decisione giusta dopo 6 mesi?
Quali servizi sei riuscito a scrivere da zero?
Parla di un nuovo strumento o idea che hai implementato e che ha migliorato i risultati del team.
Come determinare i modelli di risorse (dimensionamento) per un nuovo prodotto che entra nell'installatore? Come ottenere i numeri necessari?
Perché è un compito tecnicamente difficile? Perché non una funzione di 100 righe?
Abbiamo 10 messaggi nel canale. Lo chiudiamo e iniziamo a leggere — cosa succederà in questo caso?