¿Qué puedo hacer cuando el entrevistador no sabe la respuesta a su propia pregunta? [cerrado]

48

Ayer tuve una experiencia terrible en una entrevista.

El entrevistador me preguntó acerca de la función virtual pura. Dije: Puede o no tener una definición en la clase base, pero las clases derivadas deberían proporcionar una definición a menos que también quieran ser una clase abstracta.

Pero el entrevistador siguió preguntando que "¿Puede tener virtual simplemente definición ...?" Dije que sí.

De nuevo dijo "¿Puro?"

Dije que sí. Está permitido, las clases derivadas pueden llamar explícitamente a esa función si desean ese comportamiento en particular.

Él me envió. Estoy seguro de que no sabe el hecho de que la función virtual pura puede tener definición.

¿Cómo lidiar con este tipo de entrevistadores?

Después de preguntar por segunda vez, ¿debería mentir que no puede tener definición? :)

¿O debería atenerme a mis palabras y perder la oportunidad de trabajo?

    
pregunta bjskishore123 09.01.2011 - 08:07

11 respuestas

82

No. Y deberías agradecer a tus afortunadas estrellas que te haya perdido esa bala en particular. Trabajar para personas que se niegan a admitir que es posible que no sepan todo y que se nieguen a aprender de los demás, es una experiencia MUY desagradable.

    
respondido por el Crazy Eddie 09.01.2011 - 08:10
48

Ejemplo de una función virtual pura con una definición:

// object.hpp
struct object
{
    // virtual destructor, to allow use as a public base class,
    // but pure to ensure object itself isn't instantiated
    virtual ~object() = 0; 
};

inline object::~object()
{
    // empty implementation
}
    
respondido por el GManNickG 09.01.2011 - 08:13
42

El tema en cuestión no es la corrección técnica, sino las habilidades sociales y de comunicación. Manténgase firme, pero reconozca el punto de vista del entrevistador y permita que se salven la cara.

Una vez que puedas ver para qué estaba pescando ("¿puro?" es una buena pista), una buena respuesta puede ser:

  

Se suele pensar que las funciones virtuales puras no pueden tener una definición. Sin embargo, técnicamente hablando, para que la función virtual sea pura, debe tener =0 en la declaración. Todavía puede tener una definición (¡pruébalo, se compilará!). Por supuesto, esto rara vez se usa, y en la práctica cuando la mayoría de las personas dicen "virtual puro", implican que la definición está ausente.

    
respondido por el dbkk 09.01.2011 - 09:24
10

Podrías haber explicado cómo declarar una función virtual pura que tiene una implementación.

De hecho, me gustaría que estuvieras aquí porque tampoco estoy familiarizado con cómo hacerlo.

    
respondido por el Jonathan Wood 09.01.2011 - 08:09
6

Muchas veces, cuando entrevisto a un candidato, busco ver cómo la persona maneja la incertidumbre o trata la confrontación. La próxima vez que esté entrevistando, sea sensible a esto, y trate de responder constructivamente la pregunta o explicar su posición. Eso puede ser más importante que la respuesta correcta.

    
respondido por el ראובן 09.01.2011 - 18:17
5

He estado en entrevistas en las que sabía más que mi entrevistador. Sin embargo, querían que alguien cumpliera un rol y no tenían a nadie (por supuesto) que pudiera entrevistar a ese nivel.

En tu caso, ¿sientes que fue una ignorancia ciega o un malentendido genuino? Quizás un correo electrónico de seguimiento con ejemplos y referencias: vea cómo reaccionan antes de decidir.

Tiendo hacia la "ignorancia ciega" aunque estoy basado en tu pregunta y me mantendré bien claro ...

    
respondido por el gbn 09.01.2011 - 11:28
3

En una situación como esta, propondría escribir una clase simple con una función virtual con un cuerpo y ver si se compila. Por lo menos, propondría google el tema.

Si el entrevistador acepta el desafío, admite la derrota y no parece que esté a punto de estrangularlo después de eso, entonces debería estar en buena forma. De lo contrario, es probable que esta no sea la persona con la que desea trabajar.

    
respondido por el Dima 10.01.2011 - 00:30
3

Estoy totalmente en desacuerdo con la idea de que deberías renunciar a una empresa porque el tipo que te está entrevistando no sabe la respuesta a su pregunta. Incluso cuando estás trabajando, vas a conocer a personas que se muestran obstinadas, incluso cuando están equivocados. Es una buena habilidad para maniobrar a las personas hacia la respuesta correcta.

En mi caso, el entrevistador preguntó cómo calcular la variación de muchos números en muchas máquinas. Comencé diciendo que la varianza es la media de los cuadrados menos el cuadrado de los medios. Él intervino, "no, es E[(x - mu)²] ".

Le dije: "Sí, tienes razón. Pero tu fórmula es la misma que la mía. Derivémoslo juntos". Y luego lo derivamos juntos.

En su situación, cuando reconoce que el entrevistador es incrédulo, necesita cambiar su enfoque. Dígale que es una característica rara vez conocida (esto es para hacer que suene menos como un sabelotodo) y si lo desea, le enviará un programa de ejemplo o una referencia a un libro de C ++ después de la entrevista (esto es para que la entrevista pueda avanzar con gracia.)

Intenta imaginar las cosas desde su perspectiva. Algún día entrevistarás a la gente y, a veces, te equivocarás. ¿Cómo le gustaría que un brillante candidato respondiera a esa pregunta?

    
respondido por el Neil G 10.01.2011 - 00:09
2

Creo que deberías haber movido la entrevista del escritorio a una computadora con un compilador. Eso habría solucionado el problema.

    
respondido por el Stefano Borini 09.01.2011 - 12:56
1

EDITAR: aparentemente estoy totalmente equivocado, vea los comentarios debajo de esta respuesta. Dejando la respuesta aquí para propósitos educativos.

Lamentablemente, estás equivocado. Una función virtual puede tener una definición; una función pura virtual puede que no. La falta de definición es lo que lo hace puro.

    
respondido por el Philip Potter 09.01.2011 - 08:10
1

Sabes que todo lo que contestaste es correcto. En mi opinión, usted hizo un buen trabajo al atenerse a su respuesta ya que tenía razón. No hay necesidad de mentir, porque si no es así, ¡¡¡otro entrevistador del momento aprenderá acerca de las funciones virtuales puras !!!! .. Él podría estar probándote también para verificar cuán firme eres en tus decisiones? ¿Eres la persona que se deja llevar fácilmente? No hay necesidad de perder la esperanza, ya que sabes que estás en lo correcto

    
respondido por el Ashwini 09.01.2011 - 08:13

Lea otras preguntas en las etiquetas