Sobes.tech

Golang

Vertel me meer over het project bij Avito — was het het enige project in drie jaar?

Senior
224

Wat voor type heeft msg in de goroutine en waarom moet het als argument worden doorgegeven?

Senior
211

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
210

/* Aan de ontwikkelaar is de taak toegewezen om een notificatieservice te schrijven. Vereisten: - De Send-methode moet berichten parallel verzenden. - Er mogen niet meer dan maxworkers HTTP-verzoeken gelijktijdig worden uitgevoerd. - Als ten minste één verzending mislukt, moeten de andere worden gestopt en moet een fout worden geretourneerd. - De methode moet correct omgaan met het annuleren van de context. - Alle bronnen moeten correct worden vrijgegeven. - De methode kan gelijktijdig worden aangeroepen vanuit verschillende goroutines. - Client moet het aantal succesvol verzonden berichten bijhouden. Voer een code review uit, vind problemen en corrigeer de code.

Senior
194

Op welke plek moet je defer resp.Body.Close() doen?

Senior
191

Heb je afspraken met andere werkgevers of ben je nog bezig met sollicitatiegesprekken?

Senior
188

Waarom wordt resultErr niet rechtstreeks uit de goroutine geretourneerd?

Senior
184

Wat is je algemene commerciële ervaring met ontwikkeling in Go?

Senior
177

Zal het comfortabel zijn om met technische documentatie in het Engels te werken?

Senior
175

Vertel me over AlleGereedschappen — waarom ben je gekomen en waarom ben je vertrokken?

Senior
173

Waar eindigen de contexten in deze code?

Senior
168

Welke ervaring heb je met SQL? Kun je queries schrijven en optimaliseren?

Senior
167

Wat zijn snelle spellen?

Senior
162

sentCount wordt zonder synchronisatie verzonden — hoe los je dit op?

Senior
157

Wat gebeurt er als je de context niet doorgeeft in een databasequery?

Senior
152

Wat zoek je in een nieuw project? Welke technologieën interesseren je? Wat zou je niet willen zien op een nieuwe werkplek?

Senior
150

Wanneer helpt de index niet of schaadt zelfs?

Senior
132

Welke fasen (stages) zitten er meestal in een CI/CD-pipeline voor een Go-service?

Senior
127