web-dev-qa-db-ja.com

フロイドのアルゴリズム

インタビューで尋ねられた場合、個人がアルゴリズムを理解することは可能ですか(予想されます)?他にどのような問題が同様に興味深い解決策を持っていますか?

編集:私が参照している実際のアルゴリズムの混乱のため、それは フロイドの循環検出アルゴリズム 、別名、カメとウサギのアルゴリズムです。

8
picakhu

まあ、彼らが言うように不可能なことは何もありません。

ただし、ダイクストラやフロイドのことを聞いたことがない場合は、1回のインタビューでこれを理解することはほぼ不可能です。

人々が1つのアルゴリズムの開発に一生を費やしているのは、あなたがそれについて2つの考えを持っていた場合のためにです。

7
Fanatic23

いいえ、ちがいます。当時の最高の数学者/コンピューター科学者がこれらのアルゴリズムを定式化するのに何年もかかりました。プレッシャーがかかっている間、2分で同じことをするつもりはありません。

あなたの質問の2番目の部分について...まあ、私はあなたがここで何を面白いと思うか本当にわかりません。そのアルゴリズム、データ構造、および組み合わせ論が好きな場合は、「アートまたはコンピュータープログラミング」を読んでください。それ以上に良くなることはありません。

7
Davor Ždralo

インタビュアーは、あなたの反応を見るために、不可能または無意味な質問をするかもしれません。

彼らは問題へのあなたのアプローチを理解したいだけであり、必ずしも知識そのものではありません。

保持する情報が多すぎるため、重要なのはグーグルの能力と消防ホースからの情報をどのように消費するかです。

5
Andrew Russell

@ fanatic23が言ったように、ダイスクトラについて聞いたことがなければ、フロイドのアルゴリズムを理解するのは非常に困難ですが、グラフの研究を行ったことがあれば、フロイドは基本的なアルゴリズムの1つです。有能なアルゴリズムスキルが必要になる可能性のある職種を探している場合は、グラフを使用するときに重要と考えられるいくつかのアルゴリズムについて少なくとも読むことをお勧めします。

これらの4つのトピックを使用すると、インタビューの基本的な質問から中程度の質問までナビゲートできます。

1
David Conde

これは面接の質問であるため、常に最初に最も重要な質問を自問する必要があります。

潜在的な雇用主は典型的な候補者に何を期待でき、どのように私はよりよくできるでしょうか?

明らかに、インタビューの時間的制約の中で優れた科学者が何年もかかった仕事を実行できる人はほとんどいないでしょう(そしてプロトタイプの候補ではないでしょう)。したがって、それは彼らがあなたに期待することではありません。

雇用主は他に何を期待できますか?

  • あなたはすでにアルゴリズムを知っているかもしれません。これは単純で退屈です。あなたはただそう言うことができます、そしておそらくあなた自身について学ぶべきことはあまりないので、トピックは切り替えられるでしょう(雇用者の観点から)。

  • あなたはアルゴリズムを知らないかもしれません。これは実際には典型的な候補者の状態であり、それが予想される場合、結果はどうなりますか?ここで会社の見解を検討してください。候補者が明白なことを述べることができない場合、それはおそらく良いことではありません。私はこのアルゴリズムを知りません。漠然とした文章を書き始めて、ここで本当の問題について話すと、悪い印象を与えるでしょう。したがって、そのような質問をする主な目的は、あなたがそれに答えることができると期待することではなく、あなたがしていることに遭遇したときのあなたの反応をテストすることですnot知っています。

  • あなたはアルゴリズムを知らないかもしれません、しかし ...上記の元の質問に戻るために:どうすればもっとうまくいくことができますか?同様のアルゴリズムを知っているかもしれないので、あなたが認識している類似点を説明してください(たとえば、フロイドのトータス+ヘアアルゴリズムは、ポラードローアルゴリズムと同様のアプローチを使用します)。あなたは印象的なコードの読み取り/理解のスキルなどを持っているかもしれません。もちろん、この部分は最も難しいですが、繰り返しになりますが、実際に平均的な候補者よりも優れている場合にのみ利用できます。

1
Frank

インタビューで尋ねられた場合に、個人がアルゴリズムを理解する(これまで見たことがない)ことは可能ですか?

出来ますか?それはアルゴリズムと候補に依存します。候補者の大多数は、実際にこの種のことをするのに苦労していると思います。 (これらの問題がそれほど単純な場合、なぜ誰かがそれらを解決したことで有名になるのでしょうか?)

それは期待されていますか?それは、面接官の可能性と候補者の彼らの期待に依存します。もし私が彼らが本当に候補者がこの種のことをすることができると期待するならば面接で彼らは多くの候補者を面接しなければならないでしょう。このような質問は、候補者がプレッシャーの下でどのように機能するか/考えるかを確認するために尋ねられる可能性が高くなります。

他にどのような問題が同様に興味深い解決策を持っていますか?

私はそれに答えるつもりはありません。むしろ私はそれを言うつもりです:

  • あなた(候補者として)がこれを行うことが期待される可能性は、典型的な仕事では小さいです。ただし、特定のアルゴリズムを知るための特定の要件がある専門的なITの仕事に応募する場合は、それらについて説明するように求められることがあります。

  • 求められた場合に備えて、派生アルゴリズムを学ぶ意味はほとんどありません。 (または、事前にアルゴリズムを知って「不正行為」をします。)実際にこれを行うように求められた場合は、他のほとんどの候補者も同様に苦労する可能性があることを知って、最善を尽くします。

  • アルゴリズムの範囲、または少なくともそれらを知っているを知っていると役立ちます。アルゴリズムが作業に役立つ場合があるためです。しかし、それはあなたが取り組むITの分野に大きく依存します。

0
Stephen C