Golang
Wat gebeurt er met de huidige verzoeken zonder Graceful Shutdown bij het afsluiten van het proces?
Kun je het laatste voorbeeld geven van een taak waar je van hebt genoten?
Hoe werd de rate limit ingesteld? Waarop was het gebaseerd en waar werd het geïmplementeerd? Wat werd technisch gebruikt?
Hoe schrijf je parallelle HTTP-verzoeken in Golang?
Persoonlijk heb ik getest dat Postgres de kolommen herordent en dat de optimizer niet geeft om de volgorde waarin je de query schrijft — hij zal deze zelf aanpassen zoals nodig. Wat vind jij?
Wat wordt weergegeven bij het uitvoeren van het programma: func main() { counter := make([]int, 0, 1000) var wg sync.WaitGroup for i := 0; i < 1000; i++ { wg.Add(1) go func() { defer wg.Done() counter = append(counter, i) time.Sleep(10 * time.Millisecond) // Werk simulatie }() } wg.Wait() fmt.Println(len(counter)) }
Noem de isolatieniveaus van transacties in Postgres. Waarom werken strengere isolatieniveaus langzamer? Vanaf welk niveau ontstaat er concurrentie om gegevens?
Vertel me over de Garbage Collector in Go, hoe werkt het.
Heb je technische interviews afgenomen en ben je mentor geweest?
Waar woon je nu en welk werkformaat overweeg je?
Wat heb je in de afgelopen zes maanden tot een jaar in jezelf verbeterd? Wat heb je buiten je werk om geleerd?
Vertel me over sync.Atomic: waar wordt het voor gebruikt, heb je het op je werk moeten gebruiken?
Hoe op te lossen als een hoogprioriteitsfilter te breed is en het hele budget opslokt?
Wat gaf de zoekservice terug?
Op hoeveel hosts werkte de service en hoeveel instanties werden gestart?
Hoe is de afgeleide gerelateerd aan het gebied?
Hoe heb je met WebSocket gewerkt? Op infrastructuurniveau of alleen code? Welke technologieën heb je gebruikt? Waren er verbindingsproblemen op infrastructuurniveau?
Hoe was de zachte reservering van saldi (soft hold) georganiseerd met de definitieve controle bij het bevestigen van de reservering?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) // voeg transactie toe if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount // bescherm SELECT FOR UPDATE partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil }
Waar wil je je in ontwikkelen: in de technische kant of meer in management?