Care este diferența dintre bazele de date relaționale și NoSQL?
Golang
De ce iei acum pe piață?
De ce nu apar erorile în metoda Process? Trebuie corectat și trimis codul complet funcțional.
Ce alte structuri sunt utilizate pentru indexuri în bazele de date în afară de arborele B?
Ce sunt canalele în Go și operatorul select?
Ce direcție sau proiect ți-a fost încredințat în prezent în organizația ta actuală?
Cum funcționează căutarea binară într-o listă sortată?
Poate fi folosit contextul pentru a transmite date între componente sau funcții?
Ce este un pointer și cât cântărește?
Care este diferența dintre un proces și un fir de execuție?
Ce este o condiție de cursă și care sunt modalitățile de a te proteja împotriva ei?
Care este diferența dintre o goroutine și un fir de sistem de operare?
Actualizările documentelor sosesc la serviciu message Document { string Url = 1; // URL-ul documentului, identificatorul său unic uint64 PubDate = 2; // timpul de publicare declarat al documentului uint64 FetchTime = 3; // timpul de primire a acestei actualizări a documentului, poate fi considerat ca un identificator de versiune. Perechea (Url, FetchTime) este unică. string Text = 4; // textul documentului uint64 FirstFetchTime = 5; // inițial absent, trebuie completat } Documentele pot ajunge în orice ordine (nu în ordinea în care au fost actualizate), și pot exista mesaje duplicate. Este necesar să se formeze în ieșire mesaje identice, dar cu câmpuri corectate conform următoarelor reguli (tot ce este mai jos se aplică pentru un grup de documente cu același câmp Url): Câmpul Text și FetchTime trebuie să fie cele ale documentului cu cel mai mare FetchTime primit până acum. Câmpul PubDate trebuie să fie cel al mesajului cu cel mai mic FetchTime. Câmpul FirstFetchTime trebuie să fie egal cu valoarea minimă a FetchTime. Cu alte cuvinte, în fiecare moment, luăm PubDate și FirstFetchTime din prima versiune primită până acum (dacă le sortăm după FetchTime), și Text din ultima. Interfața în cod poate fi implementată astfel: type Processor interface { Process(doc *Document) (*Document, error) } Acest cod va funcționa într-un serviciu care citește mesaje dintr-o coadă (Kafka sau similar), și scrie și rezultatul în coadă. Dacă Process returnează Null, nimic nu se scrie în coadă.
Ce sunt probele (probes) în Kubernetes, cum le configurezi și ce tipuri există?
Cum să folosești select pentru a lucra cu mai multe canale simultan?
Ce altceva, pe lângă un mutex, poate fi folosit pentru a proteja împotriva condițiilor de cursă?
Ce este notația asimptotică și ce reprezintă?
/* Șir dat care conține caracterele (){}. Este necesar să se determine dacă șirul de intrare este echilibrat din punct de vedere al parantezelor. */ func isBalanced(s string) bool { // TODO: implementează acest lucru return false } fmt.Println(isBalanced("()")) // -> true fmt.Println(isBalanced("({()})")) // -> true fmt.Println(isBalanced("(()")) // -> false fmt.Println(isBalanced("(()))")) // -> false fmt.Println(isBalanced("({})")) // -> false
Ce este o iterație peste un șir folosind for range în Go? Ce sunt variabilele i și v din interiorul buclei, care sunt tipurile lor de date?
Spuneți mai multe despre proiectele în Go