b3t6 - .NET Flashcards

1
Q

Cuál es la versión del último framework de .net que publicó Microsoft y en qué año?

A

4.8 en 2019

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qué es el CLR de .NET?

A

Common Language Runtime → Es equivalente al JRE de java, o a la máquina virtual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qué tiene el CLR?

A

<ul><li>Librerías de clases base</li><li>Soporte de hilos</li><li>Garbage collector</li><li>JIT Compiler (Just In Time Compiler) → Compilación en tiempo de ejecución. Optimiza porque traduce el código bytecode al código máquina nativo</li><li>Exception Manager</li><li>…</li></ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qué es el bytecode

A

<span>El </span><strong>bytecode</strong><span> es un </span><a>código intermedio</a><span> más abstracto que el </span><a>código máquina</a><span>. Habitualmente, es tratado como un archivo </span><a>binario</a><span> que contiene un programa </span><a>ejecutable</a><span> similar a un módulo objeto, que es un archivo binario producido por el </span><a>compilador</a><span> cuyo contenido es el </span><a>código objeto</a><span> o código máquina .</span>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qué es el JIT que hay en algunas máquinas virtuales

A

Just In Time Compiler: Es la herramienta que compila en tiempo de ejecución el código bytecode intermedio al código máquina nativo de la máquina virtual antes de interpretarlo, de forma que se optimizan tiempos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qué tiene el .NET Framework, por ejemplo a partir de la versión 2.0 de 2005?

A

CLR (Common Language Runtime)
Framework Class Library: Clases principales como String, las de Utils, etc…
WinForms → Clases interfaces de usuarios basadas en ventanas (botones, …)
ASP.NET → Entorno para hacer aplicaciones web
ADO.NET → Para conectividad con BBDD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qué paquetes de clases se añadieron en .NET Framework 3.0 y que prácticamente no se usan?

A

<ul><li>WPF → Windows Presentation Fundation</li><li>WCF → Windows communication fundation → Poder crear servicios web. Integración</li><li>WWF → Windows Workflow fundation → Para crear flujos, con una herramienta visual</li></ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qué leguajes soporta .NET Framwork

A

c#f#vb.net

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qué dos importantes funcionalidades se incluyen en .NET Framework 3.5 relacionadas con la bbdd?

A

LINQ (Language Integrated Query) → Te abstrae del tipo de BBDD
EntityFramework → Herramienta ORM como NHibernate de .NET también o las JPA de java (Hibernate, TopLink, OpenJPA)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qué es el paquete de clases WPF de .NET Fw incluido en el 3.0?

A

<ul><li>WPF → Windows Presentation Fundation</li></ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qué es el paquete de clases WCFde .NET Fw incluido en el 3.0?

A

<ul><li>WCF → Windows communication fundation → Poder crear servicios web. Integración</li></ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qué tres tipos de lenguajes se usan desde que se desarrolla el un programa hasta que se ejecuta?

A

<ol><li>Código <strong>fuente</strong>.</li><li>Un compilador lo compila a <strong>bytecode</strong></li><li>El JIT compiler del CLR lo traduce a código <strong>máquina nativo</strong></li></ol>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qué es el CIL de .NET Framework

A

Common Intermediate Language. El nombre que le puso Microsoft al código “bytecode”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cómo se llamaba el CIL antes de llamarse así?

A

<ul><li>MSIL → Microsoft Intermediate Language</li></ul>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cómo se llama el proceso de empaquetado<strong> ficheros de código CIL </strong>en formato de .dll y .exe que se despliega en la máquina virtual en .NET Framework? sería similar al JAR de java

A

Assembly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qué sería el equivalente .NET Framework de un JAR? y qué contiene

A

Son los ensamblados .dll y .exe, que contiene archivos CIL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Qué concepto .NET sería el equivalente al ClassPath de Java?

A

GAC: Global Assembly Cache → Ruta global con ensamblados registrados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Tres implementaciones de frameworks de .NET hay en Linux?

A

MONO → Es opensource
.NET Core
DotGNU Portable.NET

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Cómo se llama la implementación de Microsoft de un framework de .NET?

A

.NET Framework

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Las versiones del CLR se corresponden con las del Framework?

A

No siempre. Por ejemplo la v3.0 del framework tiene versión 2 de CLR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Qué dos reglas debe cumplir cualquier lenguaje que quiera ser compatible con lenguaje .net (CIL), definidas en la ECMA 335?

A

CLS (Common Language System)CTS (Common Type System)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Dónde estaba y dónde está ahora situado el GAC en Windows?

A

Antes → c:\windows\assemblyAhora → c:\windows\Microsoft.Net\assembly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Qué código ECMA es la especificación de la plataforma .NET?

A

ECMA 335

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Qué es el estándar ECMA 334?

A

Es la especificación que estandariza el lenguaje C#

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Qué es el ECMA 335 (llamado Common Language Infrastrcture - CLI)
Es la estandarización de toda la plataforma .NET (CIL, 
26
Qué es el CLI?
Common Language Infrastructure → Especificación ECMA 335 que estandariza toda la plataforma .NET
27
Qué es .NET Core y en qué año surge?
Framework multiplataforma y opensource bajo licencia MIT que lanza Microsoft, que liberaliza parte del producto propietario y no multiplataforma .NET Framework.Lo lanza en 2016
28
Qué es el producto .NET, a secas? Qué año surge y con qué versión inicia? Por qué versión va?
A nivel de producto se funde la línea .NET Framework (propietario Microsoft) y .NET Core (opensource)Empieza por .NET 5 en 2020En 2022 va por la .NET 7En 2023 está proyectada la versión .NET 8
29
Qué versión de .NET está proyectada para 2023?
.NET 8
30
Qué diferencia hay entre los siguientes frameworks?.NET FrameworkMONO.NET Core.NET.NET STANDARD 2.0
.NET Framework → Propietario de Microsoft, con el que se inicia la plataformaMONO → Versión opensource para Linux.NET Core → Versión opensource lanzada por el mismo Microsoft.NET → Unificación de .NET Framework y .NET Core.NET STANDARD 2.0 → Estandarización de las clases base entre los distintos frameworks
31
Qué es el framework Xamarin?
Framework .NET basado en MONO, que sirve para móviles
32
Qué es .NET STANDARD 2.0?
Estandarización de las clases base entre los distintos frameworks de .NET
33
Qué es la herramienta dotnet?
Herramienta de línea de comandos, incluida en .NET Core que sirve para desarrollar, equivalente a un IDE de desarrollo
34
Qué dos herramientas están incluidas en dotnet para la construcción de proyecto y gestión de dependencias?
msbuild: Automatizar la construcción del proyecto. nuget:  Gestión de dependencias.  Estas dos cosas combinadas sería similar a maven en java o npm en js 
35
nuget y msbuild se pueden usar fuera de dotnet?
36
Qué hace la herramienta new de dotnet?
Crear un proyecto dotnet
37
Qué hace la herramienta add de dotnet?
Para añadir o actualizar un paquete en un proyecto dotnet
38
En vb.net, para qué son estas palabras reservadas? Class Inherit Implements EndClass NotInheritable Module
Class → Declarar una clase Inherit → Definir de qué clase hereda otra. Como Extends en java Implements → Definir qué interfaz implementa una clase NotInheritable → La clase no se puede heredar. Como Final en java End Class → Para finalizar la declaración de una clase Module → es un conjunto de funciones, es algo fuera del orientado a objetos, no se puede heredar, etc …
39
En qué consiste el concepto y palabra reservada Property en vb.net?
Declarar como Property una variable permite que por debajo se haga el getter y el setter sin poner get y set al trabajar con ella.
40
Qué representan estas palabras reservadas en vb.net? namespaces Imports Sub Function Delegate New Finalize Using 
namespaces → similar a package en java Imports → Para importar librerías de otros paquetes Sub → método que no devuelve valor, un procedimiento Function → método que sí devuelve valor, una función Delegate → Puntero a función new → Para crear objetos Finalize → destructor Using → para definir un bloque en el que se liberen automáticamente recursos (ficheros abiertos, conexiones, …)
41
Qué clases de ADO .NET se usan para Para definir la conexión Para definir la sentencia sql Para leer los registros resultantes Estructura que contiene todos los registros resultantes y se puede usar desconectado de la bbdd. Puede guardar 1 o varias tablas 
SqlConnection → Para definir la conexión SqlCommand → Para definir la sentencia sql SqlDataReader → Para leer los registros resultantes DataSet → Estructura que contiene todos los registros resultantes y se puede usar desconectado de la bbdd. Puede guardar 1 o varias tablas 
42
Cómo se convierte una fecha en texto a una fecha en C#
En C#, puedes utilizar el método DateTime.Parse() o DateTime.ParseExact() para convertir una cadena de texto a un objeto de tipo DateTime que representa una fecha. string dateString = "2023-06-16"; DateTime date = DateTime.Parse(dateString); En java ahora se usa el objeto LocalDate String dateString = "2023-06-16"; LocalDate date = LocalDate.parse(dateString);
43
Cómo se formatea una fecha en c#
string dateString = "16/06/2023"; DateTime date = DateTime.ParseExact(dateString, "dd/MM/yyyy", CultureInfo.InvariantCulture); En java se usa el objeto DateTimeFormatter String dateString = "16/06/2023"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); LocalDate date = LocalDate.parse(dateString, formatter);
44
A qué se semeja en java el ADO.NET?
Con JDBC. Gestiona conexiones de bbdd a bajo nivel
45
A qué se semeja en java el EntityFramework?
Es un ORM similar a lo que sería Hibernate en Java, una implementación de la especificacion NPersistance de .NET, que a su vez es el equivalente de JPA de java
46
Qué elemento de ADO.NET rellena los Dataset desconectados?
El DataAdapter
47
En qué espacio de nombres de .NET está el DataEntity?
System.Data.Entity
48
Para qué sirve WEB FORMS de .NET?
Es modelo de aplicaciones web que siempre empieza por páginas .aspx 
49
Qué contiene una “página” de WEB FORMS .net?
HTML + etiquetas de servidor “asp” ( …)Code-Behind (métodos que responden a eventos del usuario sobre la página)  
50
La “página" de WEB FORMS de .NET, de qué clase hereda? Concretamente el fichero de Code-Behind
De System.Web.UI.Page. Esto hace que herede los métodos del ciclo de vida que se pueden sobreescribir, como…PageRequestStartPage initializationLoadValidation… 
51
Cuál es el modelo de aplicación .NET que se basa en que el flujo comience con un controlador reciba la llamada http y que coordina las llamadas al negocio y la invocación a la vista a mostrar posteriormente?
MVC
52
Cuál es en .NET el equivalente al web.xml donde se configuran los servlets en JEE?
El web.config
53
Cuál es el modelo de aplicación .NET que se basa en que el flujo en páginas aspx y una equivalente aspx.vb o aspx.cs? 
WebForms Otras extensiones son aspx -> página webforms asmx -> servicios web soap ashx -> Manejadores http
54
Un producto típico de MVC .NET, que implementa vistas como si fuesen plantillas… y que s una sintaxis de programación usada para crear páginas web dinámicas.
Razor
55
Los dos componentes principales de ADO.NET para el acceso a los datos y su manipulación son
.NET Framework Data Providers -> para conectarse a distintos orígenes de datos y ADO.NET DataSet -> conjunto de datos en memoria
56
De qué clase hereda en ASP.NET MVC un controlador?
System.Web.MVC.Controller
57
A qué es equivalente de JEE el ASP.NET WebApi?
A jax.rs para servicios REST
58
Como se llaman en C# o vb a lo que son las anotaciones o notations de Java?
Atributos
59
Cómo se expresan los atributos (las anotaciones) en C#? y en VB?
C# → Con corchetesVB → Con < >
60
Qué es ASMX en .NET?
Es para trabajar con servicios web SOAP
61
En WebAPI de .net, cómo se convierte una clase en un servicio REST?
Heredando de ApiController
62
En WebAPI de .net, cómo se convierte una clase en un servicio SOAP?
Heredando de WebService
63
Cuál es la versión mayor del CLR de .NET?
La version del CLR más alta es la 4.0 (las versiones de CLR no va correlativas a las version del FW)
64
En .NET, ¿como se denomina al bytecode generado por el csc.exe por ej? ¿Que es un ensamblado y que tipos hay?
1.- Codigo CIL2.- Es el empaquetado fisico del CIL junto con Metadatos,recusos,etc (forma de .exe o .dll)
65
Qué es el VES en .NET?
Virtual Execution System: Es la especificación de la máquina virtual. El CLR sería una implementación concreta de VES
66
Qué hace la instrucción gacutil -i gac_lib.dll?
Instala en la gac esa librería
67
Qué tres elementos de programación tiene vb.net?
Class Structure -> Parecido a una clase, pero se pasa a los métodos por valor, no por referencia Module -> Son como clases con funciones, que tienen solo una instancia, que no permiten herencia ni implementan interfaces. Viene de versiones antiguas de vb
68
Palabras reservadas de vb.net Inherit MustInherit NotInheritable Overridable Partial Properties Atribute Field (no es palabra reservada, sino un concepto) New
Inherit -> hereda, como el Extends en java MustInherit -> debe heredar NotInheritable -> Clase que no se puede heredar -> como el final de java Overridable -> Método que se puede sobreescribir MustOverride -> Se debe sobreescribir NotOverridable -> Método que no se puede sobreescribir -> final en java Partial -> Una clase en varios archivos Properties -> Tb existe en c#. Sirve para poder acceder al valor sin usar getter y setter Atribute -> Es como una anotación en Java Field -> lo que a Java es un atributo de una clase o un objeto New -> Constructor, lo que en java se expresa con el nombre de la clase
69
Qué son las siguientes estructuras de programación o palabras reservadas en C#? Enum virtual sealed Record Interface : Shared (en vb.net)
enum -> enumerado virtual -> declaramos que un método puede ser sobreescrito usando “override” sealed -> declaramos que un método NO PUEDE ser sobreescrito o que una clase NO PERMITE que nadie herede de ella, como final en java Record Interface : -> en sustitución de la palabra Implements, al decir que se implementa una interfaz o inherits al heredar de una clase Shared -> atributo static
70
¿Con que palabra se define un metodo abstracto en C#? ¿y en VB.NET?
En c# usamos abstract y en VB.Net MustOverride (métodos) /MustInherit (clases)
71
¿Para que nos sirve el modificador new en la declaración de un método en c#?
Para especificar en una clase hija que en lugar de sobreescribir un metodo del padre estamos creando un metodo nuevo (aunque tenga el mismo nombre)
72
Tres equivalentes de JUnit en .Net?
NUnit xUnit.net csUnit
73
En dotnet, qué fichero equivale a pom.xml de maven?
proyecto**.csproj**
74
En dotnet, cuáles son las etiquetas equivalente a dependencies del pom.xml donde se especifica la dependencia?
PagckageReferece
75
De qué tres formas podríamos añadir en un proyecto .NET una dependencia de un ensamblado externo?
dotnet -> dotnet add package NUnit --version 3.13.3 NuGet -> NuGet\install-Package NUnit -Version 3.13.3 Paket -> paket add NUnit --Version 3.13.3 Añadiendo la referencia manualmente en el .csproj -> < PackageReference Include ="NUnit" Version="3.13.3" />
76
Cómo se llama el módulo que hay que instalar en el servidor web de Microsoft "Microsoft IIS" para poder interpretar páginas con código .asp?
APSNet runtime
77
En una aplicación .net con WebForms, cuál es el fichero equivalente al web.xml de JEE? Y un fichero que sirva para hacer unas tareas iniciales al arrancarla?
Web.config Global.asax
78
Básico VB
- Inherits -> herencia - MustInherit -> Para hacer clases abstractas - Implements -> interfaces - Overridable -> se pone en un método para que los hijos puedan sobreescribirlo, si no no pueden - MustOverride -> se pone en un método para hacerlo abstracto y que los hijos tengan que implementarlo - Overrides -> Se pone en un método que está implementando un método abstracto del padre - NotOverridable -> Se pone en un método para hacerlo final - Los constructores de clase -> Public Sub New (...) - Equivalente a this. y super. -> **Me.** y **MyBase.** Las clases se declaran en dos líneas: en una línea una parte y las interfaces se implementan en la siguiente -> Public Class Director Inherits Empleado
79
Básico C#
Importaciones -> con using ..clase o using static ..clase. Si lo haces stático te puedes ahorrar referenciar a la clase más adelante para acceder a un método estático suyo. namespace -> equivalente al paquete Clases - sealed -> clase final - las interfaces se ponen tras dos puntos : -> public sealed class Cliente : Persona,IRecurso - El constructor es como en java, es public NombreClase (....) : base (...) . Al ponerle : base estamos llamando al constructor del padre - virtual: si no se pone virtual a un método, no deja sobreescribir en los hijos-> public virtual void informe(){}. Indica que se puede sobreescribir pero no es obligatorio, similar a Overridable en VB - abstract: como java, obliga a sobreescribir modificardor new de c# public new void cerrar(){...} --> le estás diciendo que aunque se llame igual que un método cerrar() de la clase padre, es OTRO método cerrar, no estás sobreescribiendo. OJO: si se estuviese haciendo polimorfismo creando un objeto de la clase hija, pero declarándolo como la padre, si se llama al método cerrar() coge el del padre!, porque la clase que se ha puesto es la del padre! -> Proyecto p2 = new ProyectoOpensoruce(); p2.cerrar() ------> no es el de ProyectoOpensource sino el de Proyecto!! Si no se pone new, sí que aplica el polimorfismo y cogería el de ProyectoOpensource
80
Repasar los laboratorios de Java, c# y VB y hacer un tríptico comparativo de cada parte
81
En .NET, en las hashtables qué hacen estas tres properties? keys count values
count -> nº de pares clave-valor incluídos keys -> obtiene una interfaz ICollection que contiene las claves values -> obtiene una interfaz ICollection que contiene los values
82
Importante para el segundo ejercicio: ver como se manejan cadenas, fechas y colecciones en java, c# y vb (fechas más en java)
83
Cómo es la jerarquía de colecciones en C#?
// La jerarquia de herencia de las clases/interfaces de coleccion es: // 1. IEnumerator (metodos MoveNext, Current y Reset) // 2. IEnumerable (metodo GetEnumerator) // 3. ICollection (metodos Count,Contains,Add,Remove,Clear,CopyTo(array),...) // 4.- IList(metodos IndexOf,Insert,RemoveAt y un Indexer), IDictionary, ... MIRAR ESTO BIEN EN EL LABORATORIO PORQUE HAY MÁS!
84
Cómo se crea un array primitivo en C#? Cómo se mira la longitud de una colección, un string y un array en C# Cómo sería en java?
Crear array primitivo int[] numeros = new int[] { 10, 20, 30, 40, 50 }; Es exáctamente igual que en java Colecciones -> propiedad Count int cantidad = numeros.Count; En java sería .size() String -> propiedad Lenght int longitud = texto.Length; En java sería método .length() Arrays -> propiedad Lenght int longitud = numeros.Length; En java sería propiedad .length
85
Cómo se añaden elementos a una colección en C#? y en java?
.add() Como en java.
86
Cuál es el compilador de C#, equivalente a javac?
csc (c sharp compiler)
87
Qué es Kestrel?
Servidor web opensource **multiplataforma** para aplicaciones ASP.NET (se usa en linux y mac, que no hay IIS)
88
Cómo se formatea una fecha en c#
89
Cómo se mira la longitud de una colección, un string y un array en C#
90
Una biblioteca para crear aplicaciones ligeras y extensibles para .NET.
MEF Managed Extensibility Framework