Sobes.tech

Транзакциялардын изоляция деңгээлдери кандай? Кайсыларыны колдондуңуз?

Senior
Бюро 1440Бюро 1440
73

Өзүңүздүн мурдагы тажрыйбаңыздан бир жагдайды эстеңиз, анда сиз команда жетекчиси же архитектор сунуштаган архитектуралык чечим оптималдуу эмес экенин көрдүңүз. Мындай жагдайда эмне кылдыңыз? Өз көз карашыңызды кандайдыр бир жол менен коргондуңузбу?

Senior
АЭРО
73

REST аркылуу RPC ишке ашырууга болобу жана тескерисинче? Негизги айырма эмнеде?

Senior
X5 techX5 tech
73

Капаситети слайс толтурулгандан кийин дагы бир элемент кошулганда эмне болот?

Senior
I-teco
73

HTTP/1, HTTP/2 жана HTTP/3 кандай айырмаланат?

Senior
YadroYadro
73

Сен жана команда жетекчисинен башка кимдер командада болушкан?

Middle+
Яндекс вертикали
73

Команданын өлчөмү боюнча кимдер кирет?

Middle+
AvitoAvito
73

Сиз үчүн эмне жакын — продукт өнүктүрүү же инфраструктураны өнүктүрүү?

Middle+
OZONOZON
73

Азыркы учурда издөөнүн активдүүлүгү канчалык? Сиз [компания]дан кетүүнү ойлоп жатасызбы же азырынча кызыктуу сунуштарды карап жатасызбы?

Senior
AvitoAvito
73

Кагаздардын жаңыртуулары кызматка келет message Document { string Url = 1; // Кагаздын URL, анын уникалдуу идентификатору uint64 PubDate = 2; // жарыяланган убакыт uint64 FetchTime = 3; // бул кагаздын жаңыртуусун алуу убактысы, версия идентификатору катары каралышы мүмкүн. Жуп (Url, FetchTime) уникалдуу. string Text = 4; // кагаздын тексті uint64 FirstFetchTime = 5; // башында жок, толтурулушу керек } Кагаздар каалаган тартипте келип калышы мүмкүн (жаңыртуулар жасалган тартипте эмес), жана дублдик билдирүүлөр болушу мүмкүн. Чыгышта, ошол эле билдирүүлөрдү түзүү керек, бирок төмөнкү эрежелер боюнча оңдолгон талаалар менен (төмөндө көрсөтүлгөндөр, Url талаасы менен бирдей топтогон документтер үчүн): Text жана FetchTime талаалары, азыркыга чейин алынган эң чоң FetchTime менен бирдей болушу керек. PubDate талаасы, эң кичинекей FetchTime менен бирдей болушу керек. FirstFetchTime талаасы, эң кичинекей FetchTime маанисине барабар болушу керек. Башкача айтканда, ар бир учурда FetchTime боюнча сорттолгон биринчи версиядан PubDate жана FirstFetchTime, жана акыркы версиядан Text алынады. Коддогу интерфейс мындайча ишке ашырылышы мүмкүн: type Processor interface { Process(doc *Document) (*Document, error) } Бул код Kafka же окшош кезекчеден билдирүүлөрдү окуган жана натыйжаны дагы кезекке жазган кызматта иштейт. Эгер Process Null кайтарса, эч нерсе кезекке жазылбайт.

Senior
VKVK
73

Көрсөтүңүз: сез проектка кердегез, анда код еллар буена язылган, күп лигаси бар, тестләр юк, һәм барысы да кысыла-кысыла эшли. Мондый хәлдә яңа функция кертү өчен нәрсәдән башлар идегез?

Senior
наполеон
73

pprof ар дайым эс тутумдун агып кетишин же чектен ашканын көрсөтөбү?

Senior
ВайлдберрисВайлдберрис
73

Өткөн жумуш орундарда эмне менен алектендиңиз жана кандай функцияларды ишке ашырдыңыз, кыскача айтып бериңиз.

Middle+
Яндекс
73

[]any жана delta int кабыл алган функцияны ишке ашырыңыз. Тек гана уникалдуу сандар (int) биринчи көрүнүштөрүн deltaга көбөйтүү керек. Башка түрлөрү жана кайталанган сандар өзгөртүлбөйт. Функция жаңыланган тизмени жана 2 санды кайтаруусу керек: updated – канча уникалдуу сан өзгөртүлгөн, duplicates – канча сандык элементтер дублкат болуп чыкты func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // сиздин кодуңуз } // Мисал: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // уникалдуу сандар: 1, 5, 0 // d == 2 // дублкат сандар: экинчи 1, экинчи 5

Middle+
OZONOZON
73

Коллизиялар учраганда карта менен операциялардын эң начар жагдайдагы татаалдыгы кандай?

Senior
sber tech
73

Transactional Outbox үлгүсү жөнүндө айтып бериңиз — ал кантип иштейт жана эмне үчүн колдонулат?

Senior
ИП Ганус Александр Андреевич
73

Реляциялык маалыматтар базаларында суроолорду оптималдаштыруу боюнча тажрыйбаңыз барбы?

Middle
VKVK
73

import "fmt" func maxDistants(arr []int) int { maxDist := 0 lastOne := -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if lastOne == -1 { maxDist = i } else { dist := (i - lastOne) / 2 if dist > maxDist { maxDist = dist } } lastOne = i } } if arr[len(arr)-1] == 0 { dist := len(arr) - 1 - lastOne if dist > maxDist { maxDist = dist } } return maxDist } func main() { fmt.Println(maxDistants([]int{1, 0, 0, 0, 1})) }

Middle
VKVK
73

Сиздин маяна күтүүлөрүңүз жана сунуштоо үчүн эң жакшы формат кандай?

Middle
Nau
73

Бир машинанын ичинде канча goroutine түзө аласыз? Кантип эсептөө керек?

Senior
СБК ПАРУС
73
/412