Sobes.tech

Golang

Jakimi poleceniami zwykle korzystasz w systemie Linux?

Junior — Middle
Mail.ruMail.ru
134

Jakie podejścia można zastosować, aby zapewnić bezpieczeństwo wątków podczas pracy z slice'ami w środowisku wielowątkowym?

Middle — Middle+
Betera Group
134

Jakie operacje są dozwolone podczas pracy z nil slice w języku programowania?

Junior — Middle
Кадровое агентство BWG
134

Jakie metody projektowania systemów preferujesz przy tworzeniu rozwiązań?

Junior — Middle
134

Opowiedz o trudnym zadaniu, które udało ci się rozwiązać, pisząc skrypt dla systemu Linux

Junior — Middle
Mail.ruMail.ru
134

Jak można regulować ilość danych przechowywanych w pamięci podręcznej?

Junior — Middle
КасперскийКасперский
134

Gotowość do pełnienia roli jedynego specjalisty Backend w zespole

Junior — Middle
FAQ media holding
134

Jaki jest główny powód używania typu sync.Map w Go?

Junior — Middle
YadroYadro
134

Jakie są dobre praktyki i antipatterny w testach jednostkowych? Jak rozpoznać, że testy są dobre?

Middle+
X5
134

func Exclude(a, b []int) []int { set := make(map[int]struct{}) for _, v := range b { set[v] = struct{}{} } result := make([]int, 0) for _, v := range a { if _, ok := set[v]; !ok { result = append(result, v) } } return result } Błąd kompilacji # command-line-arguments ./main.go:39:32: błąd składni: nieoczekiwany nowy wiersz, oczekiwano { po klauzuli if

Senior
OZONOZON
134

Czy kiedykolwiek miałeś trudności z realizacją interakcji między różnymi usługami?

Junior — Middle
Mail.ruMail.ru
134

Jak przekazywany jest wycinek (slice) do funkcji w języku programowania?

Junior — Middle
МТС DigitalМТС Digital
134

Czym jest wzorzec Saga?

Middle+
Magnit Tech
134

Dlaczego nie wzięli Testcontainers?

Senior
OkkoOkko
134

/* Musimy przesłać dane z pewnego źródła do odbiorcy. Źródło dostarcza dane w małych partiach (~dziesięć rekordów), podczas gdy odbiorca działa bardziej efektywnie z większymi partiami. Przykład rzeczywisty to przesyłanie danych z kolejek typu Kafka do bazy danych Clickhouse. Źródło: - Praktycznie nieskończone. - Źródło nigdy nie zwraca więcej niż MaxItems rekordów w jednym wywołaniu Next. - W ramach jednej "sesji" (jednego wywołania funkcji Pipe), źródło zwraca nowe dane przy każdym Next. - Jednak po restarcie, źródło zacznie od poprzedniej "potwierdzonej" pozycji, wskazywanej przez cookie. Dlatego *każda* wartość cookie zwrócona przez Next, po zapisaniu danych w odbiorniku, musi być potwierdzona wywołaniem Commit, w tej samej kolejności, w jakiej zostały zwrócone przez Next. Odbiornik: - Nie może przetworzyć więcej niż MaxItems naraz. Podstawowy poziom: Wymaga zaimplementowania funkcji func Pipe(p Producer, c Consumer) error która czyta dane ze źródła, grupuje je w bufor o rozmiarze nie większym niż MaxItems i zapisuje do odbiornika, a następnie potwierdza postęp w źródle. */ const MaxItems = 9999 type Producer interface { // Next zwraca: // - pakiet elementów do przetworzenia // - cookie do potwierdzenia po zakończeniu przetwarzania // - błąd Next() (items []any, cookie int, err error) // Commit służy do oznaczenia pakietu danych jako przetworzony Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { var buf []any var cookies []int for { items, cookie, err := p.Next() if err != nil { return err } buf = append(buf, items...) cookies = append(cookies, cookie) if len(buf) >= MaxItems { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } buf = buf[:0] cookies = nil } } if len(buf) > 0 { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } } return nil }

Middle
Яндекс
134

Czy tabela z (id PRIMARY KEY, data JSON) jest dość dobrym indeksem PostgreSQL do wyszukiwania po kluczu?

Middle+
МВидеоМВидео
134

Czym różni się wirtualizacja od konteneryzacji?

Middle
YadroYadro
134

Czy można wstawić kolejny blok kodu z nawiasami klamrowymi wewnątrz istniejącej funkcji?

Junior — Middle
134

Jak określałeś i formułowałeś zadania na swoim poprzednim stanowisku?

Junior — Middle
Сбер КонтактСбер Контакт
134

Jak końcowy kod został wdrożony w środowisku produkcyjnym w Twoim ostatnim projekcie?

Junior — Middle
IDT
Киберпротект
134
/412