Golang
Quali metodologie di progettazione dei sistemi preferisci quando crei soluzioni?
Le interfacce che non contengono metodi e l'interfaccia che consente qualsiasi tipo sono equivalenti?
Quali metodi possono essere applicati per migliorare l'efficienza nell'elaborazione di un grande volume di richieste in arrivo?
Quali metodi di distribuzione dei dati per shard conosci?
Come si devono dichiarare le interfacce nella programmazione?
Quali metodi e strumenti usi per migliorare l'efficienza nell'esecuzione delle query nei database?
type someInterface interfaccia { someFunc() } type A struct { } func(a A) someFunc() { } type B struct { A } type C struct { some A }
Quali metodi e strumenti hai usato per verificare la correttezza e la qualità del tuo codice?
L'uso di Range con un canale può portare a un ciclo infinito nel programma?
Parlami di CQRS
Qual è lo scopo di dividere i dati in parti nei database?
Come avviene la distribuzione e la gestione della memoria nel sistema con l'uso di Memory Allocator?
Come fare in modo che, inserendo un record duplicato in una tabella con chiave unica sul numero di telefono, invece di un errore venga aggiornato il rigo esistente (INSERT ON CONFLICT DO UPDATE)?
Spiega il concetto di lavoro rubato (Work-Stealing) e la sua applicazione nei calcoli paralleli.
Se scriviamo nel master con un flusso elevato e leggiamo dalle repliche, come avviene la sincronizzazione tra il master e la replica?
È possibile racchiudere qualsiasi frammento di codice tra parentesi graffe senza restrizioni?
Potresti fornire esempi di query SQL che hai utilizzato o scritto?
Come scegliere correttamente il tipo di dato per memorizzare il costo considerando i kopeck nel sistema?
Come si può misurare e analizzare la performance delle transazioni nel sistema?
/* Il più vicino antenato comune in un albero in O(1) di memoria Descrizione Dato un albero binario (non di ricerca): struct Node { Node* parent; Node* left; Node* right; } Deve essere scritta una funzione che, per due vertici dati, restituisce il loro antenato comune più vicino: Node* Lca (Node* a, Node* b); */