domingo, 12 de abril de 2009

Prueba de conocimientos

Hace un par de meses con motivo de una consultoría una empresa transnacional me hizo un examen sobre conocimientos en C#, este examen me ha llamado la atención por el tipo de preguntas, que me da la impresión que era de un examen de Java y solo ajustaron las preguntas para C#, incluso en algunas preguntas decian "In Java we can .....bla,bla in C# how to .....bla,bla", como si asumieran que el entrevistado además de C# conoce Java, casos que no siempre es asi, algunas preguntas son en verdad muy buenas para conocer el nivel de programación.

Entre las preguntas se encontraban algunas que bien se podria responder dependiendo de la situación:

If you need to modify a value parameter to a function, which of the following can you do to achieve this?

1-. use a ref keyword
2-. use an out keyword
3-. use the return keyword
4-. All of Above

True or false Like in C++, using exception does carry some performance penalty.
1-. true
2-. false

if we want to hide a non virtual method, public void Print(), was the way to declare the method in the derived class?

1-.public void Print();
2-.public virtual void Print();
3-.public override void Print();
4-.public new void Print();


To catch all exceptions, which of the following would you declare?
1-.catch(...)
2-.catch(exception e)
3-.catch(throwable t)
4-.catch

En lo particular me gusta este tipo de exámenes ya que todas las respuestas son soluciones y solo es correcta la mejor, es decir la que es considerada como una buena práctica (best practice).