linkedin-skill-assessments-quizzes

C#

Q1. ¿En cuál de estas situaciones son las interfaces mejores que las clases abstractas?

Q2. ¿Cuál afirmación es verdadera sobre los delegates?

Documentación oficial: Delegates

Q3. ¿Cuál opción define mejor el modelo de programación asíncrona de C#?

Documentación oficial: Modelo de programación asíncrona basado en tareas respuesta correta --> var contacts = new List();

Q4. ¿Cómo determinarías si una clase tiene un atributo particular?

var type = typeof(SomeType);
var attribute = type.GetCustomAttribute<SomeAttribute>();
var typeof(MyPresentationModel).Should().BeDecoratedWith<SomeAttribute>();
Attribute.GetCustomAttribute, typeof(SubControllerActionToViewDataAttribute)
Attribute.GetCustomAttribute(typeof(ExampleController), typeof(SubControllerActionToViewDataAttribute))
  1. Documentación oficial: Clase Attribute
  2. Documentación oficial: Método Attribute.GetCustomAttribute

Q5. ¿Cuál es la diferencia entre las palabras clave ref y out?

  1. Documentación oficial: ref
  2. Documentación oficial: modificador de parámetro out

Q6. ¿Cómo podrías recuperar información sobre una clase, así como crear una instancia en tiempo de ejecución?

Documentación oficial: Reflexión

Q7. ¿De qué es un ejemplo este código?

    private static object objA;
    private static object objB;

    private static void performTaskA()
    {
        lock (objB)
        {
            Thread.Sleep(1000);
            lock (objA) { }
        }
    }

    private static void PerformTaskB()
    {
        lock (objA)
        {
            lock (objB) { }
        }
    }

Documentación oficial: Deadlocks y condiciones de carrera

Q8. ¿Cuál es la diferencia entre un tipo anónimo y un tipo de datos regular?

Documentación oficial: Tipos Anónimos

Q9. ¿Cuándo usarías un Dictionary en lugar de un tipo Array en tu aplicación?

Documentación oficial: Clase Dictionary<TKey,TValue>

Q10. ¿Cuál es la diferencia entre a.Equals(b) y a == b?

  1. Documentación oficial: Object.Equals
  2. c-sharpcorner: Operador de Igualdad(==) vs .Equals()

Q11. ¿Cuál opción describe mejor una situación de deadlock?

Documentación oficial: Deadlocks y condiciones de carrera

Q12. ¿Cómo funciona la palabra clave async?

Documentación oficial: async

Q13. ¿Qué es un objeto en C#?

Documentación oficial: Objetos

Q14. ¿Qué fragmento de código declara un tipo anónimo llamado userData?

Documentación oficial: Tipos Anónimos

Q15. ¿Qué será retornado cuando este método sea ejecutado?

public void userInput(string charParameters) { }

Documentación oficial: void

Q16. ¿En qué orden serían impresos los nombres de empleados en este ejemplo en la consola?

string[] employees = { "Joe", "Bob", "Carol", "Alice", "Will" };

IEnumerable<string> employeeQuery = from person in employees
                                    orderby person
                                    select person;

foreach(string employee in employeeQuery)
{
    Console.WriteLine(employee);
}

dotnetpattern: Operador LINQ OrderBy

Q17. Las expresiones lambda son frecuentemente usadas en conjunto con cuál de las siguientes?

Documentación oficial: Resumen de Language Integrated Query (LINQ)

Q18. ¿Cuál es el formato correcto para comentarios de una línea y múltiples líneas?

w3schools: Comentarios C#

Q19. ¿Cómo haces que un método en una clase abstracta sea sobrescribible?

  1. Documentación oficial: virtual
  2. Documentación oficial: abstract

Q20. ¿Cómo escribirías código para una propiedad entera llamada Age con un getter y setter?

Documentación oficial: Usando Propiedades

Q21. ¿Qué es una clase abstracta?

Documentación oficial: Clases Abstractas y Selladas y Miembros de Clase

Q22. ¿Qué pasa con un hilo dado después de que termina su tarea cuando usas un thread pool?

Documentación oficial: Características del thread pool

Q23. ¿Cuál opción representa una clase que hereda comportamiento de una clase base?

Documentación oficial: Herencia

Q24. ¿Qué te permite hacer la sobrecarga de operadores?

Documentación oficial: Sobrecarga de operadores

Q25. ¿Cuál es el propósito principal de LINQ?

Documentación oficial: Resumen de Language Integrated Query (LINQ)

Q26. ¿Cuál es la sintaxis correcta para una nueva lista genérica de strings llamada contacts?

[Documentación oficial: Clase List](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1?view=net-5.0)

Q27. ¿Cuál es la diferencia entre throw exceptions y throw clauses?

  1. Documentación oficial: throw
  2. c-sharpcorner: Diferencia Entre Throw Exception y Throw Clause

Q28. Cuando un método asíncrono es ejecutado, el código corre pero no pasa nada más que una advertencia del compilador. ¿Qué es lo más probable que esté causando que el método no retorne nada?

Documentación oficial: Iniciando tareas concurrentemente

Q29. ¿Qué son los eventos de C#?

Documentación oficial: Introducción a eventos

Q30. ¿Qué tipo de valores pueden almacenar los arrays?

Documentación oficial: Arrays

Q31. Dada esta enumeración, ¿cómo accederías al valor de tipo entero de ‘AppState.Loading’?

enum AppState { OffLine, Loading, Ready }

Documentación oficial: Tipos de enumeración

Q32. ¿Qué carácter usarías para iniciar un patrón de expresión regular en un límite de palabra?

  1. regular-expressions: Límites de Palabra
  2. Documentación oficial: Referencia Rápida del Lenguaje de Expresión Regular

Q33. Para conformar a la siguiente interface, ¿cuáles de sus miembros necesitan ser implementados?

public interface INameable
{
    string FirstName { get; set; }
    string LastName { get; }
}

Documentación oficial: interface

Q34. Estás tratando con múltiples assemblies en tu programa, pero estás preocupado por la asignación de memoria. ¿En qué punto del ciclo de vida del programa se cargan los assemblies en memoria?

  1. Documentación oficial: Carga de Assemblies
  2. Stackoverflow: ¿Cuándo exactamente se cargan los assemblies?

Q35. ¿Cuál es la descripción más precisa de una expresión regular?

  1. Documentación oficial: Referencia Rápida del Lenguaje de Expresión Regular
  2. Documentación oficial: Expresiones regulares .NET

Q36. ¿Por qué usarías un campo de clase en C#?

Documentación oficial: Introducción a clases

Q37. ¿Cuándo usarías genéricos en tu código?

Documentación oficial: Clases y métodos genéricos

Q38. ¿Qué se imprime en la consola cuando este código es ejecutado?

public delegate void AuthCallback(bool validUser);
public static AuthCallback loginCallback = Login;
public static void Login()
{
    Console.WriteLine("Valid user!");
}

public static void Main(string[] args)
{
    loginCallback(true);
}
  1. Documentación oficial: Introducción a Delegates
  2. Documentación oficial: Introducción a Eventos

Q39. ¿Cómo declararías una clase sellada llamada User?

Documentación oficial: Clases Abstractas y Selladas y Miembros de Clase

Q40. ¿Cuál es la diferencia entre clases no estáticas y estáticas?

  1. stackoverflow
  2. Documentación oficial: Constructores Estáticos

Q41. ¿Qué característica previene que este código compile?

public int age="28"

c-sharpcorner: Seguridad de Tipos en .NET

Q42. ¿Cómo serializarías esta clase?

public class User {}

Documentación oficial: Clase SerializableAttribute

Q43. ¿Cómo escribirías un delegate llamado ResultCallback con un parámetro int llamado responseCode?

Documentación oficial: Delegates

Q44. ¿Cuál es la diferencia entre un método estático y no estático?

Documentación oficial: Miembros Estáticos

Q45. ¿Cuál es la forma correcta de escribir un evento llamado apiResult basado en un delegate llamado ResultCallback?

Documentación oficial: Introducción a eventos

Q46. ¿Cuándo se ejecutará el código dentro del bloque finally en una declaración try-catch?

Documentación oficial: try-catch

Q47. ¿Qué método extiende correctamente la clase string?

Q48. ¿Cómo están limitadas las clases de C#?

Documentación oficial: Herencia de clases

Q49. ¿Qué función realizan los namespaces?

Documentación oficial: namespace

Q50. ¿Cuál es la forma correcta de escribir una propiedad pública con un campo de respaldo privado?

private int _password;
pubic int Password = { get; set; }
private int _password;
public int Password = _password;
private int _password;
public int Password
{
  get -> _password;
  set-> _password = value;
}
private int _password;
public int Password
{
  get { return _password; }
  set { _password = value; }
}

Documentación oficial: Usando Propiedades

Q51. ¿Qué es un thread pool?

Documentación oficial: Clase ThreadPool

Q52. Cuando un objeto en C# es serializado, ¿en qué se convierte?

Documentación oficial: Serialización

Q53. ¿Qué es un delegate?

Documentación oficial: Delegates

Q54. ¿Cuáles son las cuatro palabras clave asociadas con el manejo de excepciones en C#?

Tutorial Point

Q55. ¿Cuál es la diferencia principal entre los operadores is y as?

Guía Pluralsight

Q56. ¿Cuál es la diferencia entre los bloques finally y finalize?

C-sharpcorner

Q57. Tu aplicación tiene un tipo de valor llamado username que necesita poder aceptar valores null, pero esto está generando errores de tiempo de compilación. ¿Cómo arreglarías esto en código?

Q58. ¿Qué fragmento de código declara correctamente una excepción personalizada llamada InvalidResponse?

Documentación oficial: Excepciones

Q59. ¿Cómo escribirías una variable enum llamada AppState con valores para Offline, Loading, y Ready?

Documentación oficial: Enum

Q60. ¿Cuál es la diferencia principal entre un tipo de valor y un tipo de referencia?

  1. Documentación oficial: Tipos de valor
  2. Documentación oficial: Tipos de referencia

Q61. ¿Cuál es la diferencia entre las palabras clave break y continue?

Documentación oficial: Declaraciones de salto

Q62. ¿Qué fragmento de código declara correctamente una variable llamada userId con un get público y set privado?

Documentación oficial: Propiedades

Q63. ¿Qué es verdadero sobre los métodos virtuales?

  1. Documentación oficial: virtual
  2. c-sharpcorner: Método Virtual en C#

Q64. ¿Qué es probable que pase si tienes múltiples hilos accediendo al mismo recurso en tu programa?

Documentación oficial: condiciones de carrera

Q65. ¿Cómo indicas que una cadena puede ser null?

Documentación oficial: tipos de valor nullable

Q66. ¿Necesitas declarar una variable out antes de usarla?

Q67. ¿Cómo accederías a las últimas dos personas en un array llamado People?

Explicación: Puedes hacer esto en C#. Sin embargo, ninguna de las respuestas anteriores es correcta. Puedes acceder a los últimos dos elementos usando People[^2..]. Por favor, consulta issue #3354 para más información. Ver también: Documentación Oficial: Rangos

Q68. ¿Cuándo se pueden crear tipos anónimos?

C-sharpcorner: Tipos Anónimos

Q69. ¿Qué es verdadero sobre la multitarea de hilos?

Documentación Oficial: Hilos

Q70. ¿Qué nivel de accesibilidad tiene este campo de clase?

private string LastName;

Documentación Oficial: Niveles de Accesibilidad

Q71. ¿Cómo declararías correctamente un array dentado llamado ‘partyInvites’ con 10 elementos vacíos?

Documentación Oficial: Arrays Dentados

Q72. ¿Cómo podrías pausar un hilo por tres segundos?

Referencia

Q73. ¿Qué está mal con este código?

void MyFunction()
{
    {
        int a = 10;
        int b = 20;
        int c = a + b;
    }

    Console.WriteLine(c);
}

Referencia

Q74. ¿Cuál declaración es verdadera?

Referencia

Q75. ¿Cómo devolverías más de un valor desde un método?

Q76. ¿Cuál es un ejemplo válido de una clase derivada?

Q77. ¿Cuál es la forma correcta de llamar a un método estático llamado DebugString desde una clase estática llamada InputManager?

Q78. ¿Qué valores se pueden asignar a esta variable?

public string? nickname

Q79. ¿Qué es un destructor?

Referencia

Q80. ¿Qué fragmento de código declara correctamente un alias de tipo CustomInt de tipo Int32?

Referencia

Q81. ¿Qué es un tipo de enumeración?

Q82. ¿Para qué se usa la palabra clave readonly en las declaraciones de campo?

Q83. ¿Cuál declaración es verdadera sobre los métodos de C#?

Documentación oficial: Métodos (Guía de Programación C#)

Q84 ¿Cuál es una clase de Excepción integrada válida de C#?

Documentación oficial: Clase ArgumentNullException

Q85. ¿Cuál es el propósito de una interfaz en C#?

Documentación Oficial: Interfaces (Guía de Programación C#)

Q86. ¿Cuál es el propósito principal del bloque finally en una declaración try-catch-finally de C#?

Documentación Oficial: try-catch (Referencia C#)

Q87. ¿Qué estructura de datos en C# te permite almacenar pares clave-valor y se usa frecuentemente para recuperación rápida de datos?

Documentación Oficial: Clase Dictionary<TKey, TValue>

Q88 ¿La ejecución del programa comienza con?

Q89 En C# ‘using’ es un?