知っておくべき、知っておくべき PHP 面接の基本的な質問 20 (回答付き)

青灯夜游
リリース: 2023-04-10 07:30:02
転載
6649 人が閲覧しました

この記事では、基礎を強化するのに役立つ、PHP 面接の基本的な質問 20 個を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

知っておくべき、知っておくべき PHP 面接の基本的な質問 20 (回答付き)

推奨学習: 「PHP ビデオ チュートリアル

1. オブジェクト指向とは何ですか?主な特徴は何ですか?

オブジェクト指向はプログラムの設計手法であり、プログラムの再利用性を高め、プログラムの構造を明確にします。

主な機能: カプセル化、継承、ポリモーフィズム。

2. SESSION と COOKIE の違いは何ですか?プロトコルの理由と機能を説明してください?

http ステートレス プロトコルでは、ユーザーが From から来たかどうかを区別できません。同じ Web サイト内で、同じユーザーが異なるページをリクエストした場合、同じユーザーとはみなされません。

SESSION はサーバー側に保存され、COOKIE はクライアント側に保存されます。セッションは比較的安全ですが、Cookie は特定の方法で変更される可能性があり、安全ではありません。セッションは配信のために Cookie に依存します。 Cookieを無効にすると、セッションが正常に使用できなくなります。

セッションの欠点: サーバー側に保存され、各読み取りはサーバーから読み取られるため、サーバー上のリソースが消費されます。セッションはサーバー側のファイルまたはデータベースに保存されます。デフォルトではファイルに保存されます。ファイル パスは、PHP 設定ファイルの session.save_path で指定されます。セッションファイルは公開されています。

3. HTTP ステータスの 302、403、および 500 コードの意味は何ですか?

1、2、3、4、および 5 つの原則: (つまり、1: メッセージ シリーズ、2: 成功シリーズ、3: リダイレクト シリーズ、4: リクエスト エラー シリーズ、5: サーバー側エラー シリーズ.)

  • 302: 一時転送が成功しました。要求されたコンテンツは新しい場所に移動されました。
  • 403: アクセス禁止
  • 500: 内部サーバー エラー
  • 401: 無許可を表します

4. データ型の意味を書き留めてください (int char varchar datetime text); varchar と char の違いは何ですか?

  • Int Integer
  • char 固定長文字
  • Varchar 可変長文字
  • Datetime Datetime
  • Text テキスト型

Varchar と char の違い:

char は固定長の文字型で、割り当てられたスペースと同じだけのスペースを消費します。 Varchar は可変長の文字型で、コンテンツと同じだけのスペースを占有するため、スペースを効果的に節約できます。 varchar型は可変であるため、データ長が変わるとサーバー側で追加の操作が必要となり、char型に比べて効率が悪くなります。

5. MyISAM と InnoDB の基本的な違いは何ですか?インデックス構造はどのように実装されていますか?

MyISAM タイプはトランザクション、テーブル ロックをサポートしておらず、断片化が起こりやすいです。頻繁に最適化する必要があり、読み取りおよび書き込み速度が高速です。頻繁にクエリを行うアプリケーションに適しています。

InnoDB タイプはトランザクションをサポートしており、行ロック、クラッシュ回復機能があり、読み取りおよび書き込み速度は MyISAM よりも遅いです。挿入および更新操作が多いアプリケーションに適しています。スペースが限られており、全文インデックス作成はサポートされていません。

Create Index: alert table tablename addindex インデックス名 (`フィールド名`)

6. isset() と empty() の違い

isset は、変数が存在するかどうかを決定します。複数の変数を渡すことができます。変数の 1 つが存在しない場合は、false が返されます。empty は、変数が空か false かを決定します。変数は 1 つだけです。渡されました。空の場合は false となり、true を返します。

7. PHP における値渡しと参照渡しの違いを説明してください。いつ値渡しするのか、いつ参照渡しするのか?

値渡し: 関数スコープ内の値への変更は関数の外では無視されます。

参照渡し: 関数スコープ内の値への変更も無視されます。関数外では無視される これらの変更を反映して

利点と欠点: 値で渡す場合、PHP は値をコピーする必要があります。特に大きな文字列やオブジェクトの場合、これはコストのかかる操作になる可能性があります。参照渡しでは値をコピーする必要がないため、パフォーマンスの向上に非常に役立ちます。

8. PHP の error_reporting の機能は何ですか?

PHP のエラー報告レベルを設定し、現在のレベルを返します。

9. キャッシュ テクノロジーについてのあなたの理解を教えてください。

キャッシュ テクノロジは、動的コンテンツをファイルにキャッシュし、一定期間内に動的ページにアクセスして、データベースに再度アクセスすることなく、キャッシュされたファイルを直接呼び出すことです。

10. 最近、プログラミングでは MVC の 3 層構造がよく使われていますが、MVC の 3 層とは何ですか? メリットは何ですか?

MVC の 3 つの層は、ビジネス モデル、ビュー、コントローラーを指します。コントローラー層はモデルを呼び出してデータを処理し、データを表示のためにビュー層にマップします。

利点は次のとおりです:

① コードの再利用性を実現し、コードの冗長性を回避できる;

② M と V でコードを分離できるため、同じプログラムで異なる式を使用できる

11.AJAX の利点は何ですか?

ajax は、JavaScript または JQuery フレームワークを通じて実装できる非同期送信テクノロジーで、部分更新を実現します。これにより、サーバーへの負荷が軽減され、ユーザー エクスペリエンスが向上します。

12. プログラム開発において、プログラムの動作効率を向上させるにはどうすればよいでしょうか?

  • SQL ステートメントを最適化します。クエリ ステートメントでは select * を使用しないようにし、どのフィールドをチェックするためにどのフィールドを使用します。

  • サブクエリの使用を減らし、代わりにテーブル接続を使用します。

  • ファジー クエリの使用を減らします。

  • データ テーブルにインデックスを作成します。

  • プログラム内で頻繁に使用されるデータのキャッシュを生成します。

13. トラフィックの多い Web サイトの場合、トラフィックの問題を解決するためにどのような方法を使用しますか?

  • キャッシュを効果的に使用します。キャッシュ ヒット率を向上させる
  • 負荷分散を使用する
  • cdn を使用して静的ファイルを保存し、高速化する
  • データベース使用量を削減するアイデア
  • 統計の表示ボトルネックはどこにあるのか?
  • リバース プロキシ

14. include ステートメントと require ステートメントの違いは何ですか? 同じファイルを複数回インクルードすることを避けるために、どのようなステートメントを使用できますか?

違い: 失敗した場合: include は警告を生成しますが、require は直接エラー割り込みを生成します。require は実行前にインクルードをロードし、代わりに実行時にロードします: require_onceinclude_once

15. foo() と @foo() の違いは何ですか?

@ はすべての警告を表し、無視されます

16. 簡単な説明 PHP のガベージ コレクション メカニズム。

php の変数は変数コンテナ zval に保存されます。変数の型と値を保存することに加えて、zval には is_ref フィールドと refcount フィールドもあります。 refcount は変数を指す要素の数を示し、is_ref は変数に別名があるかどうかを示します。 refcount が 0 の場合、変数コンテナはリサイクルされます。

zval の refcount が 1 減らされた後に 0 より大きい場合、それはガベージ バッファに入ります。バッファーが最大値に達すると、リサイクル アルゴリズムが zval をループして、それがガベージであるかどうかを判断し、解放します。

17. PHP のセキュリティを最大限に高めるにはどうすればよいですか?

SQL インジェクションの脆弱性と XSS クロスサイト スクリプティングの脆弱性を回避するにはどうすればよいですか?回答: 基本原則: サーバーまたはプログラムの設計の詳細を外部に公開しないでください (エラーをブロック)、ユーザーが送信したデータを信頼しません (ユーザー送信をフィルターします)。

18. echo、print_r、print、var_dump の違い

  • echo: ステートメント構造;
  • print: は次の関数です。戻り値
  • print_r: 配列、オブジェクトを出力できます
  • var_dump: オブジェクト配列を出力でき、データ型は

19. 特性を書き込みます

高速なスピード、コンパイル、キャッシュ技術、プラグインメカニズム、強力なパフォーマンスロジック

20. ユーザーが入力したコンテンツを出力する必要がある場合このままでは、データベースにデータを入力する前に、どの関数を使用して処理する必要がありますか?

htmlspecialchars または htmlentities

プログラミング関連の知識については、プログラミング ビデオ をご覧ください。 !

以上が知っておくべき、知っておくべき PHP 面接の基本的な質問 20 (回答付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート