Golang
// Opravit kód func FixProblem() { var wg sync.WaitGroup ch := make(chan string, 5) mu := sync.Mutex{} for i := 0; i < 5; i++ { wg.Add(1) go func(ch<- string, i int, wg *sync.WaitGroup) { defer wg.Done() mu.Lock() defer mu.Unlock() msg := fmt.Sprintf("Goroutine %s", strconv.Itoa(i)) ch <- msg }(ch, i, &wg) } for { select { case q := <-ch: fmt.Println(q) } } wg.Wait() }
Pověz mi o své zkušenosti a o tom, čím ses zabýval na předchozím místě práce
balíček main import "fmt" func main() { a := []int{1,2} a = append(a, 3) b := append(a, 4) c := append(a, 5) fmt.Println(b) fmt.Println(c) }
Co je to optimistické zamykání?
Jak se nazývá konstrukce WITH ... AS (...) na řádku 84 dotazu?
Jak pohodlná je úplná práce na dálku?
Kolik paměti je původně vyhrazeno pro buffer?
Co jsou to slices v Go a jak jsou uspořádány?
Povězte mi o sobě a svém současném zaměstnání
Vzal jste si balíček 500 zpráv z Kafka, ale nemůžete je uložit do databáze. Co se stane? Jak dlouho lze tyto 500 zpráv zpracovávat?
Proč jste použili Redis místo in-memory cache?
Co jsou to rozhraní v Go? Co je to duck typing?
Jaké praktiky existují pro snížení velikosti Docker obrazu?
Jste ochotni přejít na jiný programovací jazyk, pokud je to nutné nebo z osobních důvodů?
Řekněte mi více o systému bodů — co se dělo na nejvyšší úrovni?
Vysvětli prosím paritování a sharding — v čem je rozdíl?
Povězte o slice v Go, jeho uspořádání a vnitřních hlavičkách.
Proč se v serverových systémech používá fronta úloh mezi přijetím požadavku a jeho zpracováním? - Aby se snížila spotřeba paměti - Aby se urychlilo provádění jednotlivých úloh - Aby se vyhladily špičky zátěže a nezatěžovaly se zpracovatelé - Aby se předešlo síťovým chybám
Vzpomenete si na všechny možné způsoby meziprocesové komunikace (IPC)?
Jak je hodnocena efektivita vývojového týmu?