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.
- 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.
- 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.
Comentários
Postar um comentário