Šta se može reći o optimalnosti plana upita? MVCC Postoji tabela CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, status TEXT, updated_at TIMESTAMP ); i upit koji se izvršava svake sekunde UPDATE orders SET status = 'processed', updated_at = now() WHERE id = 1; Nakon nekoliko dana primećujete: • veličina tabele je znatno porasla • upit SELECT * FROM orders WHERE id = 1 radi sporije Pitanja za kandidata 1. Zašto tabela raste, iako je red uvek isti? 2. Kakvu ulogu igra MVCC u ovoj situaciji? 3. Šta bi trebalo da reši ovaj problem?
C#
Šta je IAsyncDisposable?
Koji je još jedan problem sa višezadašnošću u metodi Init?
Da li poznate vacuum i vacuum full?
Šta će prikazati program sa async/await: main ispisuje A, poziva saySomething (statički, vraća Task), čeka 5 sekundi, zatim D?
Типови трансакција / нивоа изолације?
Šta će prikazati program ako je throw odkomentarisano na navedenim mestima?
Није радило са Linq2DB?
Kako napraviti klasu iterabilnom?
Koji skup tehnologija su koristili?
IMemoryCache — шта је то и када користити?
Pregled: primenjeni kod Klasa sadrži logiku za obradu novih porudžbina. Izvlači porudžbine i pozicije iz baze podataka, zatim pravi HTTP poziv ka eksternom mikroservisu Stock, u kojem rezerviše proizvode prema pozicijama porudžbine. Ako su sve rezervacije uspešno izvršene, mikroservis potvrđuje rezervaciju porudžbine u Stock i označava porudžbinu kao obrađenu. Mikroservis se pokreće u više instanci, pa metoda Process može biti izvršena paralelno. Da bi se izbegla obrada istih redova, koristi se mehanizam pesimističkog zaključavanja PostgreSQL Select for update ... skip locked. Implementacija IBus šalje poruke u 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;" } }; ```
Ispričaj o posljednjem radnom mjestu — Severstal. Čime si se bavio, koliko si radio tamo, koji je bio tehnološki stack?
Kada dolazi do zatvaranja (closure)?
Zašto struct ne može da nasleđuje?
Koliko memorije zauzima primer Date u 32- i 64-bitnim sistemima?
Zašto aplikacija sa bazom podataka radi u jednom okruženju, a u drugom se pogoršava?
IMemoryCache Koje su prednosti i mane korišćenja IMemoryCache u aplikaciji? Šta je top 10 OWASP? Metričke kod 1. Koje metrike kvaliteta koda poznajete? 2. Da li ste ih koristili? 3. Kako ste ih izračunali? 4. Da li su deo CI ili ad hoc? Opterećenje Šta biste uradili ako se vaš servis (web stranica) zamrzne u testnom ili opterećenom okruženju, a lokalno sve radi?
Kako popraviti da se prikazuje 0-9?
Da li će se redosled izlaza promeniti ako odkomentarišete throw?