Devo dizer ao entrevistador que já sei a resposta para a pergunta que está sendo feita? [fechadas]

29

Em uma entrevista de programação, se me perguntam a resposta, eu já sei a resposta, como fornecer um algoritmo para um problema específico. Devo divulgar isso ao entrevistador? Esse problema só faz sentido quando há um aspecto de novidade na pergunta.

Um exemplo é "Como você reverteria cada palavra em uma string, mas não a ordem deles?". Também parece haver uma divisão entre coisas mais fáceis, que você "deveria" saber, como meu exemplo e problemas mais difíceis.

Qual é a sua política e justificativa para lidar com esse problema? Se você já está familiarizado com a pergunta / quebra-cabeças, deve divulgar isso além de responder à pergunta? Existe algum dilema ético envolvido em não divulgar seu conhecimento prévio da questão?

El cid
fonte
2
Estou tendo problemas para entender o objetivo desta pergunta. Se você conhece a pergunta, responda, se não tentar algo razoável. Você deve dizer a eles que sabe a resposta em vez de apenas dizer a resposta?
Chris
7
@Chris. a última pergunta no seu comentário é realmente o que o OP pergunta aqui: D
P Shved
1
E isso deveria ser construtivo? Não consigo pensar em quando diria ao entrevistador "Sim, eu sei a resposta" e não direi a eles.
Chris
1
Estou esperando "Fishtoaster" para dar sua resposta.
Mark C
1
@ Chris - Correto; a pergunta aqui, como eu a entendo, resume-se a "Existe uma vantagem e / ou consideração ética para a opção 1 ou 2 se você conhece o quebra-cabeças e, em caso afirmativo, como eles são pesados?" O ponto fundamental é enterrado bastante profundo, e é redigido de uma maneira abertamente subjetiva, mas parece útil (até porque eu não tenho idéia de qual é a resposta correta e parece que deveria). Na IMO, essa é uma pergunta que precisa de uma edição leve para maior clareza, e não de fechamento.
Inaimathi

Respostas:

41

Eu apenas respondia sem muita hesitação ou brincadeira. Saber a resposta para uma pergunta não é algo ruim, significa que você já a encontrou antes e sabe como resolvê-la. Corrija, vá para a próxima.

Cthulhu
fonte
8
Sim, acho que isso é justo. Não é como saber que as respostas estão trapaceando; se alguma coisa, é um sinal de experiência. Quero dizer, não finja, como fingir que você acabou de inventar o quicksort no local sem nunca ter ouvido falar disso ou algo assim (exemplo ruim porque todo mundo já ouviu falar do quicksort, mas você entende o que eu quero dizer). Apenas responda imediatamente. Provavelmente será óbvio que você estava familiarizado com o problema, mas não há necessidade de dizê-lo explicitamente, e se alguma coisa puder ser tomada como crítica ao entrevistador por escolher um problema não original.
Tim Goodman
26

Eu ainda responderia a pergunta. Eu entrevisto programadores com muita frequência. Estou menos interessado no fato de que você pode resolver o problema (a menos que você simplesmente não possa) e mais interessado em como você resolveu o problema.

Peço muitas, e muitas ... e muitas perguntas irritantes durante uma entrevista que são especificamente projetadas (e refinadas ao longo do tempo) para me dar uma compreensão muito boa de suas forças reais versus o que você coloca no seu currículo. Farei o meu melhor para conduzi-lo por uma trilha de brincadeiras subjetivas e, em seguida, atingi-lo com problemas cada vez mais difíceis.

Usando o exemplo de Frank , FizzBuzz, a última coisa que quero ouvir de você é "Ah, sim, eu sei como usar o operador de módulo ..." Se estou entrevistando você, eu sei disso. Talvez eu queira ver com que rapidez seu cérebro muda de marcha, ou teste como você cumprirá uma tarefa que parece mundana e estúpida. O ponto é que não estou apenas testando sua capacidade de resolver problemas.

Eu posso fazer uma ratoeira com centenas de partes móveis. Se uma empresa está no negócio de pegar ratos ... bem ... :)

Tim Post
fonte
5
Você não descobrirá como o entrevistado resolveu o problema se ele apenas souber a resposta.
usar o seguinte
3
@Pavel: Claro, mas você poderia perguntar a eles "Qual era a vantagem de fazer dessa maneira e não dessa maneira?" Dessa forma, você pode ver se eles realmente entendem o processo de pensamento por trás da resposta ou se apenas memorizaram a resposta sem entender o porquê.
Tim Goodman
@ Tim, por isso, se você quiser perguntar a questão "como descobrir se a lista vinculada tem loops na memória O (1)" e eu souber a resposta (diabos, resolvi muitos desses tipos de problemas), o que seria sua pergunta de acompanhamento ser?
usar o seguinte
Tim, eu estaria interessado em vê-lo entrevistar alguém (ou me entrevistar, haha), apenas para aprender.
C #
1
@ Pavel, eu provavelmente complicaria o problema e apresentaria vários escritores à lista. Se você levasse um minuto e pensasse sobre isso, eu provavelmente perguntaria sua opinião sobre métodos de bloqueio de segurança e faria a mesma pergunta novamente, perguntando-me se O (1) foi para O (log n). Se você me tirar completamente da água e pudermos pagar, vou garantir que você se torne meu chefe. Desculpem a demora, esse 'envelope laranja' em cima tem agido muito estranho ultimamente.
Tim Post
10

Quando estou no lugar do entrevistador, já vi muitas pessoas dizerem "Oh, eu ouvi esse", e então lutam para lembrar ou refazer uma solução. Portanto, em muitos casos, o conhecimento prévio não oferece uma grande vantagem. Eu recomendo dizer a eles que você já ouviu isso antes e propor uma solução. Se foi muito fácil para você, eles farão outra pergunta e agradecerão sua honestidade.

Tristan Havelick
fonte
8

Sou a favor de uma comunicação aberta e honesta, então eu definitivamente diria que sabia a pergunta e o truque envolvido.

Suponho que, para crédito extra, você possa dizer "OK, é assim que todo mundo faz isso, mas vamos ver se existe uma maneira diferente". Ou você pode desconstruir a questão de outras maneiras e mostrar por que as pessoas gostam da pergunta, o que a pergunta está tentando fazer com que você veja.

(Edit: removeu a referência ao FizzBuzz, dos comentários de outras pessoas nesta postagem.)

Frank Shearar
fonte
4
FizzBuzz não é sobre fatoração.
Zvrba
2
Eu também acho que você pode estar perdendo o objetivo do FizzBuzz.
Tim Post
Bem, então o que é isso, se não está evitando o caso do n mod 15? Eu disse "factoring" porque posso imaginar alguém usando dois outros números primos para "Fizz" e "Buzz", pensando que eram espertos. O ponto ainda é que um número divisível pelos N primos que você usa (para o FizzBuzzBazz) também é divisível por qualquer multiplicação desses primos.
Frank Shearar
1
O que não importa totalmente, já que o 3 * 5 não precisa ser tratado especialmente em uma implementação do FizzBuzz.
Joren
Justo; as soluções que eu vi fizeram, mas não, você não precisa lidar com 3 * 5 especialmente.
Frank Shearar
6

Como entrevistador, não estou fazendo a pergunta para saber se você sabe a resposta para uma pergunta complicada sobre frango e ovo. Em vez disso, estou procurando ver como você resolve um problema para chegar a uma resposta. Portanto, muitas vezes é fácil distinguir entre saber a resposta e chegar à resposta (a menos que isso aconteça, o entrevistado age para chegar à resposta!)

Darren
fonte
3

Na minha experiência, para a maioria das entrevistas técnicas, o entrevistado está realmente interessado na sua solução e em como você a criou e como a explica, em vez de ter ouvido exatamente a mesma coisa antes. A menos que seja uma daquelas perguntas "enigmáticas" que envolvam um "truque", conhecer o problema de antemão não oferece realmente uma vantagem decisiva, a menos que você seja capaz de resolvê-lo sozinho.

Para uma pergunta suficientemente não trivial, o problema apresentado pode realmente ser bem conhecido ou pode ser reduzido a um. Se alguém perguntar sobre como encontrar a rota mais curta entre dois nós em um gráfico, você finge não conhecer o BFS / Dijkstra? IMHO, para alguns problemas, pode até ser contraproducente esconder o fato de que você conhece suas coisas.

MAK
fonte
+1 para perguntas complicadas. Se você já conhece a resposta para uma delas, basta dizer. O objetivo de tal pergunta seria observar o processo quando as peças se encaixarem e, se você já souber a resposta, isso não acontecerá.
Guffa
3

Acho que dizer ao entrevistador se aplica apenas a essas perguntas idiotas, como o bueiro redondo e outras coisas assim. Perguntas onde uma vez que você conhece a resposta é completamente óbvio.

Inverter seqüências de caracteres, etc, não tem uma solução óbvia de "pegadinha" que você pode explicar em 3 segundos, se souber.

whatsisname
fonte
1

"Saber" a resposta não é o ponto. Comunicar de uma maneira que o entrevistador tenha a chance de entender a resposta que você está dando. (É claro que o entrevistador sabe várias respostas, mas como eu disse, esse não é o ponto).

Então, eu tentava comunicar a resposta enquadrada em uma estrutura razoavelmente didática, ou talvez bem-humorada, para que o entrevistador pudesse ver como eu penso e como funciono, ou não.

Por exemplo, pode ser divertido para todos vocês (e informativo para o entrevistador) levar a pergunta a um contexto totalmente diferente, mostrando que, embora o problema em questão pareça semelhante, a solução não funciona no novo contexto. Eu acho que a arte aqui é encontrar um contexto de alguma forma relacionado para a pergunta em que a solução da primeira resposta não funciona e, em seguida, propor idéias espetaculares de soluções que o entrevistador possa mastigar (ou rir).


fonte
0

Então, qual é a alternativa? Se você disser ao entrevistador que sabe a resposta para uma pergunta que é colocada e esperar que ele lhe dê apenas perguntas para as quais você não sabe a resposta, o que acontece? Ou

  1. Eles o respeitarão porque você só tentará responder a perguntas que nunca viu / ouviu antes,
  2. Eles ficarão impressionados com o seu brilho - afinal, você já sabe as respostas para as perguntas que estão fazendo - e imediatamente oferecerá um emprego
  3. Eles vão pensar que você é um espertinho, porque você já parece saber tudo - basta perguntar!
  4. Eles vão pensar que você é um tolo, porque você não sabe quando as coisas estão indo bem.

Eu suspeito que as opções (1) e (2) não vão acontecer - me chame de Sr. Cynical. Então você fica sendo um tolo ou um espertinho, nenhum dos quais provavelmente lhe dará um emprego. Ei, boa sorte!

O objetivo de uma entrevista, como outros já apontaram, é oferecer a você a chance de demonstrar sua proficiência técnica, respondendo às perguntas que forem feitas a você. Isso significa que é a seu favor fazer perguntas que você já conhece. Se você insistir em sabotar a si mesmo, vá em frente - ninguém vai impedi-lo - mas sugiro que não.

Compartilhe e curta.

Bob Jarvis - Restabelecer Monica
fonte