Čo ťa zaujalo na tejto ponuke a prečo odchádzaš z predchádzajúceho miesta?
Golang
Čo si myslíš o nadčasoch?
Máte pre mňa otázky?
Čo hovorí konvencia Go o používaní WaitGroup a návratových typov (prijímanie rozhraní, vrátenie konkrétnych typov)?
Môže jedna gorutina písať priamo do druhej gorutiny na vyrovnávacom kanáli?
Aké typy indexov sú v PostgreSQL okrem B-tree?
Aká bola vaša úloha pri prijímaní architektonických rozhodnutí počas vývoja vyhľadávacej služby?
Chceš napísať klasický worker pool?
Akú technológiu/nástroj používaš?
Je práca povolená iba na území Ruského federácie?
// Klient odovzdá objekt (Task) s údajmi na vykonanie úlohy, // v našom príklade použijeme prázdnu štruktúru. // // Správca môže spracovať maximálne N úloh súčasne, // a nie viac ako X úloh môže byť vo fronte na spracovanie. // Ak nie je miesto vo fronte, ihneď vrátime chybu klientovi. // // Úloha sa berie na spracovanie, ak sú dostupní voľní spracovatelia. // Simulujeme dobu spracovania pomocou time.Sleep(5*timeSekúnd). // Hneď ako jedna úloha skončí, vezmeme ďalšiu z fronty. // Ak je fronta prázdna, čakáme na nové úlohy od klientov. // // S hviezdičkou: rozšíriť štruktúru Task a získať stavy úloh cez samostatný dopyt. 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 { // implementácia čaká } type Task interface { Do() }
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() }
Použil si kontexty v praxi? Rozprávaj.
Aké dokumenty sa uchovávali v ELK?
Použil si CTE? Povedz, čo to je.
Ako by sme mohli externé spracovanie chýb, ktoré sa v úlohách vyskytujú, ak by sme to chceli urobiť?
Aký je rozdiel medzi SELECT FOR UPDATE a SELECT FOR SHARE?
Existujú ešte dátové preteky v implementácii? Konkrétne v metóde Keys, ktorá vracia rez kľúčov?
Je možné vytvoriť index iba na replike, nie na masterovi?
Typy replikácie v PostgreSQL