Sobes.tech

Кагаздардын жаңыртуулары кызматка келет 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
59

Эмне менен көбүрөөк иштедиңиз? Кантип технологияларды колдондуңуз?

Middle+
OZONOZON
59

Бир deferде паника менен иштесе болот беле?

Senior
МВидео/эльдорадо
59

Redis жана Postgres кантип синхрондоштурулат? Эң негизгиси, алар айырмаланышы мүмкүн.

Senior
МВидеоМВидео
59

Tracing деген эмне? Кантип жүргүзүү керек?

Senior
I-teco
59

Go менен коммерциялык өнүктүрүү боюнча жалпы тажрыйбаңыз кандай?

Senior
IBS
59

Кандай контейнерлөө жана оркестрация системаларын билесиз?

Senior
КасперскийКасперский
59

RoleBinding эске алынып, кластердеги колдонуучунун укуктарын кантип текшерсе болот?

Senior
Flant
59

Эмне болсо да, сен тыгылып калдың жана көйгөйдү кантип чечүүнү билбедиң, ошол учурду эстеп кал

Senior
I-teco
59

Defer деген эмне жана ал эмне үчүн колдонулат? Эгер бир функцияда бир нече defer чакыруулары болсо, алар кайсы тартипте ишке ашырылат?

Middle
Effective Technologies
59

Эмне үчүн иш ордуңузду өзгөртүүнү чечтиңиз? Нени издеп жатасыз?

Senior
X5
59

Кайсы продукт метрикаларын чогултасыз?

Middle+
КуперКупер
59

Эгерде defer горутинадан тышкары болсо, эмне болот?

Senior
X5 techX5 tech
59

Резюмене караганда, сиз азыр [ұйымда] иштейсиз, туурабы?

Middle
РедСофт
59

/* Mikroservis arxitekturasy bilen programm. Mikroservis Backend interfeysı vasitəsilə abstraktsiya edilə bilər. Mikroservisin bir nüsxəsinə giriş üçün, artıq tətbiq olunmuş BackendImpl tipindən istifadə edə bilərsiniz. Hər mikroservisdə bir neçə onlarla işləyən nüsxə var, hər biri öz ünvanı addr ilə əlçatan. Ancaq, mikroservisin ayrı-ayrı nüsxələri etibarlı deyil: Onlar çökmə, əlçatan olmama və ya yüklənmə ilə qarşılaşa bilər. Buna görə, siz müştəri tərəfi yük balanslaşdırması həyata keçirən və hər dəfə **ən az yüklənmiş** nüsxəni seçən Balancer tipini tətbiq etməlisiniz. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr, müəyyən nüsxənin ip:port ünvanını ehtiva edir func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs, yüklənməni balanslaşdıran bütün nüsxələrin ünvanlarını ehtiva edir func NewBalancer(addrs []string) *Balancer { // TODO }

Middle
Яндекс
59

Өз тажрыйбаңыз жөнүндө айтып бере аласызбы? — эмне менен иштедиңиз, эмне жетиштиңиз?

Senior
AstraTech
59

JSON тегдери менен модел (мисалы, RegisterUserRequest) домен моделиби? DTO жана домендик бирдикти туура бөлүү үчүн кандай кылуу керек?

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

Эң чоң долбоордо канча адам иштеген? Ондон аз, ондон көп, жүздөгөнбү?

Senior
Яндекс
59

Кабарды айт, азыркы учурда кэшти ишке ашырууда кандай көйгөйлөрдү көрөсүң?

Middle
Ozon FreshOzon Fresh
59

Неге автоматтык эмес, кол менен commit offset кылдыңыз?

Middle+
ВайлдберрисВайлдберрис
59
/411