Sobes.tech

Se poate folosi async/await în interiorul unui lock? De ce?

269

De ce async void este o practică proastă?

239

Ce va fi afișat în consolă? ```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(); } } ```

193

Cum înțelege mediul de execuție că o operație asincronă s-a încheiat și trebuie să continue lucrul?

192

Ce este o structură? Este un tip de valoare sau de referință? Unde este alocată memoria? Care sunt limitele utilizării eficiente a structurilor?

169

Ce sunt indicii într-o bază de date? Tipuri de indici (B-tree, Hash, Full-text). Index clustert vs non-clustert. Indici acoperitori.

167

Ce heap-uri cunoști în afară de cel principal (SOH)? Vorbește-mi despre Heap-ul de Obiecte Mari și Heap-ul de Obiecte Pinned.

164

Ce este hashing-ul consistent? Shard-uri/buckets virtuale?

163

Sarcină cu async/await: cum funcționează async/await? În ce se dezvoltă? Care este diferența între Task și ValueTask?

159

Sarcină cu metode virtuale: ce va fi afișat? Pentru ce metod există mai multe tick-uri și de ce?

148

Ce este ConfigureAwait(false)? La ce se folosește? Ce este contextul de sincronizare?

143

Care este esența conceptului de generații GC (0, 1, 2)? Ce optimizăm?

143

Vorbește despre modurile de funcționare ale GC: server și desktop. Când să folosești care?

143

Vorbește despre modificatorii de parametri ref, in, out și diferențele dintre ei. Ce este readonly ref și ref readonly?

135

Ți s-a atribuit o sarcină de revizuire a codului de la un coleg Ce probleme vezi în cod? ```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); } } } } ```

132

Întrebare cu șiruri: ce va fi afișat? Cum este suprascris operatorul == pentru șiruri? Ce este pool-ul de internare a șirurilor?

130

Explică cum se alocă memoria pe stivă și în heap. Tipurile de valori sunt întotdeauna plasate pe stivă?

130

Cum să implementezi propriul tău Where fără yield? Ce este yield și cum funcționează în spate?

130
/2