Sobes.tech

Golang

Kako ste odredili da je vreme za promenu? Na osnovu kojih metrika?

Senior
А7
62

Koja je razlika između interpretiranog jezika (Python) i kompajliranog jezika (Go)? Koji faktori utiču na izbor?

Senior
СБЕРСБЕР
62

Бизнис развој или инфраструктура? Које су ваше јаке стране?

Middle+
МВидео/эльдорадо
62

Kako biste projektovali ovaj kod za korišćenje u različitim transportnim protokolima (gRPC, HTTP, potrošač)?

Middle+
КуперКупер
61

Koja komanda se koristi za umetanje vrednosti u tabelu?

Middle+
МТСМТС
61

Може ли показивач да указује и на стек и на хип?

Middle
VKVK
61

Zašto je potrebna kombinacija Load Balancer + API Gateway? Koja je uloga svakog komponenta?

Senior
Hi Rockits
61

Kako je obezbeđena konzistentnost podataka u projektu?

Middle+
КуперКупер
61

Kako izmeniti semafor Acquire/Lock da bi se čekanje moglo otkazati ili ograničiti po vremenu?

Senior
FinFrame
61

Kako će se odvijati proces slanja i primanja poruka između dva klijenta? Opisati puni tok.

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

Pozicioniraš li se kao srednji ili stariji programer?

Middle+
2gis2gis
61

Šta je korporativna platforma za obradu logističkih i operativnih podataka maloprodajnih mreža holdinga? Da li su logistički rutovi sastavljani, računati ili kako?

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

Kako je bio formalizovan u Petrovich i ranije u Gazpromneftu?

Middle
МВидео/эльдорадо
61

Šta te zanima? Koje zadatke želiš? Koju domenu?

Senior
FinFrame
61

Šta je reverse proxy i kako ga implementirati?

Senior
purrweb
61

Da li je backend mobilne aplikacije bio uglavnom BFF?

Senior
AvitoAvito
61

Da li je moguće kreirati indeks samo na repliki, a ne na masteru?

Senior
Cloud.ru
61

Koje primitivne sinhronizacije gorutina postoje u Go?

Middle+
СБЕРСБЕР
61

Kako funkcioniše DISTINCT?

Senior
OZONOZON
61

Ažuriranja dokumenata stižu u servis message Document { string Url = 1; // URL dokumenta, njegov jedinstveni identifikator uint64 PubDate = 2; // deklarisano vreme objavljivanja dokumenta uint64 FetchTime = 3; // vreme primanja ove ažuriranja dokumenta, može se smatrati identifikatorom verzije. Par (Url, FetchTime) je jedinstven. string Text = 4; // tekst dokumenta uint64 FirstFetchTime = 5; // inicijalno nedostaje, treba popuniti } Dokumenti mogu stizati u bilo kom redosledu (ne u redosledu u kojem su ažurirani), i mogu postojati duple poruke. Potrebno je na izlazu formirati iste poruke, ali sa ispravljenim poljima prema sledećim pravilima (sve niže važi za grupu dokumenata sa istim poljem Url): Polje Text i FetchTime treba da budu takvi kakvi su u dokumentu sa najvećim FetchTime koji je do sada primljen. Polje PubDate treba da bude takvo kakvo je u poruci sa najmanjim FetchTime. Polje FirstFetchTime treba biti jednako minimalnoj vrednosti FetchTime. Drugim rečima, u svakom trenutku uzimamo PubDate i FirstFetchTime od prve verzije primljene do sada (ako ih sortiramo po FetchTime), a Text od poslednje. Interfejs u kodu može biti implementiran ovako: type Processor interface { Process(doc *Document) (*Document, error) } Ovaj kod će raditi u servisu koji čita poruke iz reda (Kafka ili slično), i takođe zapisuje rezultat u red. Ako Process vrati Null, ništa se ne zapisuje u red.

Senior
VKVK
61
/411