O que eu posso fazer quando o entrevistador não sabe a resposta para sua própria pergunta? [fechadas]

48

Ontem tive uma experiência terrível em uma entrevista.

Entrevistador me perguntou sobre a função virtual pura. Eu disse, pode ou não ter definição na classe base, mas as classes derivadas devem fornecer definição a menos que elas também queiram ser uma classe abstrata.

Mas o entrevistador continuou perguntando: "Pode o virtual puro ter definição !!! ???" ... Eu disse sim.

Mais uma vez ele disse "Pure?"

Eu disse sim. Isso é permitido, as classes derivadas podem chamar explicitamente essa função se quiserem esse comportamento específico.

Ele me mandou sair. Tenho certeza de que ele não sabe o fato de que a função virtual pura pode ter definição.

Como lidar com esse tipo de entrevistador?

Depois de perguntar pela segunda vez, devo mentir que não pode ter definição? :)

Ou eu deveria manter minhas palavras e perder a oportunidade de trabalho?

    
por bjskishore123 09.01.2011 / 08:07
fonte

11 respostas

82

Não. E você deve agradecer às suas estrelas da sorte que você perdeu por aquela bala em particular. Trabalhar para pessoas que se recusam a admitir que podem não saber tudo e se recusar a aprender com os outros é uma experiência MUITO desagradável.

    
por 09.01.2011 / 08:10
fonte
48

Exemplo de uma função virtual pura com uma definição:

// 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
}
    
por 09.01.2011 / 08:13
fonte
42

O problema em questão não é a correção técnica, mas as habilidades sociais / de comunicação. Fique firme, mas reconheça o ponto de vista do entrevistador e permita que ele salve a face.

Uma vez que você pode ver o que ele estava pescando ("puro?" é uma boa pista), uma boa resposta pode ser:

It is commonly thought that pure virtual functions cannot have a definition. However, technically speaking, a for the virtual function to be pure, it must have =0 in the declaration. It can still have a definition (try it, it will compile!). Of course, this is rarely used, and in practice when most people say "pure virtual" they imply the definition is absent.

    
por 09.01.2011 / 09:24
fonte
10

Você poderia ter explicado como declarar uma função virtual pura com uma implementação.

Na verdade, eu gostaria que você fosse aqui porque eu também não estou familiarizado com isso.

    
por 09.01.2011 / 08:09
fonte
6

Muitas vezes, quando entrevisto um candidato, procuro ver como a pessoa lida com a incerteza ou lida com o confronto. Da próxima vez que você estiver entrevistando, seja sensível a isso e tente responder construtivamente à pergunta ou explique sua posição. Isso pode ser mais importante que a resposta correta.

    
por 09.01.2011 / 18:17
fonte
5

Eu estive em entrevistas onde eu sabia mais do que o meu entrevistador. No entanto, eles queriam que alguém preenchesse um papel e não tinha ninguém (é claro) que pudesse entrevistar nesse nível.

No seu caso, você acha que foi uma ignorância cega ou um mal-entendido genuíno? Talvez um e-mail de acompanhamento com exemplos e referências: veja como eles reagem antes de decidir.

Eu tenho a tendência para a "ignorância cega", embora baseada na sua pergunta e fique bem claro ...

    
por 09.01.2011 / 11:28
fonte
3

Em uma situação como essa, eu proporia escrever uma classe simples com uma função virtual com um corpo e ver se ele compila. No mínimo, eu proporia google o tópico.

Se o entrevistador aceitar o desafio, admitir a derrota e não parecer que ele está prestes a estrangulá-lo depois disso, então você deve estar em boa forma. Caso contrário, esta provavelmente não é a pessoa com a qual você deseja trabalhar.

    
por 10.01.2011 / 00:30
fonte
3

Eu discordo totalmente da idéia de que você deve desistir de uma empresa porque o cara entrevistando você não sabe a resposta para a pergunta dele. Mesmo quando você está trabalhando, você vai encontrar pessoas que são obstinadas mesmo quando erradas. É uma boa habilidade para manobrar as pessoas para a resposta certa.

No meu caso, o entrevistador perguntou como calcular a variação de muitos números em muitas máquinas. Comecei dizendo que a variância é a média dos quadrados menos o quadrado dos meios. Ele interveio: "não, é E[(x - mu)²] ".

Eu disse: "Sim, você está certo. Mas sua fórmula é a mesma que a minha. Vamos derivar isso juntos." E então nós derivamos juntos.

Na sua situação, quando você reconhece que o entrevistador está incrédulo, você precisa mudar sua abordagem. Diga-lhe que é uma característica raramente conhecida (isto é para fazer você soar menos como um sabe-tudo) e se ele quiser, enviará a ele um programa de exemplo ou uma referência a um livro C ++ após a entrevista. de modo que a entrevista possa avançar graciosamente.)

Tente imaginar as coisas da perspectiva dele. Você vai entrevistar pessoas um dia e às vezes você estará errado. Como você gostaria que um candidato brilhante respondesse a essa pergunta?

    
por 10.01.2011 / 00:09
fonte
2

Acho que você deveria ter transferido a entrevista da mesa para um computador com um compilador. Isso teria resolvido o problema.

    
por 09.01.2011 / 12:56
fonte
1

EDIT: aparentemente eu estou totalmente errado, veja os comentários abaixo desta resposta. Deixando a resposta aqui para fins educacionais.

Infelizmente, você está enganado. Uma função virtual pode ter uma definição; uma função virtual pura pode não funcionar. A falta de definição é o que a torna pura.

    
por 09.01.2011 / 08:10
fonte
1

Você sabe que o que você respondeu está certo. Na minha opinião, você fez um bom trabalho, mantendo a sua resposta desde que estava certo. Não há necessidade de mentir porque se não for hoje algum outro entrevistador de tempo aprenderá sobre funções virtuais puras !!!! Ele pode estar testando você também para verificar quão firme você está em suas decisões? Você é a pessoa que se deixa levar facilmente? Não há necessidade de perder a esperança, já que você sabe que está certo

    
por 09.01.2011 / 08:13
fonte

Tags