Devo dire all'intervistatore che conosco già la risposta alla domanda posta? [chiuso]


29

In un'intervista di programmazione se mi viene posta una domanda per la quale conosco già la risposta, ad esempio fornire un algoritmo per un problema specifico. Devo rivelarlo all'intervistatore? Questo problema ha senso solo quando c'è un aspetto di novità nella domanda.

Un esempio è "Come invertiresti ogni parola in una stringa, ma non nel loro ordine?". Sembra anche che ci sia una divisione tra cose più facili, che tu dovresti "conoscere", come il mio esempio e problemi più complicati e più difficili.

Qual è la vostra politica e la logica per affrontare questo problema? Se hai già familiarità con la domanda / rompicapo, dovresti divulgare questo oltre a rispondere alla domanda? C'è qualche dilemma etico nel non rivelare la tua precedente conoscenza della domanda?


2
Ho problemi a vedere il punto in questa domanda. Se conosci la domanda a cui rispondi, se non provi a trovare qualcosa di ragionevole. Dovresti dire loro che conosci la risposta invece di dire loro semplicemente la risposta?
Chris,

7
@Chris. l'ultima domanda nel tuo commento è davvero ciò che l'OP pone qui: D
P Shved

1
E questo dovrebbe essere costruttivo? Non riesco a pensare a quando direi all'intervistatore "Sì, conosco la risposta" e non glielo dico.
Chris,

1
Sto aspettando "Fishtoaster" per dare la sua risposta.
Marco C,

1
@Chris - Corretto; la domanda qui, a quanto ho capito, si riduce a "Esiste un vantaggio e / o una considerazione etica sull'opzione 1 o 2 se si conosce il rompicapo e, in tal caso, come vengono pesati?" Il punto fondamentale è sepolto abbastanza in profondità, ed è espresso in modo apertamente soggettivo, ma sembra utile (non ultimo perché non ho idea di quale sia la risposta corretta, e sembra che dovrei). IMO questa è una domanda che ha bisogno di alcune modifiche alla luce per chiarezza, non per chiudersi.
Inaimathi,

Risposte:


41

Ti risponderei senza troppe esitazioni o scherzando. Conoscere la risposta a una domanda non è qualcosa di malvagio, significa che l'hai già incontrata prima e sai come risolverla. Risolvilo, passa al successivo.


8
Sì, penso che sia giusto. Non è come sapere che la risposta è barare; semmai, è un segno di esperienza. Voglio dire, non fingere, come far finta di aver inventato Quicksort sul posto senza averne mai sentito parlare o qualcosa del genere (cattivo esempio perché tutti hanno sentito parlare di Quicksort, ma sai cosa intendo). Rispondi immediatamente. Probabilmente sarà ovvio che avevi familiarità con il problema, ma non c'è bisogno di dirlo esplicitamente e se qualcosa che potrebbe essere preso come critica all'intervistatore per aver individuato un problema non originale.
Tim Goodman,

26

Risponderei ancora alla domanda. Intervengo i programmatori molto frequentemente. Sono meno interessato al fatto che puoi risolvere il problema (a meno che tu non riesca semplicemente a farlo) e più interessato a come hai risolto il problema.

Ti chiedo molto, e molto ... e molte fastidiose piccole domande durante un'intervista che sono state progettate in modo specifico (e perfezionate nel tempo) per darmi un'ottima comprensione dei tuoi reali punti di forza rispetto a ciò che hai inserito nel tuo CV. Farò del mio meglio per guidarti lungo una scia di battute soggettive e poi colpirti con problemi sempre più difficili.

Usando l'esempio di Frank , FizzBuzz, l'ultima cosa che voglio sentire da te è "Oh sì, so come usare l'operatore del modulo ..." Se ti sto intervistando, lo so . Potrei voler vedere quanto velocemente il tuo cervello cambia marcia, o potrei voler verificare quanto bene eseguirai un compito che sembra banale e stupido. Il punto è che non sto solo testando la tua capacità di risolvere i problemi.

Posso fare una trappola per topi con centinaia di parti in movimento. Se un'azienda è impegnata nella cattura di topi ... beh ... :)


5
Non scoprirai come l'intervistato ha risolto il problema se solo conosce la risposta.
P Shved,

3
@Pavel: Sicuro ma potresti chiedere loro "Qual è stato il vantaggio di farlo in questo modo invece che in quel modo?" In questo modo puoi vedere se comprendono davvero il processo di pensiero dietro la risposta, o se hanno semplicemente memorizzato la risposta senza capire il perché.
Tim Goodman,

@Tim, quindi se vuoi porre la domanda "come scoprire se l'elenco collegato ha dei loop nella memoria O (1)", e conosco la risposta (diamine, ho risolto molti di questi tipi di problemi), che cosa sarebbe la tua domanda di follow-up è?
P:

Tim, sarei interessato a vederti intervistare qualcuno (o intervistarmi, ahah), solo per imparare.
Marco C,

1
@Pavel, probabilmente complicherei il problema e introdurrei più autori all'elenco. Se ti prendessi un minuto e ci pensassi, probabilmente chiederei la tua opinione sui metodi di blocco libero e farei di nuovo la stessa domanda, chiedendomi se O (1) è andato a O (log n). Se mi fai esplodere completamente dall'acqua e potremmo permettertelo, mi assicurerò che tu diventi il ​​mio capo. Ci scusiamo per il ritardo, quella "busta arancione" in alto si è comportata in modo abbastanza strano ultimamente.
Tim Post

10

Quando sono seduto al posto dell'intervistatore, ho visto molte persone dire "Oh, ho sentito questo", poi fatica a ricordare o rielaborare una soluzione. Quindi, in molti casi, la prescienza non ti dà molto vantaggio. Consiglierei di dire loro che l'hai già sentito prima e di proporre una soluzione. Se è stato troppo facile per te, ti faranno un'altra domanda e apprezzeranno la tua onestà.


8

Sono a favore di una comunicazione aperta e onesta, quindi direi sicuramente che conoscevo la domanda e il trucco in questione.

Suppongo che per un credito extra potresti dire "OK, è così che fanno tutti gli altri, ma vediamo se c'è un modo diverso." Oppure potresti decostruire la domanda in altri modi e mostrare perché alla gente piace la domanda, cosa si suppone stia cercando di farti vedere.

(Modifica: rimosso il riferimento a FizzBuzz, dai commenti di altre persone su questo post.)


4
FizzBuzz non riguarda il factoring.
zvrba,

2
Penso anche che potresti perdere il punto di FizzBuzz.
Tim Post

Bene, allora di cosa si tratta, se non evitare il caso di n mod 15? Ho detto "factoring" perché posso benissimo immaginare qualcuno che usa altri due numeri primi per "Fizz" e "Buzz", pensando che fossero intelligenti. Il punto è ancora che un numero divisibile per i numeri primi N che usi (per FizzBuzzBazz) è anche divisibile per qualsiasi moltiplicazione di quei numeri primi.
Frank Shearar,

1
Il che non ha alcuna importanza dal momento che 3 * 5 non ha bisogno di essere gestito appositamente in un'implementazione di FizzBuzz.
Joren,

Giusto; le soluzioni che ho visto lo hanno fatto, ma no, non è necessario gestire 3 * 5 appositamente.
Frank Shearar,

6

Come intervistatore, non sto ponendo la domanda per vedere se conosci la risposta a una domanda delicata su pollo e uova. Invece sto cercando di vedere come si risolve un problema per arrivare a una risposta. Pertanto, è spesso facile distinguere tra conoscere la risposta e arrivare alla risposta (a meno che, per caso, l'intervistato non si impegni ad arrivare alla risposta!)


3

Nella mia esperienza, per la maggior parte delle interviste tecniche, l'intervistato è davvero interessato alla tua soluzione e al modo in cui l'hai trovata e come la spieghi, piuttosto che se hai già sentito la stessa cosa prima. A meno che non fosse una di quelle domande "enigmistiche" che comportano un "trucco", conoscere il problema in anticipo non ti dà davvero un vantaggio decisivo a meno che tu non sia in grado di risolverlo da solo.

Per una domanda sufficientemente non banale, il problema posto potrebbe in realtà essere ben noto o può essere ridotto a uno. Se qualcuno ti chiede come trovare il percorso più breve tra due nodi in un grafico, fai finta di non conoscere BFS / Dijkstra? IMHO, per alcuni problemi potrebbe anche essere controproducente nascondere il fatto che conosci le tue cose.


+1 per domande a trabocchetto. Se conosci già la risposta a una di queste, puoi semplicemente dirlo. Lo scopo di una simile domanda sarebbe quello di guardare il processo quando i pezzi cadono in posizione e se conosci già la risposta che non accadrà.
Guffa,

3

Penso che raccontare l'intervistatore si applichi solo a quelle stupide domande "gotcha", come il tombino rotondo e altre cose del genere. Domande in cui una volta che conosci la risposta è del tutto ovvio.

Le stringhe di inversione, ecc., Non hanno un'ovvia soluzione "gotcha" che puoi spiegare in 3 secondi se lo conosci.


1

"Conoscere" la risposta non è il punto. Comunicandolo in modo che l'intervistatore abbia la possibilità di capire la risposta che stai dando. (Naturalmente, l'intervistatore conosce un sacco di risposte, ma come ho detto, non è questo il punto.)

Quindi proverei a comunicare la risposta incorniciata in una cornice ragionevolmente didattica, o forse divertente, in modo che l'intervistatore possa vedere come penso e come funzioni, oppure no.

Ad esempio, potrebbe essere divertente per tutti voi (e informativo per l'intervistatore) portare la domanda posta in un contesto totalmente diverso, dimostrando che anche se il problema in questione sembra simile, la soluzione non funziona nel nuovo contesto. Penso che l'arte qui sia quella di trovare un contesto in qualche modo correlato alla domanda in cui la soluzione della prima risposta non funziona, e quindi proporre idee di soluzione spettacolari che l'intervistatore può masticare (o ridere).


0

Quindi qual è l'alternativa? Se dici all'intervistatore che conosci la risposta a una domanda che ti viene posta e ti aspetti che ti facciano solo domande a cui non conosci la risposta, cosa succede? O

  1. Ti rispetteranno perché tenterai solo di rispondere a domande che non hai mai visto / sentito prima,
  2. Saranno spazzati via dalla tua brillantezza - dopo tutto, conosci già le risposte alle domande che stanno ponendo - e ti offriranno immediatamente un lavoro
  3. Penseranno che sei un coglione perché sembri già sapere tutto - basta chiedertelo !, oppure
  4. Penseranno che sei uno sciocco perché non sai quando le cose vanno bene.

Sospetto che le opzioni (1) e (2) non accadranno: chiamami Mr. Cynical. Quindi ti rimane o essere uno sciocco o un coglione, nessuno dei quali è probabile che ti dia un lavoro. Ehi, buona fortuna!

Il punto di un'intervista, come altri hanno sottolineato, è offrirti la possibilità di dimostrare la tua competenza tecnica rispondendo a qualsiasi domanda ti venga posta. Questo tipo di significa che è a tuo favore fare domande che conosci già. Se insisti a sabotare te stesso, vai avanti - nessuno ti fermerà - ma ti suggerisco di non farlo.

Condividi e divertiti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.