Sobes.tech

Golang

Avito'daki proje hakkında daha detaylı anlat — üç yıl içinde tek proje miydi?

Senior
196

Goroutine'daki msg'nin tipi nedir ve neden argüman olarak geçirilmelidir?

Senior
177

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
175

Başka işverenlerle anlaşmalarınız var mı yoksa henüz mülakat aşamalarında mısınız?

Senior
158

Hangi noktada defer resp.Body.Close() yapılmalı?

Senior
156

SQL ile ilgili deneyiminiz nedir? Sorguları yazıp optimize edebiliyor musunuz?

Senior
156

/* Geliştiriciye bildirim gönderme servisi yazma görevi verildi. Gereksinimler: - Send yöntemi mesajları paralel olarak göndermeli. - Aynı anda en fazla maxworkers HTTP isteği çalışabilir. - En az bir gönderim hata verirse, diğerleri durdurulmalı ve hata döndürülmeli. - Yöntem, bağlam iptalini doğru şekilde işleyecek. - Tüm kaynaklar düzgün şekilde serbest bırakılmalı. - Yöntem, farklı goroutine'lerden eşzamanlı olarak çağrılabilir. - Client, başarıyla gönderilen mesajların sayısını tutmalı. Kod incelemesi yapmalı, sorunları bulmalı ve kodu düzeltmeli.

Senior
151

Go ile geliştirme konusunda genel ticari deneyiminiz nedir?

Senior
148

sentCount senkronizasyon olmadan iletiliyor — bunu nasıl düzeltebilirim?

Senior
144

İngilizce teknik dokümantasyonla çalışmak rahat olacak mı?

Senior
140

Neden resultErr doğrudan goroutine'den dönmüyor?

Senior
138

Yeni bir projede ne arıyorsun? Hangi teknolojiler ilgini çekiyor? Yeni iş yerinde görmek istemediğin şeyler nelerdir?

Senior
138

Bana TümAraçlar hakkında anlat — neden geldin ve neden gittin?

Senior
136

Bu kodda bağlamlar nerede sona eriyor?

Senior
131

Hızlı oyunlar nedir?

Senior
128

Veritabanı sorgusuna bağlam iletmezseniz ne olur?

Senior
124

İndeks ne zaman işe yaramaz veya hatta zarar verir?

Senior
124

Bir Go servisi için CI/CD boru hattında genellikle hangi aşamalar (stages) bulunur?

Senior
87