Sobes.tech

Golang

Gyvenote toje infrastruktūroje ar skirtingos sistemos buvo skirtinguose kontūruose?

140

Kaip nusprendėte, į kuriuos dalinius padalinti monolitą?

138

Kiek laiko saugojote duomenis deduplikuoti? Iki kokio momento supratote, kad tai yra dublikas?

135

Kas atsakingas už sutartis tarp paslaugų? Kas buvo sutarties savininkas ir kaip jūs ją modifikavote?

134

Jei pirmiausia įkeliame visus duomenis į atmintį ir tada tik skaitome, ar galima išvengti mutex? Ar turi prasmės naudoti žemėlapį tokiame scenarijuje?

130

Kodėl jūs padarėte būtent tiek paslaugų? Kaip vyko pasirinkimas — kurti paslaugą ar ne?

124

Kiek aktyviai svarstote pasiūlymus pagal savo paieškos būseną? Ar jau turite keletą pasiūlymų ar terminus jų priėmimui?

119

Papaskink apie save: ką veikėte paskutinėje darbo vietoje, kokios buvo pagrindinės užduotys, ir papasakok apie kokią nors sudėtingą ar įdomią užduotį, kurią neseniai įgyvendinote — kas tai buvo, ką padarėte, ir kas iš to išėjo.

115

```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) } ``` Korekti, kodas turi būti sinchronizuotas, kad būtų išvengta vienalaikio prieigos prie kintamojo dbHits klaidų.

105
/5