Sobes.tech

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?

Middle+
263

Znáte vacuum a vacuum full?

Middle+
208

Co zobrazí program s async/await: main vypíše A, zavolá saySomething (statický, vrací Task), počká 5 sekund, pak D?

Middle+
197

Typy transakcí / úrovně izolace?

Middle+
196

Co zobrazí program, pokud je throw odkomentováno na uvedených místech?

Middle+
190

Jaký je další problém s vícenásobným zpracováním v metodě Init?

Middle+
188

Jak udělat třídu iterovatelnou?

Middle+
180

IMemoryCache — co to je a kdy ho používat?

Middle+
176

Jaký technologický stack použili?

Middle+
176

Á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;" } }; ```

Middle+
170

Kdy dochází k uzavření (closure)?

Middle+
165

Pověz mi o posledním místě práce — Severstal. Čím ses zabýval, jak dlouho jsi tam pracoval, jaký stack technologií?

Middle+
160

Proč nemůže struktura dědit?

Middle+
158

Kolik paměti zabírá instance Date v 32- a 64bitových systémech?

Middle+
156

Jak opravit, aby se zobrazovalo 0-9?

Middle+
149

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?

Middle+
148

Jak fungují transakce s verzemi v MVCC?

Middle+
147

Proč aplikace s databází funguje v jednom prostředí a v jiném se zhoršuje?

Middle+
146
/3