Co lze říci o optimalitě plánu dotazu? MVCC Existuje tabulka CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, status TEXT, updated_at TIMESTAMP ); a dotaz, který se spouští každou sekundu UPDATE orders SET status = 'processed', updated_at = now() WHERE id = 1; Po několika dnech si všimnete: • velikost tabulky se výrazně zvětšila • dotaz SELECT * FROM orders WHERE id = 1 běží pomaleji Otázky pro kandidáta 1. Proč tabulka roste, i když je řádek stále stejný? 2. Jakou roli hraje MVCC v této situaci? 3. Co by mělo tento problém vyřešit?
C#
Co je IAsyncDisposable?
Znáte vacuum a vacuum full?
Co zobrazí program s async/await: main vypíše A, zavolá saySomething (statický, vrací Task), počká 5 sekund, pak D?
Typy transakcí / úrovně izolace?
Co zobrazí program, pokud je throw odkomentováno na uvedených místech?
Jaký je další problém s vícenásobným zpracováním v metodě Init?
Nešlo to s Linq2DB?
Jak udělat třídu iterovatelnou?
IMemoryCache — co to je a kdy ho používat?
Jaký technologický stack použili?
Áttekintés: alkalmazott kód A osztály tartalmazza az új megrendelések feldolgozásának logikáját. Kinyeri a megrendeléseket és a pozíciókat az adatbázisból, majd HTTP-kérést küld egy külső mikroservice-nek, a Stocknak, amely a megrendelés pozíciói szerint foglalja a termékeket. Ha minden foglalás sikeresen megtörtént, a mikroservice megerősíti a megrendelés foglalását a Stockban, és megjelöli a megrendelést feldolgozottként. A mikroservice több példányban fut, ezért a Process metódus párhuzamosan is végrehajtható. Az ugyanazon sorok feldolgozásának elkerülése érdekében a PostgreSQL Select for update ... skip locked mechanizmust használják. Az IBus implementáció üzeneteket küld a RabbitMq-nak. ```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;" } }; ```
Kdy dochází k uzavření (closure)?
Pověz mi o posledním místě práce — Severstal. Čím ses zabýval, jak dlouho jsi tam pracoval, jaký stack technologií?
Proč nemůže struktura dědit?
Kolik paměti zabírá instance Date v 32- a 64bitových systémech?
Jak opravit, aby se zobrazovalo 0-9?
IMemoryCache Jaké jsou výhody a nevýhody používání IMemoryCache v aplikaci? Co je to top 10 OWASP? Metriky kódu 1. Jaké metriky kvality kódu znáte? 2. Používali jste je? 3. Jak jste je počítali? 4. Je to součást CI nebo ad hoc? Zátěž Co byste dělali, kdyby váš servis (webová stránka) zamrzl v testovacím nebo zátěžovém prostředí, ale lokálně vše fungovalo?
Jak fungují transakce s verzemi v MVCC?
Proč aplikace s databází funguje v jednom prostředí a v jiném se zhoršuje?