Kan je async/await binnen een lock gebruiken? Waarom?
C#
Waarom is async void een slechte praktijk?
Hoe begrijpt de runtime-omgeving dat een asynchrone operatie is voltooid en dat het werk moet worden voortgezet?
Wat wordt er in de console weergegeven? ```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(); } } ```
Wat is een structuur? Is het een waarde- of referentietype? Waar wordt het geheugen toegewezen? Wat zijn de grenzen van het effectieve gebruik van structuren?
Wat zijn indices in een database? Types indices (B-tree, Hash, Full-text). Geklonterde vs niet-geklonterde index. Covering index.
Welke heaps ken je naast de hoofd-heap (SOH)? Vertel me over de Large Object Heap en de Pinned Object Heap.
Wat is consistente hashing? Virtuele shards/buckets?
Taak met async/await: hoe werkt async/await? Waar ontwikkelt het zich in? Wat is het verschil tussen Task en ValueTask?
Taak met virtuele methoden: wat wordt er weergegeven? Voor welke methode zijn er meer ticks en waarom?
Vertel me over de werkingswijzen van GC: server en desktop. Wanneer welke gebruiken?
Wat is de kern van het concept van GC-generaties (0, 1, 2)? Wat optimaliseren we?
Wat zijn GC-roots? Welke zijn er?
Wat is ConfigureAwait(false)? Waarvoor wordt het gebruikt? Wat is de synchronisatiecontext?
Vertel me over de modificatoren voor parameters ref, in, out en hun verschillen. Wat is readonly ref en ref readonly?
Er is een taak aan u toegewezen voor code review van een collega Welke problemen ziet u in de code? ```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); } } } } ```
SELECT * FROM t_sensor_data;
Vraag met strings: wat wordt er weergegeven? Hoe is de operator == voor strings overload? Wat is de string intern pool?
Leg uit hoe geheugen wordt toegewezen op de stack en in de heap. Worden waarde-typen altijd op de stack geplaatst?
Opdracht met LINQ: wat wordt weergegeven? Wat is het type van de variabele query? Wat is het verschil tussen IEnumerable en IQueryable?