Ce trebuie îmbunătățit în implementarea hărții ordonate, dacă aș avea mai mult timp? Care sunt problemele posibile și direcțiile de dezvoltare ale bibliotecii?
Golang
Vorbește despre baze de date SQL și NoSQL
Vrei să crești profesional? Până unde vrei să ajungi?
Îți amintești în ce versiune a fost disponibil intervalul pe canal?
Indexul GIN este potrivit pentru căutarea full-text?
Cum ai realizat implementarea și configurarea proiectului în proiectele anterioare?
Ți s-a arătat un serviciu și ți s-a spus să faci la fel — acțiunile tale
Ce date stocau în Redis și cum înțelegeau că anunțurile sunt fierbinți?
Ce este un index și ce tipuri de indexuri există în PostgreSQL?
Ai experiență cu agenți AI, sisteme RAG sau MCP?
Ce te-a atras la această ofertă de muncă și de ce pleci de la locul tău anterior?
Cum te simți în legătură cu sarcinile cu cerințe vagi și libertate creativă?
Cum a avut loc interacțiunea între echipe în timpul integrării cu alte servicii?
De ce ai decis să intri pe piață și să iei în considerare un nou loc de muncă?
Nivelurile de izolare a tranzacțiilor în PostgreSQL
Va fi nevoie de un constructor pentru această soluție?
Ce părere ai despre orele suplimentare?
Poți descrie ce folosești pentru a citi canalul în goroutine-ul lucrătorilor?
// Scrieți un handler asincron de sarcini ca bibliotecă // Clientul transmite un obiect (Task) cu date pentru executarea sarcinii, // în exemplul nostru vom folosi o structură goală. // Handler-ul poate procesa nu mai mult de N sarcini simultan, // și nu mai mult de X sarcini pot fi puse în coadă pentru procesare. // Dacă nu există loc în coadă, se returnează imediat o eroare clientului. // Sarcina este preluată în procesare dacă există procesatoare libere. // Simulăm durata procesării cu time.Sleep(5*time.Second). // De îndată ce o sarcină s-a finalizat, luăm următoarea din coadă. // Dacă coada este goală, așteptăm sarcini noi de la clienți. // Cu un asterisc: completați structura Task și obțineți starea sarcinilor printr-o solicitare separată package scheduler type Scheduler interface { AddTask(t Task) error Close() } type Task interface { Do() }
Ai decis să scrii WaitGroup pentru că a apărut un canal sau pentru că ai decis să scrii goroutines pentru ceva?