web-dev-qa-db-ja.com

InterviewStreetで質問を解決する方法を学ぶ良い方法

重複の可能性:
インタビュー前の質問にどのように適応しますか?

InterviewStreetは、企業がコーディング可能なプログラマーを見つけるためのフィルターとして機能する新しい会社です。私の問題は私の数学がかなり弱いことであり、たとえゼロからでも、彼らのサイトにあるこのような質問を解決できるようにそれを勉強したいと思います:

Find the no of positive integral solutions for the equations (1/x) + (1/y) = 1/N! (read 1 by n factorial) Print a single integer which is the no of positive integral solutions modulo 1000007

さて、その質問への回答は投稿しないでください。InterviewStreetから直接取得されるため、ここに投稿しないでください。このスレッドで私が求めている答えではありません。私が求めているのは、より根本的な質問です。おそらくSOコミュニティの一部のハッカーが答えることができます。

そのような質問にどのように準備しますか?このタイプの問題を解決する方法を研究/学習するために利用できるリソースは何ですか?これは、MITオープンコースウェア?カーンアカデミー?特定の本?上記の問題の解決をどこから始めればよいかわからないので、どうすればよいのか知りたいそうするために取る。

10
imaginative

多くの場合、インタビューの質問は、専門知識を必要とせずに問題解決スキルをテストするように設計されています。しかし、あなたの質問については、いくつかの数学的知識が間違いなく役立ちます。少なくとも、「正の積分」と「モジュロ」の定義を理解する必要があります。数論の入門コースが役に立つかもしれません おそらくこれはOCWからのもの

また、サンプル問題には Project Euler をお勧めします。これは、数学およびプログラミングの知識を深める優れた方法です。言語を選択して、演習を始めます。

9
minimalis

本を暗記するだけでは、このような問題に備えることはできません。 lotslotsの問題。ただし、アルゴリズムとデータ構造の本を入手し、それを読むことをお勧めします。プロセスが大幅にスピードアップします。

数年前、夏の間(1日5時間以上)、このような種類の問題の解決のためにちょうど楽しみのために練習したことを覚えています。

これができる場所はたくさんあります。 Project Euler は良い出発点です。 Vaオンラインジャッジ にも問題が山積しています。

6
tskuzzy

この特定の問題では、基本的な数論、特に合成数の因数分解、素数のいくつかの特性、および比較的素数のペアの理解についての知識が必要です。

サイトの他の問題は、ビッグO表記法、単純なデータ構造、並べ替えのような基本的なアルゴリズム、および組み合わせ論を理解する必要があります。私は5つの問題のうち3つを通過し、4番目の問題はほぼ終了しました。大学でのCSクラスの最初の1年後の特定の知識はまったく使用していません。とはいえ、これらは難しい問題です。それらのいくつかは、驚くべき量の数学的直観を必要とします。

この種のものに備えるには、数学的な問題解決に優れている必要があります。オリンピアード(高校の場合)またはパトナム試験(大学の場合)を調べ、見つけた練習問題を実行します。彼らは難しいですが、最終的には上手くなります。

また、30ポイントの質問-象限クエリ-を最初に実行しないでください。一番難しいです。

0
lionel b