რა შეიძლება ითქვას შეკითხვის გეგმას ოპტიმიზაციის შესახებ? MVCC არსებობს სია CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, status TEXT, updated_at TIMESTAMP ); და შეკითხვა, რომელიც ყოველ წამს ხორციელდება UPDATE orders SET status = 'processed', updated_at = now() WHERE id = 1; რამოდენიმე დღის შემდეგ შენიშნავთ: • სიის ზომა მნიშვნელოვნად გაიზარდა • SELECT * FROM orders WHERE id = 1 შეკითხვა უფრო ნელი ხდება კანდიდატისათვის კითხვები 1. რატომ იზრდება სია, მიუხედავად იმისა, რომ სვეტი ყოველთვის ერთნაირია? 2. რა როლი აქვს MVCC ამ სიტუაციაში? 3. რა უნდა გადაწყვიტოს ეს პრობლემა?
C#
რა არის IAsyncDisposable?
იცით vacuum და vacuum full?
რა აჩვენებს პროგრამა with async/await: main ბეჭდავს A-ს, იძახის saySomething-ს (სტატიკური, აბრუნებს Task-ს), 5 წამი გელოდება, შემდეგ D?
გარიგებების ტიპები / იზოლაციის დონეები?
რა გამოიტანს პროგრამა, თუ throw მითითებულ ადგილებში კომენტარად იქნება ჩაწერილი?
Init მეთოდში მრავალმხრივი მუშაობის კიდევ ერთი პრობლემა რა არის?
Linq2DB-სთან არ მუშაობდა?
როგორ გავხადოთ კლასი იტერირებადი?
რომელი ტექნოლოგიური სტეკი გამოიყენეს?
IMemoryCache — რა არის და როდის გამოიყენოთ?
შესწავლა: გამოყენებული კოდი კლასი შეიცავს ახალი შეკვეთების დამუშავების ლოგიკას. იგი ამოიღებს შეკვეთებს და პოზიციებს ბაზიდან, შემდეგ HTTP-ის საშუალებით მიმართავს გარე microservice Stock-ს, სადაც შეკვეთის პოზიციების მიხედვით ბუქდება პროდუქტები. თუ ყველა ბუქმა წარმატებით ჩაიარა, microservice-ი ადასტურებს შეკვეთის ბუქს Stock-ში და აღნიშნავს შეკვეთას დამუშავებულად. Microservice-ი რამდენიმე ეგზემპლარით მუშაობს, ამიტომ Process მეთოდი შეიძლება პარალელურად შესრულდეს. იმისათვის, რომ ერთსა და იმავე ხაზებს არ მოხდეს დამუშავება, გამოიყენება pesimistički locking PostgreSQL-ის Select for update ... skip locked მექანიზმი. IBus-ის იმპლემენტაცია გზავნის შეტყობინებებს RabbitMq-ს. ```csharp public sealed class PendingOrdersProcessor { public async Task PendingOrdersProcessor(ILogger logger, IBus bus, HttpStockService st { var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); var cs = _cs[env]; _db = new OrdersRepository(cs); _bus = bus; logger = logger; ``` ```csharp _stockService = stockService; } private readonly ILogger _logger; private readonly IOrdersRepository _db; private readonly IStockService _stockService; private readonly IBus _bus; private static readonly Dictionary<string, string> _cs = new { { "Development", "User ID=root;Password=myPassword;Host=localhost;Port=5432;Database=myDataBase" }, { "Production", "User ID=root;Password=myPassword;Host=prod-db;Port=5432;Database=" "Pooling=true;Min Pool Size=0;Max Pool Size=1;" } }; ```
როდის ხდება დახურვა (closure)?
გთხოვთ, ისაუბროთ თქვენი ბოლო სამუშაო ადგილის შესახებ — Severstal. რა გითავდით, რამდენი ხანი მუშაობდით, რა ტექნოლოგიებს იყენებდით?
რატომ ვერ შეძლებს სტრუქტურა მემკვიდრეობას?
რამდენი მეხსიერებას იკავებს Date-ის მაგალითი 32- და 64-ბიტიან სისტემებში?
როგორ შევცვალოთ, რომ გამოჩნდეს 0-9?
IMemoryCache კოდის გამოყენების უპირატესობები და ნაკლოვანებები რა არის? OWASP top 10 რა არის? კოდის მეტრიკა 1. რა კოდის ხარისხის მეტრიკებს იცნობთ? 2. იყენებდით? 3. როგორ გამოთვალეთ? 4. არის ეს CI-ის ნაწილი თუ ad hoc? მიწოდება რა გააკეთებდით, თუ თქვენი სერვისი (ვებგვერდი) გაჩერდა ტესტის ან დატვირთვის გარემოში, მაგრამ ადგილობრივად ყველაფერი მუშაობს?
როგორ მუშაობენ ტრანზაქციები ვერსიებთან MVCC-ში?
რატომ მუშაობს მონაცემთა ბაზის მქონე აპლიკაცია ერთ გარემოში და სხვაში გაუარესდება?