Golang
Dlaczego teraz szukasz nowej pracy? Co Ci się nie podoba w Twojej obecnej pracy?
Dokąd trafiają goroutines podczas tworzenia — do lokalnej czy globalnej kolejki planisty Go?
Jak skalowałeś konsumentów Kafka? Na podstawie jakich kryteriów?
[imię] zapytał: opowiedz o primitive synchronizacji w GoLang.
Jak czas oczekiwania wpływa na zmniejszenie obciążenia analityki?
Czym jest VACUUM w PostgreSQL?
Indeksy w PostgreSQL: czym są, jakie znasz rodzaje, dlaczego B-tree jest lepszy od Hash?
Czy można jednocześnie pisać do jednej mapy z różnych goroutine? Co się stanie?
Czym jest średnie obciążenie, jak je sprawdzać i na co zwracać uwagę?
Jak wpłynąłeś na zmianę procesu z analizą?
Jak poradziłeś sobie z sytuacją, gdy konta podczas przelewów trafiały na różne shard'y?
Jak zamienić liczbę na system binarny?
typ Response interfejs {} typ Backend interfejs { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr zawiera ip:port konkretnego egzemplarza func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO backends []*BackendImpl index int mu sync.Mutex } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { jeśli len(b.backends) == 0 { return nil, fmt.Errorf("Liczba backendów w slice wynosi 0") } b.mu.Lock() index := b.index jeśli b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) return resp, err } // addrs zawiera adresy wszystkich zbalansowanych egzemplarzy func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs))
Jak zoptymalizowałeś zapytania w praktyce? Na co patrzysz, gdy rączka zwalnia?
Jak działa tablica haszująca?
Opowiedz o cechach Kafka — jak jest zbudowana?
Czy znasz mechanizm same-size grow w map? Czym jest ewakuacja w mapie i przy jakich operacjach się ona odbywa?
Czym jest semafor?
Z której funkcji biblioteki standardowej należy skorzystać, aby wyodrębnić błąd określonego typu?
Jeśli chodzi o specyfikę startupu: nie zawsze jest jasne określenie zadań, czasami są one niejasne, potrzebna jest inicjatywa i autonomia, obciążenie pracą może być nierówne. Jak się z tym czujesz?