Kas saab kasutada async/await lukus sees? Miks?
C#
Miks on async void halb tava?}}}}}
Kuidas mõistab täitmise keskkond, et asünkroonne operatsioon on lõppenud ja tuleb jätkata tööd?
Mis näitab konsool? ```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(); } }
Mis on struktuur? Kas on väärtusetüüp või viidetüüp? Kus mälu eraldatakse? Millised on tõhusate struktuuride kasutamise piirid?
Mis on indeksid andmebaasis? Indeksi tüübid (B-puu, Hash, Full-text). Klastriline vs mitte-klastriline indeks. Katvad indeksid.
Milliseid virnu tead peale peamise (SOH)? Räägi Large Object Heap ja Pinned Object Heap kohta.
Mis on järjepidev hashimine (consistent hashing)? Virtuaalsed sharded/buckets?
Ülesanne koos async/await: kuidas töötab async/await? Milles see areneb? Mis vahe on Task ja ValueTask vahel?
Virtuaalsete meetoditega ülesanne: mis kuvatakse? Millise meetodi jaoks on rohkem tikk ja miks?
Mis on GC juured? Millised on?
Rääkige mulle GC töörežiimidest: serveri ja töölaua. Millal millist kasutada?
Mis on GC põlvkondade (0, 1, 2) kontseptsiooni olemus? Mida me optimeerime?
Mis on ConfigureAwait(false)? Milleks seda kasutatakse? Mis on sünkroniseerimiskontekst?
Rääkige ref, in, out parameetrite modifikaatoritest ja nende erinevustest. Mis on readonly ref ja ref readonly?
SELECT * FROM t_sensor_data;
Sulle on määratud kolleegi koodi ülevaatamise ülesanne Milliseid probleeme näed koodis? ```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); } } } }
Ülesanne stringidega: mis kuvatakse? Kuidas on üle koormatud == operaator stringide jaoks? Mis on stringide internseerimise bassein?
Selgitage, kuidas mälu eraldatakse virnas ja virnas. Kas väärtusetüübid alati paiknevad virnas?
Ülesanne LINQ-ga: mis kuvatakse? Milline on muutuja query tüüp? Milline on erinevus IEnumerable ja IQueryable vahel?