Sobes.tech

Mida saab öelda päringukava optimeerimise kohta? MVCC On tabel CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, status TEXT, updated_at TIMESTAMP ); ja päring, mis käivitub iga sekundi jooksul UPDATE orders SET status = 'processed', updated_at = now() WHERE id = 1; Pärast mõnda päeva märkate: • tabeli suurus on oluliselt kasvanud • päring SELECT * FROM orders WHERE id = 1 töötab aeglasemalt Kandidaadile esitatavad küsimused 1. Miks tabel kasvab, kuigi rida on alati sama? 2. Millist rolli mängib MVCC selles olukorras? 3. Mida peaks see probleem lahendama?

Middle+
262

Mis on IAsyncDisposable?

Middle+
226

Kas teate vacuum ja vacuum full?

Middle+
206

Mida näitab programm async/await-iga: main trükib A, kutsub saySomething (statiline, tagastab Task), ootab 5 sekundit, siis D?

Middle+
197

Tehingu tüübid / isolatsiooni tasemed?

Middle+
195

Mida näitab programm, kui throw on kommentaarina märgitud kohtades?

Middle+
189

Mis on veel üks probleem mitme lõimega Init meetodis?

Middle+
184

Ei töötanud Linq2DB-ga?

Middle+
182

Kuidas teha klassi iteratiivseks?

Middle+
178

Millist tehnoloogiateeki nad kasutasid?

Middle+
176

IMemoryCache — mis see on ja millal kasutada?

Middle+
175

Review: applied code The class contains the logic for processing new orders. It extracts orders and positions from the database, then makes an HTTP request to an external microservice Stock, which reserves products according to the order positions. If all reservations are successful, the microservice confirms the order reservation in Stock and marks the order as processed. The microservice runs in multiple instances, so the Process method can be executed in parallel. To prevent processing the same rows, a pessimistic locking mechanism in PostgreSQL Select for update ... skip locked is used. The IBus implementation sends messages to 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;" } }; ```

Middle+
168

Millal toimub sulgemine (closure)?

Middle+
164

Rääkige oma viimasest töökohast — Severstal. Millega tegeletes, kui kaua töötasite, millist tehnoloogiat kasutasite?

Middle+
158

Miks struktuur ei saa pärida?

Middle+
156

Kui palju mälu võtab Date näide 32- ja 64-bitistes süsteemides?

Middle+
153

Kuidas parandada, et näidata 0-9?

Middle+
147

IMemoryCache Millised on IMemoryCache kasutamise eelised ja puudused? Mis on OWASP top 10? Koodi mõõdikud 1. Milliseid koodi kvaliteedi mõõdikuid teate? 2. Kas olete neid kasutanud? 3. Kuidas te neid arvutasite? 4. Kas need on osa CI-st või ad hoc? Koormus Mida teeksite, kui teie teenus (veebileht) hangub test- või koormuskeskkonnas, kuid kohapeal kõik töötab?

Middle+
147

Kuidas töötavad tehingud versioonidega MVCC-s?

Middle+
146

Miks rakendusel andmebaas töötab ühes keskkonnas ja halveneb teises?

Middle+
145
/3