Siz so'rov rejasining optimalligi haqida nima deyishingiz mumkin? MVCC Jadval mavjud CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, status TEXT, updated_at TIMESTAMP ); va har sekundda bajariladigan so'rov UPDATE orders SET status = 'processed', updated_at = now() WHERE id = 1; Bir necha kun o'tgach, siz quyidagilarni ko'rasiz: • jadvalning hajmi juda katta o'sdi • SELECT * FROM orders WHERE id = 1 so'rovi sekinlashdi Nomzod uchun savollar 1. Nima uchun jadval o'smoqda, garchi satr har doim bir xil bo'lsa? 2. MVCC bu holatda qanday rol o'ynaydi? 3. Bu muammoni qanday hal qilish kerak?
C#
IAsyncDisposable nima?
Vacuum va vacuum full ni bilasizmi?
Async/await bilan dastur nima ko'rsatadi: main A ni chop etadi, saySomething (statik, Task qaytaradi) chaqiradi, 5 sekund kutadi, so'ng D?
Tranzaksiya turlari / ajratish darajalari?
Init usulida ko'p oqimli ishlash bilan bog'liq yana qanday muammo bor?
Agar throw izohlar ko'rsatilgan joylarda izohdan chiqarilsa, dastur nima ko'rsatadi?
Linq2DB bilan ishlamadi?
Sinfni takrorlanadigan qilish uchun qanday qilish mumkin?
Qaysi texnologik stekni ishlatishdi?
IMemoryCache — bu nima va qachon foydalaniladi?
Tahlil: qo'llanilgan kod Klass yangi buyurtmalarni qayta ishlash logikasini o'z ichiga oladi. U bazadan buyurtmalar va pozitsiyalarni chiqaradi, so'ngra tashqi mikroservis Stockga HTTP chaqiruvini amalga oshiradi, unda buyurtma pozitsiyalariga ko'ra mahsulotlar bron qilinadi. Agar barcha bronlar muvaffaqiyatli bo'lsa, mikroservis Stockda buyurtma bronini tasdiqlaydi va buyurtmani qayta ishlashga belgilaydi. Mikroservis bir nechta nusxalarda ishga tushiriladi, shuning uchun Process metodi parallel ravishda bajarilishi mumkin. Bir xil satrlarni qayta ishlashdan saqlash uchun PostgreSQL Select for update ... skip locked mexanizmi ishlatiladi. IBus implementatsiyasi RabbitMq'ga xabar yuboradi. ```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;" } }; ```
So'nggi ish joyingiz — Severstal haqida gapiring. Nima qilgansiz, qancha ishlagansiz, qanday texnologiya?
Qachon yopilish (closure) yuzaga keladi?
Nima uchun struct meros ololmaydi?
32 va 64 bit tizimlarda Date nusxasi qancha xotira oladi?
Ma'lumotlar bazasi bilan ilova bir muhitda ishlaydi va boshqasida yomonlashadi, nima uchun?
IMemoryCache Qanday qilib IMemoryCache-ni ilovada ishlatishning afzalliklari va kamchiliklari? OWASP top 10 nima? Kod metrikalari 1. Qaysi kod sifat metrikalarini bilasiz? 2. Ularni ishlatdingizmi? 3. Ularni qanday hisoblagansiz? 4. Ular CI ning bir qismi yoki ad hoc? Yuklama Agar sizning xizmatingiz (veb sahifa) test yoki yuklamali muhitda to'xtab qolsa, lekin mahalliyda hamma narsa ishlayotgan bo'lsa, nima qilasiz?
0-9 ni ko'rsatishi uchun qanday tuzatish mumkin?
MVCC'da tranzaktsiyalar versiyalar bilan qanday ishlaydi?