Quais padrões de design você usa com mais frequência no seu trabalho?
C#
Qual é a diferença entre uma classe abstrata e uma classe normal?
Que ferramentas em C# permitem estender ou alterar o comportamento de um método sem modificar a classe original?
Como é que você usa o padrão Singleton na arquitetura de plugins? Como organizar a relação entre os plugins?
Como organizar a execução de um método de teste várias vezes com argumentos diferentes sem usar atributos?
Como pode ser implementado que uma classe base não dependa de subclasses? Como fazer a classe base saber da existência de subclasses?
Como entende o princípio Aberto/Fechado? A classe está fechada para modificações, mas aberta à extensão — o que isso significa?
Se falamos de C#, é possível fazer uma sobrecarga de método para expandir o comportamento?
O que é um fluxo? Como você o entende?
Como transferir o trabalho do tempo de execução para a fase de compilação? Por exemplo, como é feito no System.Text.Json?
O que é o padrão Fachada? Fale sobre ele brevemente.
Quais palavras-chave no método permitem sobrescrevê-lo em C#?
Como criar um atributo personalizado em C#?
O async/await funciona sempre numa thread separada? De onde vêm as threads?