こんにちはこれはCareerCupのインタビューの 1 つからの質問です。
問題文 : Google などのロギング システムをどのように設計しますか。URL が 2 つの時間枠内で開かれた回数を照会できるはずです。
i/p : start_time 、 end_time 、URL1 o/p : 開始時刻と終了時刻の間に URL1 が開かれた回数。
一部の仕様 : データベースは最適なソリューションではありません URL は、特定のタイム スタンプに対して複数回開かれている可能性があります。URL は、2 つのタイム スタンプ内に何度も開かれた可能性があります。start_time と end_time は 1 か月離れている場合があります。時間は 1 秒単位まで細かく設定できます。
私のアプローチ:
ロギング システム: URL としてのキーと、URL がクリックされた回数の配列リストとしての値のハッシュ テーブルを作成します。クエリ時間: 時間枠が指定されている場合、変更されたバイナリ検索を適用し、その時間枠の間の位置を取得してから、その時間枠の間に URL が開かれた回数をカウントします。
誰かが私のアプローチについてコメントしたり、より良いアプローチを提案したりできますか? ありがとう。
PS私はこれを見ました(情報検索:時間枠内のURLヒット)が、あまり役に立たなかったので、もう一度質問します.