Validando Fundamentos

20/145 = 13,79%

    Como eu decidi concentrar os meus esforços no estudo do ecossistema .NET focado no backend e aplicações Web eu encontrei a plataforma balta.io, que recomendo fortemente para os estudantes de programação, o seu CEO André Baltieri consegue sintetizar conteúdo, linha de aprendizagem, propriedade e simplicidade em todos os seus cursos. A preocupação dele em acompanhar e disseminar a formação de novos desenvolvedores de software é nítida e vocacional.

    Partindo desse princípio, após fazer o seu curso de fundamentos do C#, que por sinal é gratuito, eu irei documentar nesses próximos textos todas as perguntas e respostas que obtive através da minha pesquisa a respeito dos fundamentos do C#. Tenho como principal interesse validar os meus conhecimentos e me preparar para futuros processos que envolvam a carreira backend .NET.

    Pode parecer um texto cansativo e longo, mas o usei como uma sabatina para aprender o seu conteúdo. O trabalho que me inspirou a fazer esse exercício foi o artigo na plataforma balta.io que possui uma série de 145 perguntas sobre os fundamentos do .NET, consequentemente o C#.

1) O C# é uma linguagem compilada, tipada e gerenciada, o que isto significa?

A linguagem compilada significa escrever um código em uma linguagem mais entendível e esse código é transformado em linguagem de máquina (binária). O C# é considerado uma linguagem tipada ou fortemente tipada porque ela obriga a especificar o tipo de informação atribuída a uma variável, proporcionando menos liberdade e mais otimização do sistema. E por fim, o C# é uma linguagem gerenciada porque a sua execução depende de um gerenciador Runtime que se chama CLR Runtime (Common Language Runtime), um gerenciador que automaticamente cuida da memória, segurança, entre outros recursos básicos. 

2) O que diferencia uma linguagem compilada de uma interpretada?

A linguagem compilada consiste em receber um arquivo de texto e convertê-lo para binário. Já a linguagem interpretada consiste em arquivos de texto puro e são lidos, não convertidos em binário, essa interpretação é feita em tempo real (Tempo de execução). 

3) Explique como o C# funciona?

C# é uma linguagem de programação fortemente tipada e de alto nível, ou seja, todas as suas variáveis obrigatoriamente devem ser precedidas do seu tipo. Uma linguagem que possui como principal característica elementos como classes e objetos. Classes são a criação de modelos que chamamos de entidades e objetos é a utilização desses modelos em tempo de execução. Ela possui uma vasta quantidade de Bibliotecas e frameworks, gerenciador automático de memória e recursos de segurança. 

4) O que é CLR?

Common Language Runtime; É o ambiente de execução e gerenciamento de tempo de execução da plataforma. Oferece resposta á várias linguagens compatíveis com o .NET. Possui complicação JIT (conversão da IL para binário), gerenciamento de memória, alocação inteligente, segurança e tratativa de exceções. 

5) O que é IL?

Intermediate Language; Os códigos são escritos em diversas linguagens de programação compatíveis com o .NET. O CLR recebe o código da IL que traduz para o binário. O gerenciamento da compilação passa pela IL, depois para o Runtime e para o código final, em resumo.

6) O que é um Framework?

Framework é uma estrutura, um conjunto de bibliotecas reunidas e utilizadas para não precisar escrever um arquivo do zero. A utilização de um código criado e já testado.

7) O que é .NET?

.NET é um framework criado pela Microsoft compatível com o Windows. Uma plataforma de desenvolvimento que permite criar aplicações utilizando linguagens e o ecossistema da Microsoft, permitindo a criação de projetos de vários tipos, como Api Web, Desktop, Machine Learning, dentre muitos.

8) O que é o .NET Standard?

É um padrão standard que garante que tudo o que for escrito no .NET Framework possa ser executado pelo .NET Core e vice-versa. Não é um framework, é apenas uma definição e garante a escrito de diferentes modelos de aplicações e as mesmas possam ser lidas pelo .NET Framework, .NET Core e Xamarin.

9) Explique o que é versão semântica?

É um sistema de organização e versionamento utilizado no desenvolvimento de software indicando as mudanças e atualizações de um projeto. Dividindo em fases:

  • Alfa: esboço de algum projeto.
  • Beta: versão de testes.
  • Realease Candidate: versão que pode ser a final.
  • Final: versão final. 
Dividido por números e letras:

  • 1° número - Major: trata da versão do sistema.
  • 2° número - Minor: mudanças leves, por exemplo, 1.1 - 1.2
  • 3° número - Patch: correções de bugs, por exemplo, 3.1.2 - 3.1.3.
10) O que significa LTS na versão de software?

Definição para Long Term Support (suporte de longa data). Significa a versão que possui um suporte por mais tempo, ideal para a produção com mais tranquilidade.

11) O que é um Runtime?

Tempo de execução; se trata do período em que um programa permanece em execução, a máquina virtual que gerencia um programa escrito em uma linguagem computacional. CLR - compila para o código de máquina, é algo obrigatório para rodar o código compilado.

12) O que é SDK?

Software Development Kit; Se trata do kit para o desenvolvedor, possuindo tudo o que precisa para executar a aplicação. 

13) O que é um CLI?

Command Line Interface; interface via linha de comando .NET CLI, que é definido pelo comando dotnet no terminal.

14) Cite 3 tipos de projetos que temos no .NET?

  • Class Library - DLL, exemplo de conversão de dados.
  • Console Application - aplicação que roda no terminal, um executável que recebe e retorna dados ao usuário.
  • Projeto Web, ASP.NET web, ASP.NET MVC.
  • Projeto de teste - testes de execução e de unidade.

15) Qual o comando para executar uma aplicação .NET?

'dotnet new console -o {nome do arquivo}'.

16) Qual o comando para compilar uma aplicação .NET?

'dotnet build', verifica se não há erros.

17) Qual o comando para publicar uma aplicação .NET?

'dotnet environment =', seguido do ambiente.

18) Qual é o nome do método principal de um Console App?

O método 'main' é o ponto de entrada de um aplicativo C#.

19) O que significa Debug?

Significa depurar, procurar por algum erro/bug na aplicação. Historicamente o bug era o termo que dava a um inseto que entrava nas válvulas dos antigos computadores e atrapalhavam o seu desempenho.

19) Como executamos uma aplicação .NET em modo Debug?

Acontece quando adicionamos um breakpoint em frente a linha do código e clicamos no símbolo do inseto com play ou pressionado 'ctrl + shift + d'., automaticamente o modo de verificação vai parar no breakpoint e iremos poder visualizar o seu resultado.

Tais perguntas iniciais servem para envolver mais o estudante ao ecossistema .NET.
link para o artigo e plataforma balta.io - https://balta.io/blog/perguntas-entrevista-csharp

































    

Comentários

Postagens mais visitadas deste blog