Sobes.tech

Golang

Jakie będą konsekwencje, jeśli dane przesłane przez kanał pozostaną nieczytane?

Junior — Middle
173

Na czym polega przewaga gorutyn w porównaniu do wątków pod względem wydajności i wygody użytkowania?

Junior — Middle
IDT
173

Co określa zakres dostępu do zmiennej zadeklarowanej ze modyfikatorem prywatnym?

Junior — Middle
ГазпромГазпром
ГазпромбанкГазпромбанк
173

Jakie parametry można ustawić dla działania harmonogramu zadań?

Junior — Middle
173

Jakie metody można zastosować, aby zapewnić obsługę Kafka do 100 tysięcy wiadomości na sekundę?

Middle — Middle+
EMCD
173

Jak postrzegasz sytuację, gdy w kodzie nie jest wyraźnie wskazane użycie interfejsu?

Junior — Middle
173

Opowiedz o aktualnym projekcie, nad którym pracujesz lub pracowałeś niedawno

Junior — Middle
173

Jakie operacje istnieją na slices w Go?

Senior
VK CloudVK Cloud
173

Jak nazywa się proces przenoszenia elementów z jednej Mapy do drugiej?

Junior — Middle
Betera Group
173

/* Musimy przesłać dane z pewnego źródła do pewnego odbiorcy. Źródło zwraca dane w małych partiach (~dziesięć rekordów), podczas gdy odbiorca działa efektywniej z dużymi partiami (~tysiąc rekordów). 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 na jedno wywołanie Next. - W ramach jednej "sesji" (jednego wywołania funkcji Pipe), źródło za każdym razem zwraca nowe dane na każde wywołanie Next. - Jednak po restarcie, źródło zaczyna 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. Poziom podstawowy: 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. Utrudnienie: Metody Next, Process i Commit są powiązane z wywołaniami sieciowymi i mogą działać dość długo. Aby przyspieszyć proces, konieczne jest równoległe wykonywanie procesów czytania, zapisywania i potwierdzania postępu. Tak, aby podczas Process lub Commit, czytanie ze źródła i tworzenie nowego bufora kontynuowało. */ const MaxItems = 9999 type Producer interface { // Next zwraca: // - partię 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 partii danych jako przetworzonych Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

Senior
Яндекс
173

Jak jest zaimplementowana operacja select w języku Go i jak działa z kanałami?

Junior — Middle
WildberriesWildberries
КасперскийКасперский
Киберпротект
173

Czy można wstrzymać wykonanie goroutine tak, aby zablokowała się na konkretnym wątku systemowym?

Junior — Middle
173

Czy język Go ma wbudowane wsparcie dla tablic?

Junior — Middle
172

Jaki mechanizm abstrakcji w języku Go służy do reprezentowania znaków lub tokenów?

Junior — Middle
ЦУМ
172

Co oznacza wartość zerowa dla wycinka w języku programowania?

Junior — Middle
Digital Spirit
172

Jak w języku Go realizowana jest równoległa i sekwencyjna obsługa zadań?

Junior — Middle
kode.ru
Самокат Тех
172

Jakie mechanizmy i metody są używane do ochrony danych podczas nawiązywania połączeń HTTPS?

Junior — Middle
172

Jakie typy danych nadają się do użycia jako klucz w strukturze danych Map?

Junior — Middle
Ecom.tech
172

Czy możesz wyjaśnić mechanizm działania planisty zadań w systemie operacyjnym?

Junior — Middle
КасперскийКасперский
IDT
Самокат Тех
+1
172

Czy możesz wyjaśnić wewnętrzną strukturę i działanie tablicy haszującej?

Intern — Junior
172
/412