Суроолордун оптималдуулугу жөнүндө эмне айтууга болот? 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 жөнүндө билесизби?
Async/await менен программа эмне көрсөтөт: main A чыгарат, saySomething (статикалык, Task кайтарат) чакырып, 5 секунд күтүп, андан кийин D?
Транзакциялардын түрлөрү / ажыратуу деңгээлдери?
Эгерде throw белгилери көрсөтүлгөн жерлерде комментарийге алынса, программа эмне көрсөтөт?
Init ыкмасында көп ишти иштетүү менен байланышкан дагы кандайдыр бир маселе барбы?
Linq2DB менен иштебедиби?
Класс кайтарымдуу кылуу үчүн кандай кылуу керек?
Кайсы технологиялык стекти колдонушту?
IMemoryCache — бул эмне жана качан колдонуу керек?
Карап чыгуу: колдонулган код Класс жаңы буйрутмаларды иштетүү логикасын камтыйт. Ал базадан буйрутмалар жана позициялар чыгарат, андан соң тышкы микросервис Stockка HTTP чакыруусун жасайт, анда буйрутма позицияларына ылайык товарлар брондолуп жатат. Эгер бардык брондоо иштери ийгиликтүү болсо, микросервис Stockта буйрутманын брондолушун тастыктайт жана буйрутманы иштетилген деп белгилейт. Микросервис бир нече экземплярда иштетилет, ошондуктан Process методу параллелдүү ишке ашырылышы мүмкүн. Ошол эле саптарды иштетүүнүн алдын алуу үчүн 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 жөнүндө айтып бериңиз. Эмне кылдыңыз, канча убакыт иштедиңиз, кайсы технологияны колдондуңуз?
Неге структура мурас калбайт?
32 жана 64 биттик системаларда Date үлгүсү канча жаддыкты ээлейт?
0-9 көрсөтүлүшү үчүн кантип оңдош керек?
IMemoryCache Кодду колдонууда кандай артыкчылыктар жана кемчиликтер бар? OWASP топ 10 деген эмне? Код метрикалары 1. Кайсы код сапаты метрикаларын билесиз? 2. Алардын колдондуңузбу? 3. Алардын эсебин кандай чыгардыңыз? 4. Бул CIнин бир бөлүгүбү же ad hoc? Жүктөө Эгер сиздин кызмат (веб баракча) тест же жүктөө чөйрөсүндө токтоп калса, бирок жеринде бардык иштесе, эмне кылмаксыз?
MVCCдеги транзакциялар версиялар менен кантип иштейт?
Неге деректер базасымен қолданба бір ортада жұмыс істейді және басқа ортада нашарлайды?