Какъв е подходът, ако данните са динамични и се променят на всеки 10 минути, а ги четат милиони на минута?
Golang
Кой отговаряше за договорите между услугите? Кой беше собственикът на договора и как го модифицирахте?
Живеехте ли в една инфраструктура или различните системи бяха в различни кръгове?
Каква е разликата между HTTP/1.1 и HTTP/2?
Колко време съхранявахте данните за дедупликация? До какъв момент разбрахте, че това е дублиране?
Ако първо прочетем всички данни в паметта и след това просто ги четем, можем ли да избегнем mutex? Има ли смисъл да използваме карта в такъв сценарий?
Защо направихте точно толкова услуги? Как протече изборът — да правите услуга или не?
Колко активно разглеждате предложенията според статуса на търсенето си? Вече имате ли някои оферти или срокове за тяхното приемане?
Разкажи малко за себе си: с какво се занимаваше на последната си работа, какви бяха основните ти задачи, и разкажи за някоя трудна или интересна задача, която успя да реализираш наскоро — какво беше, какво направи, и какво стана.
```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) } ``` За да коригирате грешката в кода, свързана с едновременен достъп до променливата dbHits, трябва да синхронизирате достъпа до тази променлива.