Golang
Zašto bi izabrao kanal umesto WaitGroup/errgroup? U čemu je errgroup gori?
Zašto je nastala potreba za smanjenjem alokacija: da li je to bio zahtev od strane poslovanja ili sopstvena inicijativa tima?
Можеш ли да препишеш конструкцију слања задатака преко range?
Ispričaj o svom radnom iskustvu slobodnim oblikom, bez dubokih tehničkih detalja.
Koliko imaš komercijalnog iskustva u Go?
Желите ли пуном радном времену на даљину или сте такође спремни да разматрате опције са канцеларијом?
Zašto tražite novi posao, šta želite da promenite?
Активно ли разматрате понуде? Да ли постоје финалне фазе?
Kako su dobijali zadatke? Gde su vodili zadatke i statuse?
Da li je Redis bio u sva tri data centra?
Objasni šta je polje inventory_code (šifra) u tabeli knjiga, šta je to?
U jeziku Go postoje gorutine — lagani tokovi. Možeš li objasniti kako shvataš kada treba koristiti gorutinu, a kada ne?
Ispričaj mi o poslednjem projektu.
Šta radite ako ste prešli rok, rok je prošao, a zatim se pojavi kritična greška u produkciji?
Zašto si koristio sync.Map umesto obične mape sa Mutex-om?
func main() { c := make(chan int, 1000) for i := 0; i < 100; i++ { go foo(c) } sum := 0 for r := range c { sum += r } fmt.Println(sum) } func foo(c chan int) { r := rand.Int() for i := 0; i < r; i++ { c <- r } } --- func main() { c := make(chan int, 1000) var wg sync.WaitGroup wg.Add(100) for i := 0; i < 100; i++ { go func() { defer wg.Done() foo(c) }() } go func() { wg.Wait() close(c) }() sum := 0 for r := range c { sum += r } // // fmt.Println(sum) } func foo(c chan int) { r := rand.Int() for i := 0; i < r; i++ { c <- r } }
Koliko postoji različitih mogućnosti bacanja dve neprepoznatljive kockice?
Зашто су потребне горутине? У чему је њихова предност у односу на процесе и нитове ОС-а?
Prepišite zahtev za paginaciju koristeći cursor pristup (klijent šalje poslednji poznati ID).
Kako se osećaš u vezi sa prekovremenim satima? Ponekad moramo da objavimo verziju kasno uveče.