Entrevista sobre C# (.NET): 200 perguntas e respostas
Entrevista sobre C# (.NET): 200 perguntas e respostas
Resumo:
O livro «Entrevista sobre C# (.NET): 200 perguntas e respostas» é um guia prático para desenvolvedores que se preparam para uma entrevista técnica para vagas de desenvolvedor Júnior e Pleno C#/.NET. Em vez de artigos dispersos e colas aleatórias, você recebe uma coleção estruturada de perguntas reais que são mais frequentemente feitas em entrevistas em empresas de TI russas e internacionais.
O livro é construído no princípio de "pergunta-resposta" e abrange todos os tópicos-chave do ecossistema .NET:
- Fundamentos de C# e .NET: tipos de dados, Boxing/Unboxing, gerenciamento de memória, Garbage Collector, pilha e heap.
- Programação Orientada a Objetos (POO): encapsulamento, herança, polimorfismo, classes abstratas, interfaces, SOLID.
- LINQ e coleções: execução adiada, diferença entre IEnumerable e IQueryable, métodos Select, Where, GroupBy, Join.
- Programação assíncrona: async/await, Task, ValueTask, SynchronizationContext, fluxos assíncronos, problemas de deadlock.
- Multithreading e paralelismo: Thread, ThreadPool, Task Parallel Library (TPL), bloqueios, lock, Monitor, Semaphore, coleções Concurrent.
- ASP.NET Core e Web API: Middleware, Dependency Injection, ciclo de vida dos serviços (Singleton, Scoped, Transient), filtros, atributos, Swagger.
- Entity Framework Core: Code First, migrações, Lazy Loading vs Eager Loading, problema N+1, configuração de relacionamentos, desempenho de consultas.
- Testes e depuração: Testes unitários, Moq, xUnit, NUnit, TDD, mocks e stubs.
- Padrões de projeto: Singleton, Factory, Repository, Unit of Work, Strategy, Observer — com exemplos em C#.
Para quem é este livro:
- Desenvolvedores Júnior que desejam sistematizar conhecimentos e passar com confiança na primeira entrevista.
- Desenvolvedores Pleno que buscam aprofundar a compreensão da arquitetura .NET e se preparar para uma promoção.
- Estudantes e graduados de cursos que planejam entrar na área de TI através de C# e .NET.
O que você aprenderá após a leitura:
- Como responder a perguntas complicadas sobre o Garbage Collector e gerenciamento de memória.
- Qual a diferença entre async/await e o multithreading clássico e quando usar cada um.
- Como projetar corretamente a arquitetura de uma Web API considerando Dependency Injection e Middleware.
- Quais padrões de projeto são realmente necessários no desenvolvimento do dia a dia.
- Como evitar erros típicos em entrevistas (N+1, deadlock, race condition).
O livro é escrito em linguagem simples, contém exemplos de código e explicações do "porquê assim e não de outra forma". Não é teoria seca, mas um diálogo vivo com o leitor, onde cada resposta pode ser aplicada imediatamente na prática.
Nota: o livro é focado no .NET 6/7/8, mas a maioria dos conceitos também se aplica a versões mais antigas.