Sobes.tech

Ką galima pasakyti apie užklausos plano optimizaciją? MVCC Yra lentelė CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, status TEXT, updated_at TIMESTAMP ); ir užklausa, kuri vykdoma kas sekundę UPDATE orders SET status = 'processed', updated_at = now() WHERE id = 1; Po kelių dienų pastebite: • lentelės dydis žymiai padidėjo • užklausa SELECT * FROM orders WHERE id = 1 veikia lėčiau Kandidato klausimai 1. Kodėl lentelė auga, nors eilutė visada ta pati? 2. Kokią vaidmenį atlieka MVCC šioje situacijoje? 3. Kas turėtų išspręsti šią problemą?

Middle+
290

Kas yra IAsyncDisposable?

Middle+
251

Koks dar vienas problemos su daugialypiu vykdymu Init metode?

Middle+
222

Ar žinote vacuum ir vacuum full?

Middle+
216

Ką parodys programėlė su async/await: main išspausdina A, iškviečia saySomething (statinis, grąžina Task), laukia 5 sekundes, tada D?

Middle+
213

Operacijų tipai / izoliacijos lygiai?

Middle+
201

Ką parodys programa, jei throw bus iškomentuotas nurodytose vietose?

Middle+
193

Kaip padaryti klasę iteruojamą?

Middle+
188

IMemoryCache — kas tai yra ir kada naudoti?

Middle+
185

Kokį technologijų rinkinį naudojo?

Middle+
185

Peržiūra: taikomas kodas Klasė apima logiką, skirtą naujų užsakymų apdorojimui. Ji ištraukia užsakymus ir pozicijas iš duomenų bazės, tada atlieka HTTP užklausą į išorinį mikroservisą Stock, kuriame rezervuoja prekes pagal užsakymo pozicijas. Jei visi rezervavimai sėkmingai įvyksta, mikroservisas patvirtina užsakymo rezervavimą Stock ir pažymi užsakymą kaip apdorotą. Mikroservisas veikia keliuose egzemplioriuose, todėl metodas Process gali būti vykdomas lygiagrečiai. Norint išvengti tų pačių eilučių apdorojimo, naudojamas pesimistinio užrakto mechanizmas PostgreSQL Select for update ... skip locked. IBus įgyvendinimas siunčia žinutes į 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+
181

Papaskinkite apie paskutinę darbo vietą — Severstal. Ką veikėte, kiek laiko dirbote, kokį technologijų rinkinį naudojote?

Middle+
173

Kada įvyksta uždarymas (closure)?

Middle+
170

Kodėl struktūra negali paveldėti?

Middle+
168

Kiek atminties užima Date pavyzdys 32 ir 64 bitų sistemose?

Middle+
164

Ar išjungus throw, išvedimo tvarka pasikeis?

Middle+
159

Kaip ištaisyti, kad rodytų 0-9?

Middle+
154

Kodėl duomenų bazės taikymas veikia vienoje aplinkoje ir blogėja kitoje?

Middle+
154

IMemoryCache Kokios yra IMemoryCache naudojimo privalumai ir trūkumai? Kas yra OWASP top 10? Kodo metrikos 1. Kokias kokybės metrikas žinote? 2. Ar jas naudojote? 3. Kaip jas skaičiavote? 4. Ar jos yra CI dalis ar ad hoc? Krovinys Ką darytumėte, jei jūsų paslauga (svetainė) užstringa testavimo ar apkrovos aplinkoje, bet vietoje viskas veikia?

Middle+
154
/3