プログラミングインタビューで、特定の問題のアルゴリズムを提供するなど、質問に対する回答をすでに知っている場合。それを面接担当者に開示する必要がありますか?この問題は、質問に目新しい点がある場合にのみ意味があります。
1つの例は、「文字列内の各単語を逆順にするにはどうすればよいですか?私の例のように、あなたが知っていると「想定されている」より簡単なものと、より困難なさらに考案された問題の間には、境界があるようです。
この問題に対処するためのポリシーと根拠は何ですか?質問/知識人にすでに精通している場合は、質問への回答に加えてこれを開示する必要がありますか?質問に対するあなたの以前の知識を開示しないことに関わる倫理的ジレンマはありますか?
ためらわずに迷惑をかけずに答えます。質問への回答を知ることは悪いことではありません。それは、以前に遭遇したことがあり、それを解決する方法を知っていることを意味します。修正して、次に進みます。
私はまだ質問に答えます。私はプログラマーに非常に頻繁にインタビューします。私はあなたがcan問題を解決する(あなたが単純にできない場合を除く)という事実にはあまり興味がなく、howあなたが問題を解決したことにもっと興味があります。
面接では、CVに何が当てはまるかと比べて、実際の強みを非常によく理解できるように特別に設計された(そして時間をかけて洗練された)面白そうな質問をたくさん聞きます。私は最善を尽くして主観的な冗談の道に沿ってあなたを導き、そしてますます困難な問題にあなたを襲います。
フランクの例 、FizzBuzzを使用して、あなたから聞きたい最後のことは、「ああ、そうです、モジュラス演算子の使い方を知っています...」あなたにインタビューしているなら、私は知ってそれ。私はあなたの脳がどれだけ速くギアを切り替えるかを見たいかもしれません、あるいは私はあなたが平凡で愚かに見える割り当てをどれだけうまく実行するかをテストしたいかもしれません。重要なのは、私がjustではなく、問題を解決する能力をテストすることではありません。
何百もの可動部品でマウストラップを作ることができます。会社がネズミを捕まえるビジネスをしているなら..まあ... :)
インタビュアーの席にいるとき、「ああ、これ聞いたよ」と言う人がたくさんいるのを見て、解決策を思い出したりやり直したりするのに苦労しました。したがって、多くの場合、予知はあなたにそれほど多くの利点を与えません。以前に聞いたことがあることを伝え、解決策を提案することをお勧めします。簡単すぎた場合は、別の質問が表示され、正直に感謝されます。
私は率直で率直なコミュニケーションを支持しているので、質問と関連するトリックを知っていたと間違いなく言うでしょう。
追加のクレジットとして、「OK、これは他のすべての人が行う方法ですが、別の方法があるかどうか確認しましょう」と言えるでしょう。または、他の方法で質問を分解し、なぜ人々が質問を気に入っているのか、その質問があなたに見させようとしているものを示すこともできます。
(編集:この投稿に関する他のユーザーのコメントから、FizzBuzzへの参照を削除しました。)
面接担当者として、トリッキーな鶏と卵の質問に対する答えを知っているかどうかを確認するために質問をしているのではありません。代わりに、私はあなたが問題にどのように取り組み、答えにたどり着くかを調べています。したがって、答えを知っていることと、答えに到達することの違いは、簡単にわかることがよくあります(ただし、面接対象者が答えに到達するために行動する場合を除きます)。
私の経験では、ほとんどの技術面接では、面接対象者はあなたが以前にまったく同じことを聞いたことがあるかどうかではなく、解決策とそれを思いついた方法と説明に本当に興味があります。 「トリック」を伴う「パズル」の質問の1つでない限り、問題を事前に知っていても、自分で解決できない限り、本当に決定的なエッジにはなりません。
十分に重要な質問の場合、提起される問題は実際にはよく知られている問題であるか、1つに減らすことができます。グラフの2つのノード間の最短ルートを見つける方法について誰かが質問した場合、BFS/Dijkstraを知らないふりをしますか?私見、いくつかの問題については、あなたが自分のものを知っているという事実を隠すことは逆効果になるかもしれません。
面接担当者に伝えるのは、丸いマンホールやその他のような、間抜けな「ごちゃごちゃ」な質問にのみ当てはまると思います。答えがわかったら、それは完全に明白な質問です。
文字列の反転などは、それを知っていれば3秒で説明できる明白な「問題」解決策はありません。
答えを「知る」ことは重要ではありません。インタビュアーがあなたが与えている答えを理解する機会を持つようにそれを伝えることです。 (もちろん、インタビュアーはたくさんの答えを知っていますが、私が言ったように、それはポイントではありません。)
だから、私は回答を合理的に教訓的な、またはおそらく滑稽なフレームにフレーム化して伝えようとします。そうすれば、インタビュアーは私がどのように考え、機能するか、またはしないかを確認できます。
たとえば、質問が質問とまったく異なる状況で行われることは、皆さんにとっても(面接担当者にとっても有益です)、楽しいかもしれません。目下の問題は似ているように見えても、解決策は新しい状況では機能しないことを示しています。ここでのアートは、最初の回答からの解決策が機能しない問題の何らかの関連コンテキストを見つけ、インタビュアーが噛み砕く(または笑う)素晴らしいソリューションのアイデアを提案することだと思います。
だから代替手段は何ですか?提示された質問への回答がわかっていることをインタビュアーに伝え、回答がわからない質問のみを与えると期待した場合、どうなりますか?どちらか
オプション(1)と(2)は起こらないと思います-私をシニカルさんと呼んでください。ですから、あなたは愚か者であるか、頭がおかしいままであり、どちらもあなたに仕事をもたらす可能性は低いです。ねえ、頑張って!
インタビューのポイントは、他の人が指摘したように、あなたに与えられた質問に答えることによってあなたの技術的な熟練を実証する機会をあなたに提供することです。この種のことは、あなたがすでに知っている質問をされることがあなたにとって有利であることを意味します。あなたが自分自身を妨害することを主張するなら、先に進んでください-誰もあなたを止めるつもりはありません-しかし、私はそうしないことをお勧めします。
共有してお楽しみください。