Sobes.tech

Golang

Aký je prístup, ak sú údaje dynamické a menia sa každých 10 minút, a čítajú ich milióny za minútu?

144

Žili ste v jednej infraštruktúre alebo rôzne systémy boli v rôznych okruhoch?

141

Kto bol zodpovedný za zmluvy medzi službami? Kto bol vlastníkom zmluvy a ako ste ju upravili?

140

Ako dlho ste uchovávali údaje na deduplikáciu? Do ktorého momentu ste si uvedomili, že je to duplikát?

135

Ak najskôr prečítame všetky údaje do pamäte a potom ich iba čítame, dá sa vyhnúť mutexu? Má zmysel použiť mapu v takom scenári?

132

Prečo ste vytvorili presne toľko služieb? Ako prebehlo rozhodnutie — robiť službu alebo nie?

129

Ako aktívne zvažujete ponuky podľa vášho stavu hľadania? Máte už nejaké ponuky alebo termíny na ich prijatie?

125

Povedz mi niečo o sebe: čím si sa zaoberal na poslednom pracovisku, aké boli tvoje hlavné úlohy, a rozprávaj o nejakej ťažkej alebo zaujímavej úlohe, ktorú si nedávno dokázal realizovať — čo to bolo, čo si urobil, a čo z toho vyplynulo.

119

```go type User struct { ID int Name string } var ( dbHits int ) func getUserInfoFromDB(id int) User { time.Sleep(100 * time.Millisecond) dbHits++ return User{ID: id, Name: fmt.Sprintf("User-%d", id), } } func main() { var wg sync.WaitGroup for i := 0; i < 5; i++ { wg.Add(1) go func(i int) { defer wg.Done() fmt.Println(getUserInfoFromDB(i)) }(42) } wg.Wait() fmt.Println("DB hits:", dbHits) } ``` A kód hibájának javításához, amely a dbHits változóhoz való párhuzamos hozzáféréssel kapcsolatos, szinkronizálni kell a hozzáférést ehhez a változóhoz.

107
/5