Golang
Waar plaats je COMMIT en ROLLBACK in de worker?
Waarom werkt HTTP boven TCP en niet UDP?
Vertel me over het team: welke rollen zijn er, hoe werken ze samen?
Op welk algoritme werkt de Garbage Collector in Go? Hoe werkt hij überhaupt?
Welke andere synchronisatie-primitieven, naast mutex en WaitGroup, ken je? Gebruikssituaties?
Wat is een view (weergave)?
Hoe overschrijf je de manier waarop een structuurveld wordt omgezet naar JSON?
Hoe om te gaan met een incident wanneer jouw service invloed heeft op andere services (bijvoorbeeld het blokkeren van tabellen in de database)?
HeadHunter heeft een limiet van 16.000 cv-weergaven per dag, en een brede filter verbruikt alles — hoe los je dat op?
Welke andere methoden voor het synchroniseren van goroutines bestaan er in Go naast kanalen?
Welke protocol wordt gebruikt voor de DNS-query? Is dit het enige mogelijke protocol?
Was jij degene die de logistieke routes heeft opgesteld en berekend?
Werk je momenteel via een arbeidsovereenkomst of als zelfstandige/zelfstandig ondernemer?
Wat is ACID? Niveaus van transactiesisolatie?
Hoe is Kafka fysiek ingericht in het systeem — bevindt het zich in een service of op een aparte machine?
Je zei dat je 4 jaar ervaring hebt, maar je bent in 2024 afgestudeerd aan de universiteit. Heb je in het laatste jaar gestudeerd en tegelijkertijd gewerkt?
Wat is een stack en een heap in de context van geheugenbeheer? Wie heeft toegang tot de stack en de heap? Waarom werkt de stack sneller?
func Pipe(p Producer, c Consumer) error { // TODO buf := make([]any, 0, MaxItems) cookies := make([]int, 0) flush := func() error { if len(buf) == 0 { return nil } if err := c.Process(buf); err != nil { return err } for _, cookie := range cookies { if err := p.Commit(cookie); err != nil { return err } } buf = buf[:0] cookies = cookies[:0] return nil } for { items, cookie, err := p.Next() if err != nil { flush() return err }
Hoe werkt de two-phase commit (2PC)?
Waarvoor is een kanaal met een lege structuur chan struct{} bedoeld?