1. include と require の違いは何ですか?
include でファイルを導入するときにエラーが発生すると、警告が表示され、次のコードの実行が続行されます。
require: ファイルのインポート時にエラーが発生した場合、致命的なエラーが生成され、以下のコードの実行が停止します。 _once サフィックスは、コード
2 の繰り返しのロードを防ぐために、ロードされたファイルがロードされなくなることを示します。 nosql データベース、mysql データベース、mongodb データベースの違いは何ですか?
Nosql は非リレーショナル データベースです mysql はリレーショナル データベースです mongodb はリレーショナルと非リレーショナルの間のデータベースです
Mysql はクエリ関係、複雑なロジック、複雑なビジネス オペレーションをサポートし、トランザクションと外部をサポートします操作 主な制約
Mongodb はいくつかの単純なビジネス関係クエリをサポートします。クエリ速度は高速です。高い同時実行性と高いアクセスに適しています。
3. Memcache と redis の違いは何ですか?
Memcache メモリベースのクエリ速度が速い デメリット サーバーがシャットダウンするとすぐにデータが失われる 単一タイプ
Redis 基本的なメモリクエリ速度が速い 多様な永続ストレージタイプをサポート 複雑なビジネスをサポート(データはディスクに保存されます。毎回ではなく、一定量または一定時間に達した場合にのみディスクに保存されます)
4. どのような手段で確認できますか? SQL ステートメントの実行が遅いですか?
遅いクエリによるチェック (チェックメソッドです)
5. 実行速度が遅い SQL があり、実行時間を短縮したい場合はどうすればよいですか。あなたが持っている?
1. where 条件の後ろのフィールドに基づいてインデックスを追加します。
2. テーブル設計の格納方法を最適化します (例: time フィールドの場合は 10 ビット int)。 tinyint (ステータスフィールドなど) テーブルフィールドのストレージ設計を最適化します
3. テーブル内に大量のデータがあるかどうかを確認し、水平カットと垂直カットを使用して大きなデータを小さなデータに分割します (水平切断: パーティションテーブル、垂直切断、頻繁なクエリに使用される一部のフィールドを 1 つのテーブルに分割); ビッグデータの切断
4. SQL ステートメントを最適化します (たとえば、特定のフィールドをクエリする場合、特定のフィールドのみをクエリします) * を付けずにすべてをクエリするには、サブクエリの代わりに結合接続を使用します);
5. 読み取り/書き込み分離のマスター/スレーブ構成で複数の mysql サーバーを構成します (1 つのマスターと複数のスレーブ、複数のマスターと複数のスレーブ)。追加、削除、変更によりテーブル クエリがロックされ、ブロック待機が発生します。
memcache を使用する キャッシュを作成すると、SQL クエリの数が減り、msql データベースへの負荷が軽減されますが、SQL の実行を減らすことはできません。 time
6. T フレームワークの D() と M() の違いは何ですか?
D サブクラスをインスタンス化する M 基底クラスをインスタンス化する D モデル内にサブクラス モデルがない場合にサブクラスをインスタンス化し、基底クラスをインスタンス化する
7. 必要に応じてテーブル名を使用して基本クラスを直接インスタンス化するには、D() と M() のどちらを使用したほうが速いですか?
M() メソッドは高速です。M() は基本クラスを直接インスタンス化し、D() はサブクラスが存在しない場合は最初にサブクラスをインスタンス化し、基本クラスをインスタンス化するためです。
8. Alipay 支払いと WeChat 支払いの違いは何ですか?
Alipay 支払いには同期ジャンプと非同期通知があります。
WeChat 支払いにはパブリック アカウント支払い、スキャン コード支払い、スワイプ カード支払いの 3 つの支払いタイプがあり、支払い結果を通じて注文を確認します。取引番号を通じて自分で支払いステータス
スキャンコード支払いは 2 つの支払いモードに分かれています
モード 1 QR コードコールバックアドレスを通じて商品の価格を確認してから電話する必要があります1 つの商品に適用できる統合注文 API
モード 2: 最初に注文を生成するためのモード 1 はありません。商品の価格を確認する方法は、ショッピング カートやその他の複数の商品の支払いに適用できます。 order
9. Memcache が値を保存することがありますが、入力しないとデータが失われるのはなぜですか?
1. memcache によって設定されたメモリがいっぱいである可能性があります
2. メモリモジュールの一部に障害があります
3. インストールされている memcache 拡張機能に互換性がありません
4. 保存したデータ型が間違っている可能性があります。PHP 操作エラー
10. TP と yii での読み取りと書き込みを分離するにはどうすればよいですか?
設定で mysql サーバーのマスターとスレーブのアカウント パスワード接続とその他の情報を設定します。
11. mysql データベースで使用されるアルゴリズムと複合アルゴリズムの理由インデックスは左から右にあるべきです。トップダウンの原則はどうでしょうか?
2 進数アルゴリズム mysql エンジンで使用される 2 進数アルゴリズムはレベルごとに下に分散されているため
12. 負荷分散の原理は何ですか?役割? ?
負荷分散サーバーはパブリック IP アドレスの迂回の役割を果たします
13 . svn と git の違いは何ですか?
Svn 集中型バージョンマネージャー 個人のコードに問題があれば全員が問題を起こす
Git 分散バージョンマネージャー 1 人が 1 人のバージョンマネージャーに対応 誰かが壊れても他の人には影響しない
14フォームの get メソッドと post メソッドの違いは何ですか?
get は HTTP プロトコル経由でリクエストを送信し、url パラメーターを渡すことでリクエストを受信します (送信の最大数は次のように決まります)。ブラウザのURLの長さの制限まで)して投稿してください。エンティティデータであり、フォームから大量の情報を送信できます。
15. トラフィックの多いWebサイトの場合、どのような方法を使用しますか?トラフィックの問題?
回答: サーバーのハードウェアが十分であるかどうかを確認します。現在のトラフィックをサポートします。(ハードウェア)
データベースの読み取りと書き込みを分離します。(mysql の最適化)
最適化します。データテーブル (テーブルを分割してインデックスを作成する
外部からの盗難を禁止する) リンク (ホットリンク防止を作成する)
大きなファイルのダウンロードを制御する (ダウンロード制限を設定する)
メインのトラフィックを迂回するために別のホストを使用する (負荷分散)
16. よく使用される配列処理関数?
array_search() 配列内の指定された値を検索し、対応するキー名を返します。成功した場合、
array_merge() 1 つ以上の配列を配列に結合します。
array_keys() を返します。配列内のすべてのキー
in_array() 指定された値が配列内に存在するかどうかを確認します
list() 配列内の値をいくつかの変数に代入します> Implode() 配列を文字列に連結します
Explode() 文字列を配列に分割します
17. 型とインデックス付けメソッドはいくつありますか?
1 . フルテキストインデックス Full Text
Unique インデックス Unique
Normal インデックス Normal
18. 実体化されたオブジェクトを次のように変換します。リレーショナル データベース内のデータの一部
または、リレーショナル データベース内のデータの一部を実体化されたオブジェクトに変換します
実体化されたオブジェクトをリレーショナル データに変換するメカニズムは、オブジェクト リレーショナル マッピングでもあります。 ORM
として知られる ORM は、リレーショナル データベース用の dao インターフェイスの実装です。本質的に、ORM はクラス
の ORM データ ソースに限定されます。 19. プログラム設定の現在の傾向は何ですか?
現在のプログラミングのトレンドは基本的に OOP オブジェクト指向プログラミングの考え方です
すべてはオブジェクトです すべてをオブジェクトとして扱います
20. 渡す値渡しと参照渡しの違いは何ですか?
値による受け渡しは、$a の値を $b に代入することと同じです。値が多い場合、コピーは遅くなります。 $b と $a を同じ空間に配置すると、値は同じになり、値のコピーは行われません
つまり、変数に多くのコンテンツが含まれている場合、その方が優れています。値で渡すより参照で渡すほうが速い
<