このスケジューリングアルゴリズムのシナリオに答える最良の方法は何ですか?

ゴータマンサハデヴァン

これは私がインタビューで得た質問です。説明するのは少し難しいですが、ご容赦ください。

鉄道の切符売り場を想像してみてください。

  • 最初は3つのカウンターがあります。
  • 誰もラインを壊さないように人々をチェックしている警備員がいます。
  • 各カウンターには2人が並んでいます。並んで待っている人たちがアルファベット順にやって来ました。
  • 新しい4番目のカウンターが開かれています。そして、GとHの2人の新しい人がラインに加わろうとしています。

あなたは警備員です。新しいカウンターで誰を処理できるかを選択できるようになりました。

ここに画像の説明を入力してください

カウンターには1、2、3、4のマークが付いています(青いボックス)。並んで待っている人には、A、B、Cなどのマークが付けられます。ここでは、Aが最初に来て、次にB、次にCなどが続きます。

私は答えと答えの背後にある論理を与えるように頼まれました。インタビュアーは私の答えについてさらに質問を続けました。

たとえば-私が言ったとき、

  • DとEに4番目のカウンターに移動するように依頼します。
  • GはAの後ろに立ち、HはBの後ろに立ちます

インタビュアーは、EとGが同じ優先順位(優先順位)を取得するのはどうしてかと主張しました。

そのような議論の数分後、私はこれが共通のキューがあり、警備員がFCFSに続いて空いているカウンターにキューの次の人を送る場合に簡単に解決できる単純なスケジューリング問題のようだと言いました。

ここに画像の説明を入力してください

しかし、インタビュアーは感銘を受けませんでした。

私が逃した別のアプローチはありますか?そのような質問に答える正しい方法は何ですか?

PS:私はこのラウンドを通過しませんでした:(

プルーン

このトピックでの私の経歴と、ここで認めるよりも業界での長年の経験を考えると... :-) ...なぜあなたが次のラウンドを行わなかったのかについての仮説があります:これはそれほどプログラムではありません行動の質問としての設計の質問。

このクラスの面接の質問は、多くの場合、解決策ではなく、問題解決のアプローチに関するものです。私(インタビュアー)はあなたにいくつかの開かれた可能性に関する問題を与えました。まず第一に、これは「明らかに」OSのマルチプロセッシング状況のメタファーです。理想的な候補者が欲しい

  1. チケットカウンターパラダイムのOS状況への適用可能性に疑問を投げかけます。プロセスキューに適用されない、現実の世界にはどのような仮定が存在しますか?
  2. ソリューションを評価するためのルーブリックを決定します。
  3. 許可されている操作の詳細については、お問い合わせください。
  4. スケジューリングパラダイムの知識を示すために、サービス時間、到着時間などの分布を求めます。
  5. コストとトレードオフについてお問い合わせください。

問題のより良い説明で武装して、私はあなたに解決策を通して働き、あなたの顧客(私)を一般的なアプローチと詳細に一貫して従事させて欲しいです。これは、たとえばアジャイルアプローチの重要な部分です。また、わからないことをどう説明してくれるのか見てみたいです。

項目2は非常に重要であることに注意してください。これに対する真の顧客がシフトの終わりに引退する腐敗した警備員である場合、正しい解決策は、オープンカウンターへのアクセスのために賄賂入札戦争を開催することです。

ここだ、あなたの宿題は、次の面接のために:あなたの指定したソリューションの良いものを作るために必要なものを仮定?これらの仮定を顧客とどのように検証できますか?

私の当面の質問には、上記の質問が含まれます、そして...

  • 良い解決策を定義するものは何ですか?最善の解決策は?受け入れられない?
  • 人を現在の場所から別の場所に移動するための費用はいくらですか?
    • 誰かをウィンドウラインから取り出してキューに戻すことはできますか?
    • キュー内の順序を変更できますか(つまり、正規のデータ構造ではなく「キュー」の一般的な使用法)?
    • 誰かをあるウィンドウラインから別のウィンドウラインに直接切り替えることはできますか?
  • 私がください持っているすべての顧客にサービスを提供するために?
  • それはキュー全体ですか、それとも継続的なプロセスですか?

これは私のタイピングが私の思考プロセスに追いついたところであり、停止するための公正なポイントです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

この(プリエンプティブではない)スケジューリングアルゴリズムの複雑さは何ですか?

分類Dev

この欲張りスケジューリングアルゴリズムはどこで最適ではなくなりますか?

分類Dev

春のブートアプリケーションでタスクをスケジュールするための最良の方法は何ですか

分類Dev

QTcpSocketを介して来るデータのストリームから複雑なアルゴリズムを継続的に実行するための最良のQtスレッドソリューションは何ですか?

分類Dev

GetHashCodeをオーバーライドするための最良のアルゴリズムは何ですか?

分類Dev

モジュラーJava Webアプリケーションを作成する最良の方法は何ですか

分類Dev

ダッシュボードとランディングを備えたReactアプリケーションでCSSスタイルの競合に対処するための最良の方法は何ですか?

分類Dev

Linux用のバイナリアプリケーションを配布する最良の方法は何ですか?

分類Dev

このソリューションのアルゴリズムの複雑さは何ですか?

分類Dev

Scala:Collatzシーケンスのこのアルゴリズムをそれほど非効率にしているのは何ですか?

分類Dev

クラスカルのアルゴリズムでエッジをソートする最良のオプションは?

分類Dev

Javaでタスクをスケジュールするときにドリフトを最小限に抑えるための最良の方法は何ですか?

分類Dev

これらのアルゴリズムの最良および最悪の場合の分析は何ですか?

分類Dev

このデータをクラスター化するための最良のアルゴリズムは何ですか

分類Dev

RLの近位ポリシー最適化アルゴリズムを理解する方法は何ですか?

分類Dev

ベースとパワーの両方がバイナリであるバイナリ値のパワーを見つけるための最良のアルゴリズム方法は何ですか?

分類Dev

遺伝的アルゴリズム/遺伝的プログラミングソリューションの良い例は何ですか?

分類Dev

このアルゴリズムのビッグオーは何になるのでしょうか?

分類Dev

カーネルはどのスケジューリングアルゴリズムを使用しますか?

分類Dev

Elixir CLIアプリケーションをパッケージ化する最良の方法は何ですか?

分類Dev

Javaでシングルスレッドの複雑なアルゴリズムを測定するための最良のマクロベンチマークツール/フレームワークは何ですか?

分類Dev

チューリングマシンとアルゴリズムの違いは何ですか?

分類Dev

Javaでのジョブスケジューリングアルゴリズム

分類Dev

チューリングマシンのこのアルゴリズムを正式に説明するにはどうすればよいですか?

分類Dev

バックボーンとマリオネットアプリをモジュールに分割する最良の方法は何ですか?

分類Dev

Goプログラムに静的リソースをバンドルする最良の方法は何ですか?

分類Dev

オブジェクトのリレーショナルリストを追跡するための最良の方法は何ですか

分類Dev

PHP-2つの文字列間の類似性を計算するための最良のハッシュアルゴリズムは何ですか?

分類Dev

cでスケジューリングアルゴリズムを実装するための提案

Related 関連記事

  1. 1

    この(プリエンプティブではない)スケジューリングアルゴリズムの複雑さは何ですか?

  2. 2

    この欲張りスケジューリングアルゴリズムはどこで最適ではなくなりますか?

  3. 3

    春のブートアプリケーションでタスクをスケジュールするための最良の方法は何ですか

  4. 4

    QTcpSocketを介して来るデータのストリームから複雑なアルゴリズムを継続的に実行するための最良のQtスレッドソリューションは何ですか?

  5. 5

    GetHashCodeをオーバーライドするための最良のアルゴリズムは何ですか?

  6. 6

    モジュラーJava Webアプリケーションを作成する最良の方法は何ですか

  7. 7

    ダッシュボードとランディングを備えたReactアプリケーションでCSSスタイルの競合に対処するための最良の方法は何ですか?

  8. 8

    Linux用のバイナリアプリケーションを配布する最良の方法は何ですか?

  9. 9

    このソリューションのアルゴリズムの複雑さは何ですか?

  10. 10

    Scala:Collatzシーケンスのこのアルゴリズムをそれほど非効率にしているのは何ですか?

  11. 11

    クラスカルのアルゴリズムでエッジをソートする最良のオプションは?

  12. 12

    Javaでタスクをスケジュールするときにドリフトを最小限に抑えるための最良の方法は何ですか?

  13. 13

    これらのアルゴリズムの最良および最悪の場合の分析は何ですか?

  14. 14

    このデータをクラスター化するための最良のアルゴリズムは何ですか

  15. 15

    RLの近位ポリシー最適化アルゴリズムを理解する方法は何ですか?

  16. 16

    ベースとパワーの両方がバイナリであるバイナリ値のパワーを見つけるための最良のアルゴリズム方法は何ですか?

  17. 17

    遺伝的アルゴリズム/遺伝的プログラミングソリューションの良い例は何ですか?

  18. 18

    このアルゴリズムのビッグオーは何になるのでしょうか?

  19. 19

    カーネルはどのスケジューリングアルゴリズムを使用しますか?

  20. 20

    Elixir CLIアプリケーションをパッケージ化する最良の方法は何ですか?

  21. 21

    Javaでシングルスレッドの複雑なアルゴリズムを測定するための最良のマクロベンチマークツール/フレームワークは何ですか?

  22. 22

    チューリングマシンとアルゴリズムの違いは何ですか?

  23. 23

    Javaでのジョブスケジューリングアルゴリズム

  24. 24

    チューリングマシンのこのアルゴリズムを正式に説明するにはどうすればよいですか?

  25. 25

    バックボーンとマリオネットアプリをモジュールに分割する最良の方法は何ですか?

  26. 26

    Goプログラムに静的リソースをバンドルする最良の方法は何ですか?

  27. 27

    オブジェクトのリレーショナルリストを追跡するための最良の方法は何ですか

  28. 28

    PHP-2つの文字列間の類似性を計算するための最良のハッシュアルゴリズムは何ですか?

  29. 29

    cでスケジューリングアルゴリズムを実装するための提案

ホットタグ

アーカイブ