P
prepair.app
Começar entrevista →
EnglishУкраїнськаРусскийDeutsch
🟣

Junior .NET Backend DeveloperPerguntas de entrevista .NET

Junior · sem experiência / menos de 1 ano

As entrevistas de .NET transitam entre C# como linguagem e o runtime por trás dele — o CLR, o GC, como o async/await realmente funciona — antes de chegar ao ASP.NET Core e ao Entity Framework Core, onde vivem a maioria das perguntas práticas. Aqui estão as perguntas mais frequentes, cada uma com uma resposta modelo. Junior: teoria básica, definições e casos práticos simples.

Experimente — sem necessidade de conta
Preparando sua pergunta…

Temas para se preparar

Tipos do C#, LINQ e nullable reference types
Async/await e o modelo Task
CLR, JIT e garbage collection
ASP.NET Core: middleware e dependency injection
Entity Framework Core e performance de consultas
Testes com xUnit/Moq, Docker e deploy em nuvem

6 perguntas de nível Junior com respostas

1

Qual é a diferença entre value types e reference types em C#?

Resposta

Um value type (struct, int, bool, enum) guarda seus dados diretamente e é copiado na atribuição; um reference type (class, string, arrays) guarda um ponteiro para a heap, e na atribuição o ponteiro é copiado, não os dados. Passar uma struct para um método e modificá-la dentro dele só muda a cópia, a menos que você a passe por ref.

2

O que são boxing e unboxing?

Resposta

Boxing envolve um value type num objeto da heap para que possa ser usado como object — por exemplo, passar um int para uma coleção não genérica como ArrayList. Unboxing converte de volta para o value type. Cada box é uma alocação na heap, por isso coleções genéricas como List<int> são preferidas — elas nunca fazem boxing.

3

Qual problema os nullable reference types resolvem?

Resposta

Eles permitem que o compilador distinga string ("nunca null") de string? ("pode ser null") e avise quando você desreferencia um valor nullable sem checar antes. É uma dica em tempo de compilação, não uma garantia em tempo de execução, mas pega uma boa parte dos bugs de NullReferenceException antes mesmo do código rodar.

4

Qual é a diferença entre `try/catch/finally` e o statement `using`?

Resposta

finally sempre roda, tenha sido lançada uma exceção ou não, por isso é onde você coloca código de limpeza manualmente. using é uma forma abreviada de um try/finally que chama Dispose() num objeto IDisposable — um handle de arquivo, uma conexão de banco —, garantindo que seja liberado mesmo que o código dentro lance uma exceção.

5

O que `Where`, `Select` e `OrderBy` fazem no LINQ?

Resposta

Where filtra uma sequência por um predicado, Select projeta cada elemento numa nova forma, e OrderBy a ordena. Eles podem ser encadeados — list.Where(x => x.Active).Select(x => x.Name).OrderBy(n => n) —, e nenhum deles roda antes do resultado ser enumerado, que é o comportamento de execução adiada sobre o qual o LINQ é construído.

6

O que é dependency injection, e como o ASP.NET Core o fornece?

Resposta

Em vez de uma classe criar suas próprias dependências com new, elas são fornecidas de fora — geralmente pelo construtor —, o que torna a classe testável e substituível. O ASP.NET Core vem com um container embutido: os serviços são registrados no Program.cs com AddScoped, AddTransient ou AddSingleton, e o framework os resolve e injeta onde forem solicitados.

🦎

Só ler as respostas não basta

Numa entrevista de verdade você fala sob pressão. O Cam faz essas mesmas perguntas, avalia cada resposta e mostra exatamente o que melhorar.

Praticar entrevista de Junior .NET Backend Developer →
Grátis · 3 entrevistas por mês

Outros níveis — .NET Backend Developer

Middle .NET Backend DeveloperSenior .NET Backend DeveloperTodas as perguntas de .NET Backend Developer

Outras especializações

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🔷Junior C++🟨Junior JavaScript