チェーンPHP面接

3779 ワード

  • TCPの3回の握手TCP/IPプロトコルの中で、TCPプロトコルは信頼できる接続サービスを提供して、3回の握手を採用して1つの接続を創立します.最初の握手:接続が確立されると、クライアントはsynパケット(syn=j)をサーバに送信し、SYN_SEND状態、サーバー確認待ち;2回目の握手:サーバーはsynパケットを受け取って、必ず取引先のSYN(ack=j+1)を確認しなければならなくて、同時に自分も1つのSYNパケット(syn=k)を送って、つまりSYN+ACKパケット、この時サーバーはSYN_に入りますRECV状態;3回目の握手:クライアントはサーバのSYN+ACKパケットを受け取り、サーバに確認パケットACK(ack=k+1)を送信し、このパケットの送信が完了し、クライアントとサーバはESTABLISHED状態に入り、3回の握手を完了する.このような3回の握手により、クライアントとサービス側は信頼できるデュプレクス接続を確立し、データの転送を開始する.3回の握手の最も主要な目的は接続が二重であることを保証することであり、信頼性が高く、再送メカニズムによって保証されることが多い.
  • PHPマルチステート
  • makeSalePlan();
        }
    }
    
    class Market extends Employee{
        private function makeProductPrice(){
            echo "make product price";
        }
    
        public function continueToWork(){
            $this->makeProductPrice();
        }
    }
    
    class Engineer extends Employee{
        private function makeNewProduct(){
            echo "make new product";
        }
    
        public function continueToWork(){
            $this->makeNewProduct();
        }
    }
    
    class Demo{
        public function Work($employeeObj){
            $employeeObj->continueToWork();
        }
    }
    //  
    $obj = new Demo();
    $obj->Work(new Sales());
    $obj->Work(new Market());
    $obj->Work(new Engineer());
    
  • PHP反射PHP 5には、新しい機能:Reflectionが追加されています.この機能によりphperはreverse-engineer class,interface,function,method and extensionを使用することができる.PHPコードによって、あるobjectのすべての情報を得ることができ、それと対話することができます.反射とは、PHP実行状態において、分析PHPプログラムを拡張し、注釈を含むクラス、メソッド、属性、パラメータなどの詳細情報を導出または抽出することである.このような動的に取得された情報および動的にオブジェクトを呼び出す方法の機能を反射APIと呼ぶ.反射はオブジェクトモデル向けの中元モデルを操作するAPIであり、その機能は非常に強く、複雑で拡張可能なアプリケーションの構築に役立ちます.プラグインの自動ロード、ドキュメントの自動生成、PHP言語の拡張などの用途があります.php反射apiはいくつかのクラスから構成されており、プログラムのメタデータにアクセスしたり、関連する注釈とインタラクティブにしたりするのに役立ちます.反射を用いて、クラスが実装したような方法を取得し、クラスのインスタンスを作成し(newで作成したのとは異なる)、メソッドを呼び出し(通常の呼び出しとは異なる)、パラメータを渡し、クラスを動的に呼び出す静的方法を取得することができる.反射apiはphp内に構築されたoop技術の拡張であり、いくつかのクラス、異常、インタフェースを含め、それらを総合的に使用して、他のクラス、インタフェース、方法、属性、方法、拡張を分析するのに役立ちます.これらのoop拡張を反射と呼ぶ.ReflectionClassでは、Personクラスの次の情報を得ることができます:1)定数Contants 2)属性Property Name 3)メソッドMethod Name静的4)属性Static Properties 5)ネーミングスペースName space 6)Personクラスがfinalまたはabstract
  • であるかどうか
  • 抽象ファクトリモード抽象ファクトリモード(Abstract Factory Pattern)は、スーパーファクトリを中心に他のファクトリを作成します.このスーパー工場は他の工場の工場とも呼ばれている.このタイプの設計モードは、オブジェクトを作成するための最適な方法を提供する作成モードに属します.抽象ファクトリモードでは、インタフェースは関連オブジェクトを作成するファクトリであり、クラスを明示的に指定する必要はありません.生成された各ファクトリは、ファクトリモードに従ってオブジェクトを提供できます.
  • laravel容器、制御反転、依存注入は外部がその依存需要を担当する行為であり、我々はこれを「制御反転(IoC)は内部生産(例えば初期化、構造関数__constructで工場方法、自己手動newによる)ではなく、外部からパラメータまたはその他の形式で注入されたものであり、いずれも依存注入(DI)に属するhttp://laravelacademy.org/post/769.htmlこの文章はとてもいいと思います.
  • RBACユーザー、ロール、権限の3つからなる権限管理ポリシーは、一般的には考えられますが、この考察点が
  • であるとは思いませんでした.
  • Redisデータ型文字列、List、Hash、Set、SortSetおよび最近遭遇したTTL(秒単位で、所与のkeyの残りの生存時間(TTL、time to live)を返す)
  • PHPインタフェースinterface
  • 抽象クラスは、具体的な実装の基準を提供し、インタフェースは純粋なテンプレートである.インタフェースは、実装されたコンテンツを含まない機能のみを定義します.インタフェースはキーワードinterfaceで宣言されます.
  • interfaceは完全に抽象的で、メソッドのみを宣言でき、publicのメソッドのみを宣言でき、privateおよびprotectedのメソッドを宣言できず、メソッドボディを定義できず、インスタンス変数も宣言できません.しかし、interfaceは定数変数を宣言することができます.しかし,定数変数をinterfaceに置くことはインタフェースとしての役割に反して存在する趣旨であり,interfaceとクラスの異なる価値を混同している.必要に応じてabstract classまたはClassに配置できます.
  • 実装インタフェースのクラスは、インタフェースで定義されたすべてのメソッド
  • を実装する.
  • クラスは、宣言でimplementsキーワードを使用してインタフェースを実装することができる.そうすると、インタフェースを実装する具体的なプロセスは、抽象的なメソッドのみを含む抽象クラスを継承するのと同じです.1つのクラスは、1つの親クラスを同時に継承し、任意の複数のインタフェースを実装することができます.extends句はimplements句の前にあるはずです.PHPは1つの親からの継承のみをサポートするため、extendsキーワードの後には1つのクラス名しか追加できません.
  • インタフェースは、他のインタフェースを実装ことはできないが、複数の
  • を継承することができる.