Kann man async/await innerhalb eines Locks verwenden? Warum?
C#
Warum ist async void eine schlechte Praxis?
Wie erkennt die Laufzeitumgebung, dass eine asynchrone Operation abgeschlossen ist und die Arbeit fortgesetzt werden muss?
Was wird in der Konsole ausgegeben? ```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(); } } ```
Was ist eine Struktur? Ist es ein Wert- oder Referenztyp? Wo wird der Speicher zugewiesen? Was sind die Grenzen der effizienten Nutzung von Strukturen?
Was sind Indizes in einer Datenbank? Arten von Indizes (B-Tree, Hash, Volltext). Clustered vs nicht-clustered Index. Abdeckende Indizes.
Welche Heaps kennst du außer dem Haupt-Heap (SOH)? Erzähl mir vom Large Object Heap und vom Pinned Object Heap.
Was ist konsistentes Hashing (consistent hashing)? Virtuelle Shards/Buckets?
Aufgabe mit async/await: Wie funktioniert async/await? Woraus entwickelt es sich? Was ist der Unterschied zwischen Task und ValueTask?
Aufgabe mit virtuellen Methoden: Was wird ausgegeben? Für welche Methode gibt es mehr Ticks und warum?
Was sind GC-Wurzeln? Welche gibt es?
Was ist ConfigureAwait(false)? Wofür wird es verwendet? Was ist der Synchronisierungskontext?
Erzählen Sie mir von den Betriebsmodi von GC: Server- und Desktop-Modus. Wann sollte welcher verwendet werden?
Was ist die Essenz des Konzepts der GC-Generationen (0, 1, 2)? Was optimieren wir?
Erzählen Sie mir von den Modifikatoren für Parameter ref, in, out und deren Unterschieden. Was ist readonly ref und ref readonly?
SELECT * FROM t_sensor_data;
Ihnen wurde eine Aufgabe eines Kollegen zur Code-Überprüfung zugewiesen Welche Probleme sehen Sie im 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); } } } } ```
Aufgabenstellung mit Strings: Was wird ausgegeben? Wie ist der Operator == für Strings überladen? Was ist ein String-Intern-Pool?
Erklären Sie, wie Speicher auf dem Stack und im Heap zugewiesen wird. Werden Werttypen immer auf dem Stack platziert?
Was ist StringBuilder? Was ist darin? Wie funktioniert die Speicherzuweisung?