Perguntas para entrevista de C# e .NET
Está realizando ou participando de um processo seletivo que envolve C#? Então você precisa responder estas perguntas!
Recrutamento e Seleção
Há um tempo atrás eu publiquei um vídeo que deu uma ótima repercussão. Nele eu cometei algumas perguntas que faria para desenvolvedores júnior, pleno e sênior em um processo seletivo de .NET.
Sugiro que assista este vídeo antes de prosseguir com as perguntas, até para entender a motivação por trás delas!
Saiba o básico
Todas as perguntas abaixo são sobre os fundamentos do C#, sobre a base, e muitos desenvolvedores confundem isto, achando que o fundamental é muito básico e pulando esta parte.
Não pule o básico! Os fundamentos são a base para você construir algo sólido, para aprender novas tecnologias de forma mais rápida e eficiente, para aderir a algo novo com mais facilidade.
Curso completo de C#
Para você ter uma ideia, este vídeo repercutiu tanto que decidi revisitar os fundamentos do C# e criar um novo curso, passando por toda base necessária.
Para minha surpresa, o curso completo tem 14 módulos, 140 aulas e mais de 12 horas de conteúdo, e olha que eu sou bem direto ao ponto, quem já fez algum curso comigo, sabe disso.
Carreira .NET
Claro que após os fundamentos ainda tem muita coisa a ser consolidada, como OOP, SOLID, Clean Code, Clean Architecture, e caso precise de algum amparo neste sentido, você pode recorrer a nossa carreira .NET.
Ao total são 6 cursos (Incluindo o anterior) com mais de 38 horas de duração, focado apenas em backend. Isto vai te dar uma base para criar APIs robustas e escaláveis, já prontas para nuvem.
Eu já sei o básico?
Bom, tem uma forma legal de descobrir isto, respondendo as perguntas abaixo! Se você for bem na maior parte delas, parabéns, você tem uma ótima base em C#!
Caso contrário, você precisa revisar os conceitos, mas fica tranquilo que não tem nada demais nisso, é plenamente normal!
Perguntas
O C# é uma linguagem compilada, tipada e gerenciada, o que isto significa?
Explique como o C# funciona
O que diferencia uma linguagem compilada de uma interpretada?
O que é o CLR?
O que é IL?
O que é um Framework?
O que é o .NET?
O que é o .NET Standard?
Explique o que é versão semântica
O que significa LTS na versão do software?
O que é um Runtime?
O que é um SDK?
O que é um CLI?
Cite 3 tipos de projetos que temos no .NET
O que é uma Solution?
Qual comando para executar uma aplicação .NET?
Qual comando para compilar uma aplicação .NET?
Qual comando para publicar uma aplicação .NET?
Qual nome do método principal de um Console App?
O que significa Debug?
Como executamos uma aplicação .NET em modo Debug?
Qual a finalidade da pasta Properties?
Qual a finalidade das pastas Bin e Obj?
Quais partes compõe um programa em C#?
O que são Namespaces?
Qual a finalidade do Using?
Qual a diferença entre uma variável e uma constante?
Cite 3 nomes reservados que temos no C#
Quais formas temos de comentar código em C#?
O que são tipos primitivos?
Qual tipo base no .NET?
Dado um
varde um número real, qual tipo seria o var?Dado um
varde um número inteiro, qual tipo seria o var?Qual a diferença entre char e string?
Qual valor padrão do tipo char?
Qual a diferença entre
vareobject?O que são tipos nulos?
O que são alias? Cite 3 exemplos
O que são conversões implícitas?
O que são conversões explícitas?
Qual a diferença entre
parseeConvert?O que são operadores aritméticos e quais temos no C#?
O que são operadores de atribuição e quais temos no C#?
O que são operadores de comparação e quais temos no C#?
O que são operadores lógicos e quais temos no C#?
Cite duas estruturas condicionais que temos no C#
Cite duas estruturas de repetição que temos no C#
Qual a diferença entre
whileedo/while?Como definimos que um método não retorna valor algum?
Podemos ter métodos sem parâmetros no C#?
Como tornamos um parâmetro opcional no C#?
O que são
heapestack?O que são tipos de valor e tipos de referência?
Onde são armazenados os tipos de valor?
Onde são armazenados os tipos de referência?
O que são Structs?
O que são enumeradores?
O que é um GUID?
O que é interpolação de String?
Qual a finalidade do método CompareTo?
Qual a finalidade do método Contains?
Qual a finalidade do método StartsWith e EndsWith?
Qual a finalidade do método Equals?
Qual a finalidade do método IndexOf e LastIndexOf?
Qual a finalidade do método ToLower e ToUpper?
Qual a finalidade do método Insert?
Qual a finalidade do método Length?
Qual a finalidade do método Remove?
Qual a finalidade do método Replace?
Qual a finalidade do método Split?
Qual a finalidade do método Substring?
Qual a finalidade do método Trim?
O que é StringBuilder e quando devemos utilizar?
O que é Regex e quando devemos utilizar?
O que é o DateTime?
Como obtemos a data de hoje no C#?
Como convertemos uma data para String?
Como comparamos duas datas em C#?
Como podemos obter o ano, mês ou dia no C#?
Como podemos obter o último dia do mês no C#?
Podemos criar datas nulas?
O que são nullable types?
O que é Timezone?
Como obtermos a data sem um Timezone no C#?
O que é DateTime Offset?
O que é um TimeSpan?
Qual a finalidade do Math.Round, Math.Celling e Math.Floor?
Qual a diferença entre IEnumerable, IList e ICollection?
Qual a diferença entre List e IList?
Qual a finalidade do método Add e AddRange em uma lista?
Qual a finalidade do método Clear em uma lista?
Qual a finalidade do método Contains em uma lista?
Qual a finalidade do método CopyTo em uma lista?
Qual a finalidade do método Exists em uma lista?
Qual a finalidade do método Find e FindAll em uma lista?
Qual a finalidade do método IndexOf e LastIndexOf em uma lista?
Qual a finalidade do método FindIndex, FindLast e FindLastIndex em uma lista?
Qual a finalidade do método Insert e InsertRange em uma lista?
Qual a finalidade do método Remove, RemoveAll, RemoveAt e RemoveRange em uma lista?
Qual a finalidade do método Reverse em uma lista?
Qual a finalidade do método Sort em uma lista?
Qual a finalidade do método ToArray em uma lista?
Qual a finalidade do método TrueForAll em uma lista?
Qual a finalidade do método ConvertAll em uma lista?
Qual a finalidade do método ForEach em uma lista?
Qual a finalidade do método Where em uma lista?
Qual a finalidade do método First em uma lista?
Qual a finalidade do método OrderBy em uma lista?
Qual a finalidade do método Sort em uma lista?
Qual a finalidade do método Select em uma lista?
Qual a finalidade do método Convertendo Listas em uma lista?
O que são Classes e Objetos?
O que é uma instância?
O que são Propriedades?
O que são Métodos construtores?
O que é o Garbage Collector?
O que é Object Dispose?
Defina os modificadores public, private e protected
O que são objetos estáticos?
O que é Herança?
O que é Upcast e Downcast?
O que são Interfaces?
O que são Classes abstratas?
Qual a finalidade das Classes seladas?
O que é Sobrecarga de métodos?
O que é Sobrescrita de método?
Como podemos Comparar dois objetos no C#?
Qual a finalidade do Dispose?
O que é Encapsulamento?
O que é Polimorfismo?
O que são Tipos complexos?
O que são Delegates?
O que são events?
Qual a diferença entre Events e Delegates?
O que são os generics?
Como restringimos um tipo genérico?
Como tratamos erros no C#?
Qual a finalidade do finally?
Para que serve o Try/Parse?
O que são Tasks?
Para que serve async/await?
Qual a diferença entre Task.FromResult e o uso de await?
Para que usamos a interface IEquatable?
Para que usamos a interface IComparable?
Quando utilizamos a interface IDisposable?
O que são Extension methods?
Conclusão
Conte para nós o que achou das questões, se por acaso já se deparou com elas em entrevistas e especialmente como você as responderia. Conte para nós na nossa comunidade no Discord.