背景知識エンジニアを開発する米国のグループは、要約に直面します

フォワードプロキシとリバースプロキシの違いは?

基本的に、トランシーバの要求と応答の代わりにフォワードとリバースプロキシエージェント。

フォワードプロキシはクライアントとターゲットサーバの間に位置し、プロキシサーバです。オリジンサーバからコンテンツを取得するために、クライアントは、プロキシサーバに要求を送信し、ターゲット・サーバ、プロキシ・サーバは、ターゲットとクライアントに取得したコンテンツを送信します。クライアントは、フォワードプロキシのケースを使用するために、いくつかの特別な設定でなければなりません。

リバースプロキシ正反対。クライアントの場合は、ターゲット・サーバーの場合、リバースプロキシ、およびクライアントは、任意の設定を必要としません。クライアントは、コンテンツが自分自身のように、のようなので、クライアントはバックリバースプロキシサービスを知覚しないように、その後、要求、要求がクライアントに転送される場所を決定するためにリバースプロキシ、リバースプロキシにリクエストを送信します、クライアントは、ちょうどうまく実サーバとしてリバースプロキシサーバを必要とし、任意の設定を行う必要はありません。

フォワードプロキシはクライアントが非表示になります。(アクセスGoogleのはしご)

リバースプロキシサーバーの皮。(負荷分散、イントラネット・サーバーにアクセスします)

参考文献:

なぜ、リバースプロキシ、リバースプロキシと呼ばれますか?

プロセス、スレッド、コルーチン?

プロセス

プログラムを実行するプロセスを指し、システムは、リソース割り当ての最小単位であり、このプロセスは、一般に、以下の成分からなります:

  • プログラムコード(テキストセグメントまたはコードセグメントとも呼ばれます)
  • 現在のアクティビティ(プログラム・カウンタを含め、内容を登録します)
  • (グローバル変数を含む)のデータセグメント
  • (関数のパラメータを含むなど、一時的なアドレスパラメータとローカル変数を返す)スタック
  • (プロセス中に実行するためのメモリの動的割り当て)ヒープ

プロセスの特徴:

  • ダイナミック:終焉によって取り消さ中断資源の不足によるスケジューリングによって実行作成プロセスの結果、、。
  • 並行性:複数のプロセスは、時間をかけて同時に実行することができます。
  • 独立性:プロセスは、独立して、基本的な単位です。
  • 非同期:プロセスは、それぞれ、独立して、未知の速度に進めるために。

スレッド

また、軽量プロセスとして知られているスレッドは、プロセス内の実行中のスレッドは、これらの手続きの実際の実装、少なくとも一つのメインスレッドを含むプロセスである、あなたはより多くの子スレッドを持つことができます。

  • スレッドID、プログラム・カウンタ、レジスタセットとスタック構成要素によって、CPUベースユニットを使用して。
  • スニペットのスレッドは、同じプロセス、データ、およびその他のリソースのプロセスを共有しています。

スレッド機能:

  • 高応答:プロセスにおけるブロッキングスレッドはプロセス全体をブロックするにはなりません。
  • リソースの共有:複数のスレッドは、プロセスのすべてのリソースを共有するプロセスに属しています。
  • コミュニケーションは簡単です:
  • 経済:少ないリソースでは、スレッド切り替え処理に、スレッドを作成するために切り替えるために必要とされるよりも少ないリソースを費やしました。
  • マルチプロセッサアーキテクチャを使用して:CPUを達成するために複数のスレッドを実行する複数の利用することができる並行処理。

オペレーティング・システム上で、スレッドは実行の最小単位であり、プロセスは、リソース管理の最小単位です。

プロセスまたはスレッドかどうかは、オペレーティングシステムによって管理されています。

コルーチン

コルーチン、英語コルーチンは、スレッドが存在するよりも、より軽量です。プロセスとして、あなたは複数のコルーチンを持つことができるスレッドのように、複数のスレッドを持つことができます。

コルーチンは、オペレーティングシステムカーネルによって管理されていない、そして完全にプログラム(即ち、ユーザモード実行)によって制御されます。

参考文献:

ヒープとスタックメモリの違い

シングルコアCPUとマルチコアCPU、プロセスやスレッドが同時に実行されていますか?

コミック:コルーチンとは何ですか?

ゴルーチンシステム知識の後ろ

プロセスのスケジューリングアルゴリズム

ファイブ状態プロセスモデル

上記のように、準備完了状態、CPUスケジューラプロセスで複数のプロセスがそれに割り当てられたCPUを選択するために、異なるプロセス状態があります。

それが使用するアルゴリズムを実行するCPUスケジューラは、スケジューリング・アルゴリズムと呼ばれると呼ばれる選択のプロセスのどの部分かを決定する準備ができました。

FCFSスケジューリングアルゴリズム

最短の仕事最初のアルゴリズム

  • ノンプリエンプティブ:プロセスを実行している場合は自主的にCPUスケジューリングの制御を放棄
  • プリエンプティブ:
    • スケジューリングプロセスは、イニシアチブプロセスのCPUを残すために最短時間を実行します
    • ときに新たに到着したプロセスの実行時間は以下であるランタイム残りの実行中のプロセススケジューリング時間を

最初のアルゴリズムよりも高い応答

応答率=(​​+プロセッサ・サービス時間の所望の待ち時間)/所望のサービス時間

ラウンドロビンアルゴリズム

  • プリエンプティブスケジューリングアルゴリズム
  • 時計しょっちゅう割り込みを発生させるために、プロセスが実行するために、レディキューから先着順選択プロセスで、準備状態に実行しています

優先順位スケジューリングアルゴリズム

  • 各プロセスは、優先度が同じ先着順オーダーのスケジュールで、優先度が同時に最も高い優先度のスケジューリングプロセスではなく、優先順位を持っています
  • ノンプリエンプティブ/プリエンプティブ

マルチレベルキュースケジューリング

  • レディキューを別々のキューを複数に分割し
  • さまざまなキューの間で優先度スケジューリングを使用します
  • 同じ優先順位の間でラウンドロビンスケジューリングを使用します

多段フィードバックキュースケジューリング

  • プリエンプティブアルゴリズム
  • 優先度の低いキューに高い複数の
  • プロセスはちょうどRQ1に完全なタイムスライスを実行し、RQ0を入力して、システムに入りました
  • これは、ラウンドロビンスケジューリング方法に従い、最低のプライオリティキューです

仮想記憶

これは、メモリに仮想ストレージシステムの店舗にジョブを実行するジョブの一部のみを指します。

その要求と機能交換機能、拡張メモリ・ロジックからストレージシステムを転送しました。

要求ページのストレージ管理

  • ページは部分的にしかメモリプロセスに転送されると
  • 希望のページがメモリ内にない場合は、リクエストが必要なページに転送します
  • メモリ不足した場合、メモリは、外部補助記憶装置にページにスワップアウトすることができます

ページフォルト

ページがありません:実装のプロセスがアクセスするページはメモリではありません

落丁原因ページフォールト:OSページフォルト、メモリに必要なページに応答して、

不足しているページ置換アルゴリズム

  • ページフォルトが発生した場合、OSは部屋を作るために転送されるページのメモリのメモリを呼び出すためにページを選択してください
  • 段階的に廃止されるページを選択するための責任を負うページ置換アルゴリズム
  1. 最適なページ置換アルゴリズム

    • ページフォルトが発生した場合、いくつかはすぐにメモリ内にアクセスされたページが存在しますされ、一部はへアクセスするために、100のまたは1000の指示を待つ必要が
    • 命令の数は、各ページには、次のページをタグ付けする前に実行されるようにアクセスする必要があります
    • ページ置換アルゴリズムは、最大のマークを排除します
    • このアルゴリズムは最適ですが、それを達成することができません。
  2. FIFO置換アルゴリズム

    • ページフォルトが発生した場合、最初はメモリページの交換を入力します
  3. LRU置換アルゴリズム(最小最近最も最近中古)

    • 交換時に最長未使用のページを選択します

    • 達成するために、LRUアルゴリズム:タイマー

    • 達成するために、LRUアルゴリズム:二重にリンクされたリスト

      • アクセスページは、頭に移動するには、このページを追加するとき

      • あなたは、交換したときに調べるために交換用のテールページを必要としません

HTTPステータスコード

分類 説明
1 ** 情報は、サーバーが要求を受信すると、依頼者は、動作を継続する必要があります
2 ** 成功した操作が正常に受信され処理されています
3 ** リダイレクションは、さらにアクションが要求を完了するために必要とされます
4 ** クライアントエラー、要求は、構文エラーが含まれているか、要求を満たすことができません
5 ** サーバーエラーサーバーエラーは、要求の処理中に発生しました

一般的なステータスコード

ステータスコード ステータスコード英語名 中国の説明
200 OK 要求は、一般的にGETとPOSTリクエストのために使用され、成功しました
320 発見 リソースが一時的に移動し、クライアントは元のURIを使用し続けなければなりません
403 禁じられました サーバはクライアントの要求を理解したが、この要求を実行することを拒否しました
404 見つかりません サーバはクライアントの要求に応じてリソースを見つけることができません
500 内部サーバーエラー 内部サーバーエラーや要求を満たすことができません
502 不正なゲートウェイ ゲートウェイまたはプロキシサーバが無効に応答して、リモートサーバから受信した要求を実行しようとし

参考文献:

HTTPステータスコード(初心者チュートリアル)

HTTPとHTTPSの違い

HTTPS機能

  1. 機密性

    対称暗号化、非対称暗号化、暗号化混合

  2. 整合性

    ダイジェストアルゴリズム

  3. 認証、否認防止

    デジタル署名(プライベートキー+アルゴリズムダイジェスト)

参考文献:

プログラマ小さな灰色

タイムオタク:パースペクティブHTTPプロトコル

データベース

指数

業務

アルゴリズム

  1. leetcode:データ・ストリームにおけるKの値が大きいです

    達成Golang

  2. フィボナッチ数----いくつかの階段Nステップは、各ステップが1つのまたは2つのステージを横切って定義することができ、最初のn個の階段は、いくつかの異なる動きがあるボードには?

  3. ストリング・デジタル(例えば、文字列型123、123は、int型の変換された後でなければなりません)

概要

サイドはおそらく1.30時間を経験し、インタビュアーが私に尋ねるために私の履歴書には、プロジェクトのポイントに関わる基本的なスキルに準拠している、二つの質問3つのアルゴリズムの前に、実際には非常に基本的なもので、すべての知識ポイントが非常に浅く、頼みます彼は、チャネルがテンセントは、難易度の全体的な程度は簡単です手とさせて頂いておりますし、コードを打った私は、ドキュメントを共有するための最後の一人、考えていると述べました。

おすすめ

転載: www.cnblogs.com/yahuian/p/11486311.html