Golang
Hogyan működik a profilozás?
Mi motivál most arra, hogy új munkát keress?
1. feladat: Mit fog kiírni a slice-okat tartalmazó kód? (append, kapacitás, megosztott alrendszer)
Meséljen az adatbázis sharding stratégiákról: mikor kezdje el a shardingot, és milyen kritériumok alapján válassza a sharding kulcsot?
Miért a Kafka-t választották a RabbitMQ vagy az adatbázis helyett? Mi volt az értelme?
Van tapasztalata a Dockerrel? Van tapasztalata Dockerfile írásában saját maga?
Mi az a SOLID? Sorolja fel az elveket.
Mesélj az csapatról és a menedzsment folyamatokról (sprintek, kanban stb.)
Mennyi általános tapasztalatod van az IT területén kereskedelmi szempontból?
Mi az a nil interfész? Mi van a motorháztető alatt?
Mennyi idő szükséges a feldolgozáshoz?
Hogyan telepítitek: Kubernetes, bare metal vagy felhő?
// 3. kérdés // Írja le, milyen feladatot old meg ez a kód // Milyen problémák vannak ebben a megoldásban? // Hogyan írnád át ezt a kódot? var c int var mu sync.RWMutex type Trace struct { // Néhány mező itt } 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 } }
Mi történik, ha egy szeletet argumentumként adsz át egy függvénynek, és megváltoztatod azt belül?
Ha sok fogyasztót adunk hozzá, de a Kafka késleltetés még mindig nem csökken, ez mit jelez?
Milyen eszközöket használsz a teljesítményértékeléshez és profilozáshoz Go alkalmazás fejlesztése során?
Hogyan kezeli a helyzetet, amikor mind az 5 goroutine egyszerre látja üresen a cache-t, és az adatbázishoz mennek (cache stampede)?
Miért praktikus a shardok számának két hatványa lenni, nem például három?
Milyen technológiai előnyöket és ökoszisztémákat kínál a Go, esetleg egyedülállóakat, amelyeket csak a Go tud kielégíteni?
Mesélj a jelenlegi munkádról a Wildberries-nél — milyen platforma, melyik csapat, mivel foglalkoztál?