Con quali database hai lavorato e a quale livello? Dettagli su PostgreSQL, Redis, ClickHouse.
Golang
Come restituire un oggetto di tipo error in Go senza usare il pacchetto errors della libreria standard?
Progetta uno schema SQL per un sistema bancario con tabelle conti e transazioni. Quali restrizioni e indici sono necessari?
Cosa succede dopo aver inserito google.com nel browser e premuto Invio? Descrivi l'intero processo e i partecipanti.
Spiega la struttura del limitatore di velocità e la funzione Allow. Quali parametri di configurazione vengono utilizzati e a cosa servono?
Qual è la differenza tra TCP e UDP? Dove vengono applicati ciascuno di essi?
Dove e come eseguire la funzione cleanup? Come passare il contesto al rate limiter?
Esiste un microservizio per detrarre fondi dal saldo dell'utente? Quando si replica il servizio, si verifica un problema di race condition. Come risolvere questo problema?
Spiega la tua implementazione della funzione Allow dopo le correzioni. Come viene gestito il caso della prima richiesta dell'utente?
Correggi l'implementazione di cleanup usando un ciclo for normale invece di range. Spiega la logica finale di pulizia.
Quale protocollo viene utilizzato per la richiesta DNS? È l'unico protocollo possibile?
Come evitare il problema del punto flottante senza usare NUMERIC? Qual è un approccio alternativo con il tipo INT?
Proponi un modello di stato per le transazioni nel processamento dei pagamenti. Come funziona il rimborso?
È possibile garantire la consegna dei dati tramite UDP?
A cosa serve un mutex in un limitatore di velocità? È possibile risolvere il problema senza mutex, usando sync.Map?
Spiega il processo di pagamento con carta bancaria tramite il terminale: quali partecipanti sono coinvolti e come avviene l'interazione tra loro?
Perché hai scelto il tipo NUMERIC(18,2) per amount? Quali sono le alternative e qual è il problema con DOUBLE PRECISION?
Come organizzare una goroutine in background per pulire periodicamente i dati obsoleti dai bucket?
Cos'è un indice in PostgreSQL? Come hai lavorato con gli indici e su cosa hai basato la decisione di crearne uno?
Implementa la logica della funzione Allow per il limitatore di velocità. Come traccerai gli eventi e controllerai i limiti?