Co si myslíš o přesčasech?
Golang
Můžeš popsat, co používáš k přečtení kanálu v gorutině pracovníků?
Rozhodl jste se napsat WaitGroup, protože se objevil kanál, nebo jste se rozhodli napsat goroutines pro něco?
Máte ke mně otázky?
Může jedna gorutina psát přímo do jiné gorutiny na vyrovnávacím kanálu?
Jakou technologii/nástroj používáš?
Chcete napsat klasický worker pool?
Jaké typy indexů v PostgreSQL jste používali kromě B-tree?
// Klient předává vstupní objekt (Task) s daty pro vykonání úkolu, // v našem příkladu použijeme prázdnou strukturu. // // Řadič může zpracovat maximálně N úkolů současně, // a ne více než X úkolů může být ve frontě na zpracování. // Pokud není místo ve frontě, ihned vrátíme klientovi chybu. // // Úkol je zpracováván, pokud jsou k dispozici volní zpracovatelé. // Simulujeme dobu zpracování pomocí time.Sleep(5*time.Second). // Jakmile je úkol dokončen, vezmeme další z fronty. // Pokud je fronta prázdná, čekáme na nové úkoly od klientů. // // S hvězdičkou: rozšířit strukturu Task a získat stavy úkolů přes samostatný dotaz. package scheduler type Scheduler interface { AddTask(t Task) error Close() } type scheduler struct { queue chan Task wg sync.WaitGroup } func New(workers, queue int) Scheduler { // implementace čeká } type Task interface { Do() }
Jaká byla vaše role při přijímání architektonických rozhodnutí při vývoji vyhledávací služby?
Použil jsi CTE? Vyprávěj, co to je.
Jak bychom mohli externě zpracovávat chyby, které se v úlohách vyskytují, pokud bychom to chtěli udělat?
Použil jsi kontexty v praxi? Vyprávěj.
func New(workers, queue, int) Scheduler { s := &scheduler { queue := make(chan Task, queue) for i := 0; i < workers; i++ { wg.Add(1) go func() { defer wg.Done() for task := range s.queue { task.Do() } }() } } return s } func (s *scheduler) Close() { close(s.queue) s.wg.Wait() } type Task interface { Do() }
Lze vytvořit index pouze na repliku, nikoli na masteru?
Existují v implementaci ještě datové závody? Konkrétně v metodě Keys, která vrací řez klíčů?
Jaký je rozdíl mezi SELECT FOR UPDATE a SELECT FOR SHARE?
Typy replikace v PostgreSQL
Máte zkušenosti s psaním Kubernetes operátorů, správou operátorů, Helm Chart?
Je práce povolena pouze na území Ruské federace?