Sobes.tech

Golang

Ինչպե՞ս մոտեցաք gRPC պայմանագրերի տարբերակավորմանը։

Senior
РамблерРамблер
76

Կատարեք լավագույն 5 ծառայությունների ստացումը O(N) ժամանակում՝ օգտագործելով լրացուցիչ կառուցվածք

Middle+
X5 groupX5 group
76

Փաստաթղթերի թարմացումները գալիս են ծառայություն 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-ով արժեքը: Այնպես որ, յուրաքանչյուր պահի մենք վերցնում ենք PubDate և FirstFetchTime- ը առաջին տարբերակից, որը մինչ այժմ ստացվել է (եթե դրանք դասավորենք FetchTime-ով), և Text- ը վերջինից: Կոդում այս ինտերֆեյսը կարող է իրականացվել այսպես: type Processor interface { Process(doc *Document) (*Document, error) } Այս կոդը կաշխատի ծառայությունում, որը կարդում է հաղորդագրություններ հերթից (Kafka կամ նման), և նաև գրում է արդյունքը հերթին: Եթե Process վերադարձնում է Null, ոչինչ չի գրանցվում հերթում:

Senior
VKVK
76

Դու ունե՞ք gRPC և GraphQL փորձ։ Ասացեք նրանց մասին։

Senior
X5 techX5 tech
76

Դու գիտե՞ս Loop ապրանքը։

Middle
wilix
76

Ինչպե՞ս ես վերաբերվում հերթապահություններին: Ունեցե՞լ ես նման փորձ:

Senior
ozon_tech
76

Ինչպե՞ս էր ամբողջությամբ տեսնում է օպտիմիստական արգելափակման ճանապարհը Kafka-ից հաղորդագրության ստացումից մինչև տվյալների բազայում թարմացում:

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

Ինչպե՞ս ես ստանում առաջադրանքները, ովքեր են գալիս:

Middle+
SelectelSelectel
76

Ի՞նչ տվյալների բազաների հետ եք աշխատել և ինչ SQL հարցումներ եք կարող գրել։

Middle+
Лига Цифровой ЭкономикиЛига Цифровой Экономики
76

Ինչպե՞ս եք օգտագործել Kafka և RabbitMQ որպես բրոքերներ: Ինչու երկու՞

Senior
Ozon ФинтехOzon Финтех
76

Ինչպե՞ս կարող ենք լոգերի մշակումը պառլելել worker pool-ով: Ինչպե՞ս ստանալ արդյունքները goroutines-ներից:

Middle+
X5 groupX5 group
76

Ի՞նչ են Go-ում զանգվածներն ու slices-ը, ինչո՞վ են տարբերվում: Ինչպե՞ս է աշխատում append-ը և capacity-ի ընդլայնումը։

Senior
ClearWay
76

Ի՞նչ է կրկնօրինակի առավելությունը: Ի՞նչ ծախսեր է կրում այն:

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

Կանալի բաֆերի չափը ինչ-որ բան է ազդում worker pool-ում?

Senior
WildberriesWildberries
76

Ինչպես շփվել արտաքին կոնտուրում գտնվող առևտրականների հետ?

Senior
Финтехробот
76

Ի՞նչ միջոցներ կան սինխրոնիզացիայի համար Գոյում բազմապտույտության ժամանակ։

Senior
I-teco
76

Ի՞նչ տվյալներ էին պահում Redis-ում և ինչպես հասկանում էին, որ հայտարարությունները տաք են։

Senior
Cloud.ru
76

Ինչու օգտագործել ինտերֆեյսներ?

Middle+
Napoleon IT
76

Նայեք վերևի տվյալների բազայի սխեման — ինչ կարելի է ավելացնել, թե ամեն ինչ կարգին է?

Middle
СитиДрайвСитиДрайв
76

Խնդիր՝ ինտերֆեյս error և nil: ինչ կցուցադրվի կոդը տարբեր եղանակներով nil նշանակելու դեպքում։

Senior
Flant
76
/412