Golang
SELECT FOR UPDATE эмне жана эмне үчүн керек?
Go'da çöp to'plovchi (GC) nima bilan shug'ullanadi va odatda qachon avtomatik ravishda ishga tushadi? Mumkin bo'lmagan ob'ektlarning xotirasini bo'shatadi va ish vaqtida ajratilgan xotira hajmi belgilangan chegarani oshganda avtomatik ravishda ishga tushadi Xotira ichida o'zgaruvchilar joylashishini cache optimallashtirish uchun tartibga soladi va qat'iyan har 10 ms da bir vaqtni belgilovchi timer bilan ishga tushadi Yurgizilayotgan goroutinelar sonini nazorat qiladi va faqat main funksiyasi tugagach ishga tushadi Mutexlarning ishini sinxronlashtiradi va bo'sh RAM 5% dan pastga tushganda ishga tushadi
Тимдин техникалык чечимине макул болбогон учурдун мисалын келтириңиз. Чечим кабыл алынгандан кийин аны кантип башкардыңыз?
Балансёр түшүнүшү керек, бекенд каталар менен жооп берип жатканы жана белгиленген убакыт ичинде чекке жеткенде аны балансировкадан чыгарышы керек (Circuit Breaker)
pprof аркылуу профилирлөө аркылуу табылган тыгын жердин мисалын келтире аласызбы?
Суроо 84-чи сапта турган WITH ... AS (...) курулушу кандай аталат?
Маалыматтар базасынан бирдей маанини кайтарган суроо функциясы үчүн кандай чечим сунуштайсыз, ошондуктан ал бир эле маалымат үчүн кайра-кайра базага барбашы керек?
Сиз долбоорлоштурган жана жазган эң жогорку жүктөмдүү кызмат жөнүндө айтып бериңиз.
Сиз Kafkaдан 500 билдирүү топтомуусун алдыңыз, бирок аларды маалыматтар базасына сактай албайсыз. Эмне болот? Бул 500 билдирүүнү канча убакыт иштетсе болот?
Командада канча адам болду?
Учурдагы компанияңыз жана анда эмне менен алектенесиз, айтып бериңиз.
Дайырдан чыгууга даярсыңбы же пландарың/дем алууну пландап жатасыңбы?
Transactional Outbox системинин негизги бөлүктөрү кандай?
Эгер сиз slice'ти функцияга өткөрүп, ага жаңы элемент кошсоңуз, өзгөртүүлөр функциянын сыртына көрүнөбү? Эгер capacity ашпаса?
Go-догу Swiss Tables кантип уюштурулган?
[Шаар]да жашагансың, андан кийин [шаар]га көчүп кеткенсиңби?
Тең бөлүштүрүү тестинен өтпөйт: backend[0] үчүн 5 чакырууга күтүлүүдө, 10 алынды, backend[1] үчүн 5 чакырууга күтүлүүдө, 0 алынды
```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, трябва да бъде коригирана чрез синхронизиране на достъпа до тази променлива.
Идемпотенттуулук жөнүндө айтып бере аласызбы? Кантип киргиздиңиз? Жалпы эле кандай иштеди?
Сиз кайсы программалоо тилинде иштейсиз? Синтаксис менен кыйынчылыктар эмне үчүн пайда болду?