Fundamentos de .NET y C# Flashcards

1
Q

¿Cuál es la diferencia entre una clase abstracta y una interfaz en C#?

A

Una clase abstracta puede tener implementación, mientras que una interfaz solo define la firma de los métodos. Las clases pueden heredar solo una clase abstracta pero múltiples interfaces.

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

¿Qué es el CLR y cuál es su función en .NET?

A

El CLR (Common Language Runtime) es el motor de ejecución de .NET que gestiona la ejecución de programas .NET, manejo de memoria, seguridad, etc.

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

¿Qué significa que C# sea un lenguaje “managed”?

A

Significa que el entorno de ejecución (CLR) gestiona la memoria, seguridad y otros aspectos del ciclo de vida del objeto.

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

¿Qué es un delegate y para qué se usa?

A

Es un tipo que representa referencias a métodos con una firma específica, comúnmente usado en eventos y callbacks

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

¿Qué es el Garbage Collector (GC) y cómo ayuda en .NET?

A

Es el recolector de basura de .NET, que libera memoria automáticamente eliminando objetos que ya no se usan.

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

¿Cuál es la diferencia entre SqlDataReader y DataSet?

A

SqlDataReader es más rápido y se usa para lecturas hacia adelante solamente. DataSet es más pesado, pero permite trabajar con múltiples tablas y relaciones en memoria.

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

¿Qué es una conexión con using y por qué se recomienda?

A

using asegura que la conexión se cierre automáticamente al salir del bloque, lo cual previene fugas de recursos.

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

¿Cómo manejas las inyecciones SQL en ADO.NET?

A

Usando parámetros (SqlParameter) para evitar concatenar cadenas con los valores directamente.

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

¿Qué es un procedimiento almacenado y cómo se ejecuta desde ADO.NET?

A

Un procedimiento almacenado es un script SQL almacenado en la base de datos; se ejecuta desde ADO.NET usando SqlCommand.CommandType = CommandType.StoredProcedure.

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

¿Cuál es la utilidad del objeto SqlParameter?

A

Para pasar parámetros a los procedimientos almacenados o consultas parametrizadas de forma segura.

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

¿Qué patrón de diseño usas para separar lógica de negocios y acceso a datos?

A

Se recomienda el patrón Repository junto con Unit of Work, para separar lógica de negocios del acceso a datos.

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

¿Qué es el patrón Repository?

A

Un patrón que abstrae el acceso a la base de datos, permitiendo trabajar con entidades sin exponer directamente la lógica de acceso a datos.

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

¿Qué es una excepción no controlada? ¿Cómo la manejarías?

A

Una excepción no controlada es aquella que no se maneja en el código. Se debe capturar con try-catch o manejadores globales.

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

¿Qué significa tener una arquitectura en capas?

A

Significa separar responsabilidades en capas como presentación, lógica de negocios y acceso a datos.

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

¿Cuál es la diferencia entre ASP.NET Web Forms y ASP.NET MVC?

A

Web Forms usa eventos tipo WinForms; MVC separa vista, controlador y modelo. MVC tiene más control sobre el HTML.

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

¿Qué es el ciclo de vida de una página en ASP.NET?

A

Son las etapas por las que pasa una página web ASP.NET, como Init, Load, PreRender y Unload.

17
Q

¿Qué métodos HTTP conoces y cómo los usarías en una API?

A

GET (obtener), POST (crear), PUT (actualizar), DELETE (eliminar). Se usan en APIs para operaciones CRUD

18
Q

¿Qué es el ViewState?

A

Es una técnica para preservar el estado de los controles entre peticiones (postbacks) en Web Forms

19
Q

¿Cómo protegerías una aplicación web en .NET contra ataques XSS?

A

Validando y codificando la entrada del usuario antes de mostrarla en el HTML.