Golang
Cum funcționează profilarea?
Ce te motivează acum să cauți un nou loc de muncă?
Întrebarea 1: Ce va afișa codul cu slices? (append, capacitate, array subiacente partajat)
Vorbiți despre strategiile de sharding ale bazelor de date: când să începeți sharding-ul și după ce criterii alegeți cheia de sharding?
De ce ați ales Kafka în loc de RabbitMQ sau o bază de date? Care a fost sensul?
Aveți experiență cu Docker? Aveți experiență în scrierea Dockerfile-urilor de unul singur?
Ce este SOLID? Enumerați principiile.
Vorbește despre echipă și procesele de management (sprinturi, kanban etc.)
Care este experiența ta generală în IT în plan comercial?
Ce este o interfață nil? Ce se află sub capotă?
Cât timp este necesar pentru procesare?
Cum faceți deployment: Kubernetes, bare metal sau cloud?
// Problema 3 // Descrieți ce sarcină rezolvă acest cod // Ce probleme există în această soluție? // Cum ați rescrie acest cod? var c int var mu sync.RWMutex type Trace struct { // Câmpuri aici } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { mu.Lock() defer mu.Unlock() c++ if c == 100 { go func() { sender.Send(tr) }() c = 0 } }
Ce se întâmplă dacă transmiți un slice ca argument al unei funcții și îl modifici în interior?
Dacă adăugăm mulți consumatori, dar întârzierea Kafka nu scade, ce indică acest lucru?
Ce instrumente folosești pentru evaluarea performanței și profilare în timpul dezvoltării unei aplicații în Go?
Cum gestionezi situația în care toate cele 5 goroutine văd simultan un cache gol și merg la baza de date (cache stampede)?
De ce este convenabil ca numărul de shards să fie o putere a lui doi, și nu, de exemplu, trei?
Ce avantaje tehnologice și ecosisteme ale Go, posibil unice, pe care doar Go le îndeplinește, ai putea să le menționezi?
Vorbește despre munca ta actuală la Wildberries — ce platformă este, ce echipă, cu ce te-ai ocupat?