Használható az async/await egy lockon belül? Miért?
C#
Miért rossz gyakorlat az async void?
Hogyan érti meg a futtatókörnyezet, hogy egy aszinkron művelet befejeződött, és folytatni kell a munkát?
A konzolon mit fog megjelenni? ```csharp public class Program { static void Main() { var myClassObj = new MyClass(); var myStructObj = new MyStruct(); MethodA(myClassObj.Num); // MethodB(myStructObj); MethodC(myClassObj); MethodD(myClassObj); Console.WriteLine(myClassObj.Num); // ? Console.WriteLine(myStructObj.Num); // ? } private static void MethodA(int num) { num = num + 1; } private static void MethodB(MyStruct myStruct) { myStruct.Num += 1; } private static void MethodC(MyClass myClass) { myClass.Num += 1; } private static void MethodD(MyClass myClass) { myClass = new MyClass(); } } ```
Mi az a struktúra? Érték típus vagy referencia típus? Hol foglalódik a memória? Milyen határok vannak a struktúrák hatékony használatának?
Mi az index a adatbázisban? Index típusok (B-tree, Hash, Full-text). Klaszterezett vs nem klaszterezett index. Fedő indexek.
Milyen halmokat ismersz a fő (SOH) mellett? Mesélj a Large Object Heap-ről és a Pinned Object Heap-ről.
Mi az a konzisztens hash-elés? Virtuális shardok/kosarak?
Feladat async/await-tel: hogyan működik az async/await? Miben fejlődik? Mi a különbség a Task és a ValueTask között?
Virtuális módszerekkel kapcsolatos feladat: mit fog kiírni? Melyik módszerhez van több tik és miért?
Mi az a GC gyökerek? Milyen típusai vannak?
Mi a GC generációk (0, 1, 2) koncepciójának lényege? Mit optimalizálunk?
Mesélj a GC működési módjairól: szerver és asztali. Mikor melyiket használjuk?
Mi az a ConfigureAwait(false)? Mire használják? Mi az a szinkronizációs kontextus?
Mesélj a ref, in, out paraméter módosítókról és azok különbségeiről. Mi az a readonly ref és ref readonly?
SELECT * FROM t_sensor_data;
Egy kollégád kódjának áttekintésére kaptál feladatot Milyen problémákat látsz a kódban? ```csharp namespace SomeProject.Data { public class UserRepository { public Task SaveUser(User user, Dictionary<int,string> shards) { var shardIdx = user.Id % 3; var shardAddress = shards[shardIdx]; using(var shardService = new ShardService(shardAddress)) { return shardService.SaveUserAsync(user); } } } } ```
Szöveges kérdés: mit fog kiírni? Hogyan van túlterhelve az == operátor a szövegeknél? Mi az a szöveg belső memória pool?
LINQ-os feladat: mit fog kiírni? Mi a query változó típusa? Mi a különbség az IEnumerable és az IQueryable között?
Magyarázd el, hogyan oszlik meg a memória a veremben és a halomban. Mindig a értéktípusok kerülnek a verembe?