Sobes.tech

Golang

Може ли се користити контекст за пренос података између компоненти или функција?

Junior — Middle
202

Šta je pokazivač i koliko on teži?

Middle
202

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
202

Koji su vas motivi naveli da se upoznate sa trenutnim ponudama za posao?

Junior — Middle
202

Kako koristiti select za rad sa više kanala istovremeno?

Middle
201

Kako funkcioniše binarna pretraga u sortiranoj listi?

Middle
201

Šta je race condition i koje su metode zaštite od nje?

Middle
200

Šta su probe (probes) u Kubernetes-u, kako ih podesiti i koje vrste postoje?

Senior
199

Koja je razlika između gorutine i niti operativnog sistema?

Middle
198

Šta još, osim mutexa, može se koristiti za zaštitu od race condition?

Middle
198

/* Dat je niz koji sadrži znakove (){}. Potrebno je odrediti da li je ulazni niz uravnotežen u pogledu zagrada. */ func isBalanced(s string) bool { // TODO: implementirati ovo return false } fmt.Println(isBalanced("()")) // -> true fmt.Println(isBalanced("({()})")) // -> true fmt.Println(isBalanced("(()")) // -> false fmt.Println(isBalanced("(()))")) // -> false fmt.Println(isBalanced("({})")) // -> false

Middle
197

Kako interfejsi u Go omogućavaju implementaciju polimorfizma bez eksplicitnog nasleđivanja?

Middle
197

Реците више о пројектима на Go

Middle
197

Kako raste kapacitet sličice pri proširenju?

Middle
196

Šta je virtuelna memorija (swap), kada je potrebna i kada treba da je isključite?

Senior
195

Šta funkcija isBalanced treba da vrati za prazan string?

Middle
194

Kako funkcioniše dvostepno potvrđivanje (2PC)?

Middle
194

Šta je kanal u Go i koja su njegova glavna područja primene?

Middle
194

Koje projekte vodiš, koje su tvoje zadatke na višem nivou?

Middle+
194

Šta je pokazivač i koliko memorije zauzima?

Middle
193
/12