Sobes.tech

Golang

Opowiedz mi o wzorcu Semaphore.

Senior
sber tech
116

Czy sam nadzorujesz monitoring, czy masz osobny zespół?

Senior
WildberriesWildberries
116

Dlaczego podejście Go do wielowątkowości jest lepsze niż w innych językach?

Middle+
X5
116

Opowiedz o swoim doświadczeniu z systemami o dużym obciążeniu. Czy musiałeś rozwiązywać zadania związane z rozdziałem i równoważeniem ruchu?

Senior
Hi Rockits
116

Jeśli operacja trwa 10-12 minut, a aktywny zapis jest wykonywany i dane się zmieniają, czy nie było żadnych skutków ubocznych?

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

Jaka jest złożoność algorytmu pod względem czasu i pamięci?

Senior
Яндекс
116

Opowiedz o poziomach izolacji transakcji: Read Uncommitted, Read Committed, Repeatable Read, Serializable.

Senior
Алабуга
116

Czy zdarzało się zajmować zadaniami architektonicznymi? Jak podejmowano decyzje architektoniczne?

Senior
WildberriesWildberries
116

[imię] zapytał: opowiedz o primitive synchronizacji w GoLang.

Middle
RWB
116

Teraz chcemy iść na HeadHunter i szukać kandydatów według filtrów — jak to zaprojektować?

Senior
OZONOZON
116

Skąd pochodziły dane? Wysyłali je logistycy czy jak?

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

Co można zrobić, aby uniknąć ewakuacji mapy w serwisie wysokiego obciążenia?

Middle+
OZONOZON
116

Czym jest średnie obciążenie, jak je sprawdzać i na co zwracać uwagę?

Senior
VKVK
116

Czy dane kontenera są usuwane po jego zatrzymaniu?

Senior
SberAuto
116

func (c *Client) Send(ctx context.Context, messages []Message, maxWorkers int) error { sem := make(chan struct{}, maxWorkers) var wg sync.WaitGroup var resultErr error var once sync.Once for _, msg := range messages { wg.Add(1) go func(msg Message) { defer wg.Done() sem <- struct{}{} defer func() { <-sem }() body, err := json.Marshal(msg) if err != nil { once.Do(func() { resultErr = err; cancel() }) return } req, _ := http.NewRequestWithContext( ctx, http.MethodPost, c.url, bytes.NewReader(body), ) req.Header.Set("Content-Type", "application/json") resp, err := c.httpClient.Do(req) if err != nil { once.Do(func() { resultErr = err; cancel()}) return } defer resp.Body.Close() if resp.StatusCode >= 500 { once.Do(func() { resultErr = fmt.Errorf("server error") cancel()}) return } c.sentCount.Add(1) time.Sleep(time.Second) }(msg) } wg.Wait() }

Senior
UPSL
116

Do jakich zadań używałeś goroutines i kanałów?

Middle+
МВидео/эльдорадо
116

Jak wpłynąłeś na zmianę procesu z analizą?

Senior
AvitoAvito
116

Jak jest ogólnie zbudowana platforma HR pod względem technicznym?

Senior
BetBoom
116

Jak poradziłeś sobie z sytuacją, gdy konta podczas przelewów trafiały na różne shard'y?

Senior
РамблерРамблер
116

Jak zamienić liczbę na system binarny?

Senior
Лига Цифровой ЭкономикиЛига Цифровой Экономики
116
/412