Está en la página 1de 6

Test de evaluación: Visual C# .

Net (Junior)

Apellido y nombre:

Fecha:

1- Analizar que problema/s de performance existen en el siguiente código e indicar una posible
solución.

a)

//Return a list with all books from the DB.


private ArrayList GetListOfBooksFromDB();

public void ShowAllBooks()


{
for (int i=0; i < GetListOfBooksFromDB().Count; i++)
{
Book book = (Book)GetListOfBooksFromDB()[i];
Console.WriteLine(book.Author + " - " + book.Title);
}
}

b)

public bool IsChile(object[] countries)


{
bool IsChile = false;

for (int i = 0; i < countries.Length; i++)


{
if ((string)countries[i] == "Chile")
{
IsChile = true;
}
}
return IsChile;
}

c)

private static IList Test()


{
List<object> numbers = new List<object>();

for (int i = 0; i < 1000000; i++)


{
numbers.Add(i);
}

return numbers;
}

www.sistran.com
2- Seguimiento de código.

a) Indicar que se imprime por pantalla.

private void ReplaceString()


{
string s = "Take this out";
s.Replace("this", "that");

Console.WriteLine(s);
}

b) Indicar porque este código puede fallar y como solucionarlo.

//Return the surname of the person if exists, else NULL


private string GetSurnameFromDB(string idCard);

public string TestWrong(string idCard)


{
string surname = GetSurnameFromDB(idCard);
string description = null;

if (surname.Length > 0) {
description = surname + " " + idCard;
}
return description;
}

c) Indicar que se imprime en pantalla:

public class Figure


{
public virtual void Draw()
{
Console.WriteLine("I'm a figure.");
}

public class Circule : Figure


{
public override void Draw()
{
Console.WriteLine("I'm a cirule.");
}
}

static void Main(string[] args)


{
Figure instance = new Circule ();
instance.Draw();
}

www.sistran.com
d) Indicar que se imprime en pantalla:

public class B : A
{
public B()
{}
}

public class C : B
{
public C()
{}
}

static void Main(string[] args)


{
B b = new B();
C c = new C();
if (c is A)
Console.WriteLine("Verdadero");
else
Console.WriteLine("Falso");
}

3 – POO / .NET / ASP .NET

a) Nombre al menos 5 tipos de datos (primitivos o no) de C#

b) En una clase se pueden definir 2 constructores con igual tipo y cantidad de parámetros.

A. Verdadero
B. Falso

c) Si se diseña una clase que necesita tareas de inicialización especial, tendrá que escribir un _____

A. housekeeping routine
B. initializer
C. constructor
D. Compiler

d) Un método que no devuelve ningún valor al programa se define el tipo de valor de retorno como _____

A. no está permitido C#
B. void
C. empty
D. barren

www.sistran.com
e) ¿Cuál de las siguientes afirmaciones es falsa?

A. Un método es un bloque de código que realiza una tarea específica.

B. Los métodos permiten a los programadores a dividir los problemas grandes y complejos en tareas
pequeñas y manejables

C. Los métodos permiten a los programadores re-utilizar código existente para realizar tareas comunes

D. Los métodos se pueden llamar, o se invoca, sólo una vez en un programa.

E. Los métodos definidos por el programador pueden devolver o no un valor.

f) El mecanismo que consiste en aislar un elemento de su contexto o del resto de los elementos que lo
acompañan se denomina ________

A. Selectividad
B. Polimorfismo
C. Abstracción
D. Resumen

g) ¿Qué es un objeto?

h) Diferencia entre una clase y una interfaz


A- No es posible crear una instancia de una clase
B- No es posible crear una instancia de una interfaz
C- No hay diferencia

i) ¿Qué es una clase abstracta?

www.sistran.com
4- SQL

a) Realizar una consulta SQL que devuelva el nombre de los libros que cuesten más de 30$ y hayan más de 10
libros en stock.

b) Indicar cuál es el resultado de la siguiente consulta:

Select *
from libros l
inner join Generos g
on l.IdGenero = g.IdGenero

www.sistran.com
a)

b)

c)

www.sistran.com

También podría gustarte