Golang
Heeft u zelf de monitoring gedaan of heeft u een apart team?
Waarom is de aanpak van Go voor gelijktijdigheid beter dan in andere talen?
Vertel over je ervaring met high-load systemen. Heb je ooit problemen opgelost met het verdelen en balanceren van verkeer?
Als de operatie 10-12 minuten duurt en er is een actieve schrijfactie en de gegevens veranderen, waren er geen bijwerkingen?
Wat is de complexiteit van het algoritme in tijd en geheugen?
Vertel over de isolatieniveaus van transacties: Read Uncommitted, Read Committed, Repeatable Read, Serializable.
Heeft u ooit te maken gehad met architecturale taken? Hoe werden architecturale beslissingen genomen?
[naam] vroeg: vertel me over synchronisatie primitiven in GoLang.
Nu willen we naar HeadHunter gaan en kandidaten zoeken op filters — hoe architectuur je dat?
Waar kwamen de gegevens vandaan? Stuurden de logistici ze op of hoe?
Wat kan er gedaan worden om evacuatie van de kaart in een highload-service te voorkomen?
Wat is Load Average, hoe controleer je het en waar moet je op letten?
Worden de gegevens van de container verwijderd nadat deze is gestopt?
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() }
Voor welke taken hebt u goroutines en kanalen gebruikt?
Hoe heb je de verandering van het proces met analyse beïnvloed?
Hoe is het technisch ingericht in het algemeen de HR-platform?
Hoe ging u om met de situatie waarin accounts tijdens overboekingen op verschillende shards terechtkwamen?
Hoe zet je een getal om naar het binaire systeem?
Hoe ben je gekomen tot het optimaliseren van PostgreSQL en welke optimalisatiemethoden heb je gebruikt?