Sobes.tech

Може ли да се използва async/await вътре в lock? Защо?

250

Защо async void е лоша практика?

233

Как средата за изпълнение разбира, че асинхронната операция е приключила и трябва да продължи работата?

191

Какво ще бъде изведено в конзолата? ```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(); } } ```

187

Какво е структура? Това е тип стойност или тип препратка? Къде се заделя паметта? Какви са границите на ефективното използване на структурите?

169

Какво са индексите в база данни? Видове индекси (B-Tree, Hash, Full-text). Клъстерен срещу неклъстерен индекс. Покриващи индекси.

167

Кои купчини знаеш освен основната (SOH)? Разкажи ми за Large Object Heap и Pinned Object Heap.

164

Задача с async/await: как работи async/await? В какво се развива? Каква е разликата между Task и ValueTask?

158

Какво е консистентно хеширане? Виртуални шарда/кофи?

157

Задача с виртуални методи: какво ще бъде изведено? За кой метод има повече тикчета и защо?

145

Какви са GC корените? Кои има?

144

Какво е ConfigureAwait(false)? За какво се използва? Какъв е контекстът на синхронизация?

142

Разкажи ми за режимите на работа на GC: сървър и десктоп. Кога кой да използвам?

142

Какво е същността на концепцията за поколенията GC (0, 1, 2)? Какво оптимизираме?

142

Разкажи ми за модификаторите на параметри ref, in, out и техните разлики. Какво е readonly ref и ref readonly?

133

Получихте задача за преглед на код от колега Какви проблеми виждате в кода? ```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); } } } } ```

131

Въпрос със низове: какво ще бъде изведено? Как е препълнен операторът == за низове? Какво е пулът за интернироване на низове?

129

Обяснете как се разпределя паметта на стека и в купчината. Винаги ли се разполагат стойностните типове на стека?

127

Какво е StringBuilder? Какво има вътре? Как работи управлението на паметта?

127
/2