Sobes.tech

Golang

Jakie zasoby Kubernetes są potrzebne, aby instancje poda uruchomiły się na wszystkich węzłach klastra?

Senior
Flant
53

Jak działa mapa od środka?

Middle+
WaterWal
53

interfejs TTLCache { Set(k string, v any, ttl time.Duration) Get(k string) (any, bool) Del(k string) bool } // Nie powinno wyciekać pamięci // get nie powinno zwracać przeterminowania //implementacja

Senior
X5
53

Jakie są Twoje oczekiwania finansowe? Jak wyglądał Twój poprzedni dochód (pensja, premie)? Czy jesteś gotów rozważyć łączny dochód, w tym premie?

Middle+
Озон банк
53

Co się stanie, jeśli wykonasz dalsze operacje matematyczne na wyniku int32, który jest przepełniony — czy wystąpi błąd, panika czy coś innego?

Senior
МВидео/эльдорадо
53

Opowiedz o jakimś trudnym zadaniu, które udało ci się ostatnio zrealizować, albo o najbardziej interesującym. Co to było, co zrobiłeś, co się stało?

Middle+
РамблерРамблер
53

Jak często wypuszczasz i o której godzinie?

Senior
2gis2gis
53

Czym jest slice w Go?

Senior
Small
53

Przegląd kodu: problemy w funkcji getExternalOrderIdFromCRM (klient HTTP)

Middle+
Magnit Tech
53

Czy masz doświadczenie w migracji z monolitu na mikroserwisy?

Senior
Effective IT
53

Jakie zdarzenia były przesyłane przez Kafka i jak radziliście sobie z ich nieprawidłowym porządkiem?

Senior
FinFrame
53

Czy zadeklarowanie wielu indeksów wpłynie na przechowywanie pod względem zajmowanego miejsca?

Senior
Алабуга
53

// Klient przekazuje obiekt (Task) z danymi do wykonania zadania, // w naszym przykładzie użyjemy pustej struktury. // // Menedżer może obsługiwać nie więcej niż N zadań jednocześnie, // i nie więcej niż X zadań może być w kolejce. // Jeśli nie ma miejsca w kolejce, od razu zwracamy klientowi błąd. // // Zadanie jest pobierane do przetwarzania, jeśli dostępni są wolni obsługujący. // Symulujemy czas trwania przetwarzania za pomocą time.Sleep(5*time.Second). // Gdy jedno zadanie się zakończy, pobieramy następne z kolejki. // Jeśli kolejka jest pusta, oczekujemy na nowe zadania od klientów. // // Z gwiazdką: rozbudować strukturę Task i uzyskać statusy zadań przez osobne zapytanie. package scheduler type Scheduler interface { AddTask(t Task) error Close() } type scheduler struct { queue chan Task wg sync.WaitGroup } func New(workers, queue int) Scheduler { // implementacja w oczekiwaniu } type Task interface { Do() }

Senior
Cloud.ru
53

Czy znasz architekturę Kubernetes, jakie istnieją jednostki, czym jest control plane?

Senior
Базис
53

Opowiedz więcej o WaitGroup: do czego służy, jakie ma metody?

Senior
sber tech
53

Załóżmy, że jesteśmy dużą siecią reklamową. Umieszczamy banery na stronach partnerskich na całym świecie. Musimy zaprojektować system zbierania i przetwarzania zdarzeń w czasie rzeczywistym. Te dane są krytyczne dla dwóch celów: Rozliczenia: Odliczanie pieniędzy od reklamodawców za kliknięcia. Analiza: Wyświetlanie aktualnej skuteczności kampanii (CTR, wyświetlenia) w panelu użytkownika. Dane wejściowe (do obliczenia obciążenia) Musisz sam ocenić wymagane moce (RPS, ruch, przechowywanie), opierając się na następujących metrykach: Sieć partnerska: 500 000 aktywnych stron. Ruch: Średnio na każdej stronie dochodzi do 2 wyświetleń stron na sekundę. Bloki reklamowe: Na każdej stronie wyświetlane są jednocześnie 3 banery. Konwersja: Średni CTR (Click-Through Rate) wynosi 1%. Nierównomierność: Szczytowe obciążenie (wieczorne godziny) jest 4 razy wyższe od średniej. Rozmiar zdarzenia: Obiekt zdarzenia (ID banera, ID strony, UserID, Timestamp, typ zdarzenia) waży około 500 bajtów. Wymagania techniczne Near Real-Time: Dane w interfejsie analitycznym powinny pojawiać się z opóźnieniem nie większym niż 10 sekund. Niezawodność: Utrata kliknięć jest niedopuszczalna (to bezpośrednia utrata pieniędzy). Utrata wyświetleń (impressions) jest dopuszczalna w granicach 0,01%. Skalowalność: System powinien łatwo się rozbudowywać przy wzroście liczby platform.

Senior
Dataworks
53

Co się stanie, jeśli dodamy zbyt wiele elementów do slice'a wewnątrz funkcji?

Middle
Магнум
52

SELECT user_id, COUNT(*) AS order_count FROM orders WHERE price_total >= 1000 GROUP BY user_id ORDER BY order_count DESC;

Middle+
OZONOZON
52

Jak poprawnie strukturyzować architekturę usługi: gdzie przechowywać polecenia, encje domenowe, błędy?

Senior
2gis2gis
52

Ostatecznie, z jakich rozwiązań wybierali? ClickHouse, ELK i co jeszcze?

Senior
Wildberries & Russ Bank
52
/412