Sobes.tech

É possível usar async/await dentro de um lock? Por quê?

246

Como é que o ambiente de execução entende que uma operação assíncrona terminou e que deve continuar o trabalho?

189

O que será exibido no console? ```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(); } } ```

186

O que é uma estrutura? É um tipo de valor ou de referência? Onde a memória é alocada? Quais são os limites do uso eficiente de estruturas?

167

O que são índices numa base de dados? Tipos de índices (B-tree, Hash, Full-text). Índice clusterizado vs não clusterizado. Índices cobertos.

164

Que montes conheces além do principal (SOH)? Fala-me sobre o Heap de Objetos Grandes e o Heap de Objetos Pinned.

160

Tarefa com async/await: como funciona async/await? Em que se desenvolve? Qual é a diferença entre Task e ValueTask?

155

O que é hashing consistente? Shards/buckets virtuais?

154

Tarefa com métodos virtuais: o que será exibido? Para qual método há mais ticks e por quê?

145

O que é ConfigureAwait(false)? Para que é usado? O que é o contexto de sincronização?

141

Qual é a essência do conceito de gerações GC (0, 1, 2)? O que estamos otimizando?

140

Fale sobre os modos de funcionamento do GC: servidor e desktop. Quando usar qual?

140

Fale sobre os modificadores de parâmetros ref, in, out e suas diferenças. O que é readonly ref e ref readonly?

132

Uma tarefa de um colega foi atribuída a si para revisão de código Que problemas vê no código? ```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); } } } } ```

130

Questão com strings: o que será exibido? Como é sobrecarregado o operador == para strings? O que é o pool de internamento de strings?

127

Explique como a memória é alocada na pilha e no heap. Os tipos de valor são sempre colocados na pilha?

126

Tarefa com LINQ: o que será exibido? Qual é o tipo da variável query? Qual é a diferença entre IEnumerable e IQueryable?

126
/2