თუ მეტი დრო ჰქონდათ, რა უნდა გაუმჯობესდეს წესრიგით განლაგებული რუკის განხორციელებაში? რა შეიძლება იყოს პრობლემები და განვითარების მიმართულებები ბიბლიოთეკაში?
Golang
ორი სცენარის უპირატესობები და ნაკლოვანებები რა არის: დავალებების დამატება პულის დაწყებამდე და შემდეგ?
როგორ იყო ორგანიზებული თქვენი გუნდის განვითარების პროცესი (CI/CD, ტესტირება, კოდის მიმოხილვა)?
გააზიარე SQL და NoSQL მონაცემთა ბაზები
მომსახურება დაგანახეს და გითხრეს, რომ იგივე გააკეთო — შენი მოქმედებები
გსურთ პროფესიონალურად განვითარდეთ? სად გსურთ მისვლა?
შეგახსენებთ, რომელ ვერსიაში გახდა ხელმისაწვდომი სადგურის დიაპაზონი?
GIN ინდექსი სრულტექსტური ძიებისთვის შესაფერისია?
ამ გადაწყვეტილებისთვის კონსტრუქტორი საჭირო იქნება?
რა მონაცემებს ინახავდნენ Redis-ში და როგორ ხვდებოდნენ, რომ განცხადებები ცხელი იყო?
ინდექსი რა არის და რა ტიპის ინდექსები არსებობს PostgreSQL-ში?
როგორ მიმდინარეობდა გუნდების ურთიერთქმედება სხვა სერვისებთან ინტეგრაციის დროს?
გაქვს გამოცდილება AI-აგენტებთან, RAG-სისტემებთან ან MCP-თან მუშაობაში?
რატომ გადაწყვიტეთ ბაზარზე შესვლა და ახალი სამუშაოს განხილვა?
PostgreSQL-ში ტრანზაქციების იზოლაციის დონეები
მიკროწესვიან არქიტექტურაში Consul ყველაზე ხშირად რა მიზნით გამოიყენება?
როგორ გრძნობ თავს გაურკვეველი მოთხოვნებისა და შემოქმედებითი თავისუფლების მქონე დავალებებთან დაკავშირებით?
რა გგონია დამატებითი საათების შესახებ?
რა გიბიძგა ამ ვაკანსიაზე და რატომ მიდიხარ წინა სამუშაოდან?
// ასინქრონული დავალების დამუშავებლის დაწერა ბიბლიოთეკის სახით // კლიენტი გადმოსცემს ობიექტს (Task) მონაცემებით, რათა შეასრულოს დავალება, // ჩვენს მაგალითში გამოვიყენებთ ცარიელ სტრუქტურას. // დამუშავებელი ერთდროულად შეიძლება უმეტესად N დავალება, // და არა მეტი X დავალება შეიძლება იყოს რიგში დამუშავებისთვის. // თუ რიგში ადგილი არ არის, დაუყოვნებლივ ვუბრუნებთ შეცდომას კლიენტს. // დავალება მიიღება დამუშავებისთვის, თუ თავისუფალი დამუშავებლები არსებობს. // ჩვენ სიმულაციას ვაკეთებთ დამუშავების ხანგრძლივობას time.Sleep(5*time.Second) გამოყენებით. // როგორც კი ერთი დავალება დასრულდება, ვიღებთ შემდეგს რიგიდან. // თუ რიგი ცარიელია, ველით ახალი დავალებებს კლიენტებისგან. // ვარსკვლავით: შეავსეთ Task სტრუქტურა და მიიღეთ დავალებების სტატუსები ცალკე მოთხოვნით package scheduler type Scheduler interface { AddTask(t Task) error Close() } type Task interface { Do() }