2016-09-07 3 views
0

私はこの記事を投稿することを願っています。 シンプルなシステム設計とアーキテクチャーに関するインタビューの質問/アイデア、特に重いクライアント/ Webの焦点といくつかのサーバーのインヴェルブルメントを誰かが共有できるかどうかは疑問でした。 (単に高得点を格納し、現在の推測ワードを提供するサーバーを持つハングマンのような) 私はインタビューを受けています。フルスタックのソフトウェアエンジニアがロールしているので、それぞれ3分45秒、システム設計とアーキテクチャに関する質問があります重いクライアントコンポーネントを持つアプリケーションを設計し、クライアントとサーバーの関係も調べるように求めています。重いクライアントが必要システム設計とアーキテクチャ設計のアイデアと回答/ヒント

また、どのようにホワイトボードに表示するかについての情報を共有することができます。私はより多くのサーバーを集中的に設計することには慣れていますが、クライアントサイドのアーキテクチャ/システムをどのように引き出すかについて少し混乱しています。

感謝!

答えて

0

あり、非常に興味深い私は尋ねた質問と1時間以上の実施の議論のカップル:)

  1. デザイン音楽編集ソフトがあったが、キャッチは、複数の人が働くことになりますです同じ曲/トラック上に同時にまた、オフラインでの編集や自動衝突の検出と解決をサポートする必要があります(当時、私はGoogle Docsで使用されていた操作的な変換についてはほとんど分かりませんでしたが)。カープールシステム?

私はここでは詳細でデザインのアイデアをこぼれしたくない(あなたが推測できるように、これは有名なライドシェアリング会社の面接で聞かれた)が、これらはにあるように助けたものを私は問題を解決します完璧な答えがなく、あなたはあいまいさをたくさん扱っていることを知ってください。段階的に要件を詳述し、キャッシング、水平スケーリングなどの一般的なパターンを使用して構造的に解決しようとする必要があります。ほとんどの企業は、あまりにも多くの一般化などで早期の最適化を行わないなどの特性を探します。

+0

carpoolingクライアントはサーバーのプールグルーピング決定ロジックの単なるウィンドウです。 – BYC

+0

完全に真実ではありませんが、車がどこにあるか、ドライバがより多くの人に対応できるかどうかなどを追跡する必要があります。Uberのアーキテクチャを読んだら、ドライバの電話をバックアップデータセンターとして使用します。またはフェイルオーバーが発生しています。これは需要供給問題であり、方程式の両辺は等しく複雑です(私は実際のスケジューリング作業の多くはサーバー側で行われることに同意します) –

関連する問題