Dlaczego nie warto tworzyć osobnej goroutine dla każdego URL podczas sprawdzania terminali?
Golang
Jak sprawdzisz, czy dodany indeks działa naprawdę dobrze, szczególnie na produkcji?
Czy czytania odbywały się z mistrzem, z repliką, czy jak były rozdzielane?
Czy używałeś kluczy do partycjonowania w Kafka?
Czy masz przy sobie książeczkę wojskową?
Czy możesz przypomnieć sobie sytuację, gdy coś się zepsuło i co wtedy zrobiliście?
W jakiej kolejności będą wykonywane goroutines i dlaczego?
Jaki format pracy preferujesz?
// Napraw kod 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() }
Opowiedz o sytuacji, kiedy zaproponowałeś inicjatywę i ją broniłeś.
Jak rozwiązaliście, jeśli podczas aktualizacji podów tracono żądania?
Jak dokładnie wdrożyłeś klienta Kafka w projekcie, jak go używałeś?
Czy znajdujesz się terytorialnie w Moskwie?
pakiet główny import "fmt" func main() { nums := make([]int, 1, 2) fmt.Println(nums) // appendSlice(nums, 1024) fmt.Println(nums) // mutateSlice(nums, 1, 512) fmt.Println(nums) // } func appendSlice(sl []int, val int) { sl = append(sl, val) } func mutateSlice(sl []int, idx, val int) { sl[idx] = val }
Czy zadania zawsze były dobrze opisane? Jak działałeś w przypadku niepełnego opisu?
Co się dzieje ze starymi i nowymi kluczami podczas wzrostu mapy? Dlaczego nie kopiować wszystkiego od razu?
Czy kiedykolwiek dostosowałeś liczbę partycji w topiku Kafka?