この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 11174|答える: 1

php シニアプログラマーアーキテクト面接の質問

[リンクをコピー]
掲載地 2016/12/23 9:10:09 | | |


最近、いくつかの企業を次々と面接し、重要な質問をいくつか記録し、勉強と上達を自分に促しつつ、友人たちの助けにもなればと思っていました。
内容はたくさんあり、少しずつ、ステップバイステップで学んでいきます。
面接で聞かれるものもあれば、採用要件のもの、そして自動的に追加されるものもあります。

1. MySQL関連の知識
    1. MySQL最適化手法
            MYSQL最適化の一般的な手法
            MySQLパフォーマンス最適化スキーム
  
    2. データベースとテーブルの分割方法
           参考文献:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Mysql+でのデュアルマシンホットスタンバイおよびロードバランシングのやり方
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. データテーブルの種類とは何か?
       MyISAM、InnoDB、HEAP、BOB、ARCHIVE、CSV などです
       MyISAM:成熟していて安定していて、管理しやすく、読みやすいです。 一部の機能はサポートされていません(トランザクションなど)、テーブルレベルのロックなどです。
       InnoDB:トランザクション、外部鍵、行ロックをサポートします。 容量を多く取り、全文インデックス作成には対応していません。

       myisamおよびInnodBエンジンの主な特徴:
       MySQLのストレージエンジンMyISAMとInnoDBの違いは何ですか?

   5. アンチSQL注入方法
      mysql_escape_string(strip_tags($arr[「$val」));

   6. mysqlが大きなテーブルを複数のテーブルに分割した後のクロステーブルクエリ効率問題の解決方法

[php] 普通のコピーを見る
コードスライスから派生したコードスライスをCODE上でご覧ください

    /**
    * 関数名:post_check()  
    * 関数関数:提出された編集を処理する  
    * パラメータ:$post:提出するコンテンツ  
    * 返却値:$post:フィルタリング済みのコンテンツを返す  
    */  
    関数 post_check($post){  
    if(!get_magic_quotes_gpc()){// magic_quotes_gpcが開いているかどうかを判定します   
    $post = アッドスラッシュ($post); 開magic_quotes_gpcせずに提出されたデータのフィルタリングを行う   
    }  
    $post = str_replace("_","\_",$post); 「_」をフィルターで除外してください  
    $post = str_replace("%","\%"、$post); 「%」をフィルタリングしてください  
    $post = nl2br($post); ここでコンバージョンの登場です   
    $post = htmlspecialchars($post); HTMLマークアップ変換   
    リターン$post;  
    }  

   7. インデックスの適用
         インデックス作成を検討すべき時期
         インデックス作成に適さない状況
         文がインデックスを使うかどうかを判断する方法
        インデックスが使われないよくあるシナリオ:
                例えば「%.....」
                データ型の暗黙的変換
                またはキーワードにその他の条件を加えた
       全文索引:
                MYIsAMテーブルにのみ使用可能で、CHAR、VARCHAR、テキストのタイプで作成されます。
      

   8. 数千万もの大規模なテーブル向けにMySQLをどのように最適化するか?
        参考文献 http://www.zhihu.com/question/19719997

   9. mySQLのスロークエリ問題
  実際、遅いクエリログを分析するのは比較的簡単な方法で、ログを見たくなければツールを使って完了できます。

mysqldumpslow、mysqlsla、myprofi、mysql-explain-slow-log、mysqllogfilterなどは、分析するには多くの経験が必要で、時間の無駄に感じます。

10. ユーザーログインステータスセッション、クッキー、データベース、またはメムキャッシュ http://www.dewen.org/q/11504/ の利点と欠点について

ユーザーのログイン状態、session%2Ccookie、データベース、またはmemcacheの利点と欠点について

  11. 極端なケースは取引で扱われます
  言語12. SQL 4つのカテゴリーに分かれています。リストアップしてください
        DDL――作成、落とし、改変
        DML--挿入、更新、削除
        DQL-SELECT(DQL-SELECT)
        DCL――助成金、取り消し、コミット、ロールバック
        

2. PHP基本

      セッション

        PHPがMySQLデータベースに接続するいくつかの方法と違い
    MySQL:プロセス指向
    MySQLi: オブジェクト指向
    PDO:高い携帯性
    以下を参照してください:PHP Basic シリーズ:PHPがMySQLデータベースに接続するために使う3つのAPI

3. PHP アドバンスド

    長距離接続と短距離接続の利用

    ソケット

    決済セキュリティの問題

    オブジェクト指向
    主な特徴はカプセル化、継承、多型(メソッド書き換え)です。
    抽象クラス:抽象的で、少なくとも1つのメソッドは抽象化できない方法で、サブクラスの共通インターフェースを定義します。
    インターフェース:インターフェース、PHPの単一継承問題を解決します。すべてのメソッドは抽象的なパブリックアクセスメソッドで、変数は宣言できず定数のみです。
    複数のインターフェースを実装しながらクラスを継承する
    クラスAは拡張Bを実装し、インターフェース1、インターフェース2...、インターフェースn() {
          すべてのインターフェースでメソッドを実装してください
    }
    LAMPとLNMPのウェブサイトアーキテクチャにおけるパフォーマンスの違いの原因の分析
    インタプリタ言語およびコンパイル言語のパフォーマンス分析、例。

4. 正則性

      メール、HTML、JSなどのマッチング

5. 開発基盤

          プロセスとスレッドの定義、区別、接続。
           プロセスの状態:ラン、準備、待機

6. Nosqlデータベース
       Memcached、redis、mongodb 差別化接続
       3つのシーンは全く異なるものでした。 1.memcached:単一のキー値がメモリにキャッシュされている場合、分散キャッシュのオブジェクトキャッシュに代わるものはありません。 2. redis:アルゴリズムとデータ構造の集合体であり、高速なデータ構造操作が最大の特徴であり、データの永続性をサポートします。 3. MongoDBはRDBとNoSQLの間にあるBSON構造で、より緩やかで柔軟性がありますが、トランザクションはサポートせず、重要でないデータストアとしてのみ使用されます。
     Memcachedの代替としてMongoDBやredisを参照してもいいですか?

7. 一般的に使われるLinuxコマンド
      例えば、ソフトリンク

8. 建築関連

           プロジェクトが稼働する前に、単一サーバーでサポートされる並行処理の量、PVの数をストレステストします。

           サーバーリソースの合理的な配分

             CPU:Apache
                   高負荷環境では、ディスクIOの読み書きが多すぎると確実に多くのリソースを消費し、CPUも必然的にCPUを過剰に消費します。
             メモリ:メモリバンク、データベースソフトウェア
               
             ハードドライブ:ファイル

           Web2.0アーキテクチャ選択

              MongoDB+RedisまたはMySQL+Memcachedの組み合わせが適しており、単純なロジックにはNOSQLが使われます

           現在、メインのウェブサイトアーキテクチャが人気です
    ランプ、LNMP、LLMP
    現在、ネットワーク上にはLNAMPアーキテクチャもあり、これはnginxとApacheの利点を組み合わせたもので、Apacheを使ってPHPを読み込み、nginxは他のウェブリクエストの解析を担当し、nginxのrewriteモジュールを使用しますが、Apacheのポートは一般公開されておらず、多くのApacheモジュールはロードせずにリソースを削減できます。





先の:攻撃者のIPを特定するためのWindows PowerShell
次に:C#は画面上のQRコードの位置を特定します
掲載地 2016/12/23 21:53:52 |
全部壊すんだ。
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com