ホームページ > php教程 > php手册 > PHP面接でマスターすべき基本的な質問集

PHP面接でマスターすべき基本的な質問集

WBOY
リリース: 2016-06-21 08:47:59
オリジナル
1017 人が閲覧しました

1. セッションとクッキーの違いは何ですか?

答え: session: ユーザーがアクセスするグローバル一意変数を保存します。サーバー上の PHP によって指定されたディレクトリ内の (session_dir) の場所に保存されます。

Cookie: ページへの連続したアクセスを保存するために使用されます。Cookie の場合は、ユーザーの WIN の Temp ディレクトリに保存されます。

どちらも時間を通して時間の長さを設定できます

2. SESSION の生存時間を変更する方法

答え: 方法 1: php.ini の session.gc_maxlifetime を 9999 に設定し、Apache を再起動します

メソッド 2:$savePath = "./session_save_dir/";

$lifeTime = 時間 * 秒;

session_save_path($savePath);

session_set_cookie_params($lifeTime);

session_start();

メソッド 3: setcookie() と session_set_cookie_params($lifeTime);

3.PHPとは何ですか?

答え: PHP は、動的な Web サイトを作成するためのサーバーベースのスクリプト言語です。PHP と HTML を使用して Web サイトのホームページを生成できます。

4. include ステートメントと require ステートメントの違いは何ですか? 同じファイルを複数回インクルードすることを避けるために、それらを (?) ステートメントに置き換えることができます。

答え: require->require は無条件の包含です。つまり、require がプロセスに追加されると、条件が true であるかどうかに関係なく、require が最初に実行されます

include->include には戻り値がありますが、require には戻り値がありません (おそらく、require の方が include よりも高速であるためです)

注: インクルードされたファイルが存在しないか構文エラーがあり、include が

ではない場合、require は致命的です。 5. ASP、PHP、JSP の長所と短所について話す

答え: ASP の正式名は Active Server Pages で、生成および操作に使用できる WEB サーバー側の開発環境です

答え: 動的で対話型の高性能 WEB サービス アプリケーションを実行します。 ASP はスクリプト言語 VB Script (Java script

) を使用します。

) を独自の開発言語として使用します。

PHP は、クロスプラットフォームのサーバーサイド組み込みスクリプト言語であり、C、Java、Perl 言語から多くの構文を借用しています。

と PHP 独自の機能を組み合わせることで、Web 開発者が動的に生成されるページを迅速に作成できるようになり、現在の

のほとんどがサポートされます。

データベース。もう 1 つのポイントは、PHP は完全に無料で、PHP 公式サイト (http://www.php.ne

) からダウンロードできることです。

t) 無料ダウンロード。また、ソース コードに無制限にアクセスでき、必要な機能を追加することもできます。

JSP は、Sun が開発した新世代の Web サイト開発言語で、現在 ASP と PHP に共通する問題を完全に解決します -

スクリプト レベルの実行 (PHP4 も Zend のサポートを受けてコンパイルされ、実行されていると言われています)。Sun は Java に関する独自の専門知識を使用しています。

a の並外れた成果により、Java は Java アプリケーションや Java アプレット (Js) に加えて、新たな成果をもたらしました。

p——Java サーバー ページ。 Jsp は、Serverlet と JavaBean のサポートにより強力な Web サイトを完成させることができます

プログラム。

3 つはすべて、HTML コードに何らかのプログラム コードを混合し、言語エンジンにプログラム コードを解釈させて実行させる機能を提供します。

ただし、JSP コードはサーブレットにコンパイルされ、Java 仮想マシンによって解釈および実行されます。このコンパイル操作は JSP ページでのみ実行されます。

最初のリクエストで発生します。 ASP、PHP、および JSP 環境では、HTML コードは主に情報の表示スタイルを記述する役割を果たします

であり、処理ロジックを記述するためにプログラム コードが使用されます。通常の HTML ページは Web サーバーのみに依存しますが、ASP と PH

P. JSP ページでは、プログラム コードを分析して実行するために追加の言語エンジンが必要です。プログラムコードの実行結果は

に再埋め込まれます

HTML コードをまとめてブラウザに送信します。 ASP、PHP、JSP はすべて Web サーバー指向のテクノロジーです

の場合、クライアント ブラウザには追加のソフトウェア サポートは必要ありません。

5. mvc についての理解を話し、一般的に使用されるフレームワークを挙げてください。

答え: MVC は、アプリケーションの入力、処理、出力の分離を強制する設計パターンです。 MVC を使用するアプリケーションは、モデル、ビュー、コントローラーの 3 つのコア コンポーネントに分割されます。彼らはそれぞれ独自のタスクを処理します。

ビューは、ユーザーが表示して操作するインターフェースです。

モデルは企業データとビジネス ルールを表します。

コントローラーはユーザー入力を受け入れ、モデルとビューを呼び出してユーザーのニーズを満たします。

MVC の利点: 結合度が低い、再利用性と適用性が高い、ライフサイクル コストが低い、迅速な導入、保守性、拡張性、ソフトウェア エンジニアリング管理に役立つ

MVC の欠点: MVC には明確な定義がなく、完全に理解するのは簡単ではありません。小規模なアプリケーションには適していません。

Smarty、zend フレームワーク、thinkphp、PHPlib テンプレート

6.PHP はどのようにして例外をスローしますか?

回答: try...catch を使用すると、例外コードが try コード ブロックに配置されます。例外がトリガーされなかった場合、コードは実行を続けます。

Catch コード ブロックは例外をキャッチし、例外情報を含むオブジェクトを作成します。 $e->getMessage()、異常なエラーメッセージを出力します。

7. PHP で値を渡すことと参照を渡すことの違いについて話しますか?

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

参照渡し: 関数のスコープ内で値を変更すると、関数の外側でもこれらの変更が反映されます

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

8. PHP の include と require の違いは何ですか?

答え: 1. PHP は、インクルードが見つかったときに、それを 1 回再解釈する必要があります。同じページにインクルードが 10 回出現すると、それを 10 回再解釈します。 PHP で require が発生した場合、それが同じ PHP Web ページに何度表示されても、 require の場合、PHP はそれを 1 回だけ解釈します。

2. Require の実行効率は include よりも高くなります。

3. Require に含まれるコンテンツは現在のファイルのコンポーネントとみなされ、含まれるファイルに構文エラーがある場合、またはファイルが存在しない場合、PHP スクリプトは実行されなくなります。インクルード関数は以下と同等です このファイルのパスを指定することで、インクルードされたファイルが間違っていた場合でも、プログラム自体の実行には影響しません。

4. Include は含めるかどうかを決定できますが、require は状況に関係なく含めることができます

9. フォームの送信メソッドの取得と送信の違いは何ですか?

答え: get は HTTP プロトコル経由でリクエストを送信し、URL パラメータを渡すことでリクエストを受信します。

投稿はエンティティ データであり、フォームを通じて大量の情報を送信できます。

12. echo()、print()、print_r()の違い(3点)

答え: echo は PHP ステートメントであり、print と print_r は関数です。ステートメントには戻り値がありませんが、関数には (役に立たない場合でも) 戻り値を含めることができます。

print() は単純型変数 (int、string など) の値のみを出力できます

print_r() は、複合型変数 (配列、オブジェクトなど) の値を出力できます

echo は 1 つ以上の文字列を出力します

11. データベース内のトランザクションとは何ですか?

答え: トランザクションは、単位として順序付けられたデータベース操作のセットです。グループ内のすべての操作が成功した場合、トランザクションは成功したとみなされます。1 つの操作だけが失敗した場合でも、トランザクションは成功とは言えません。すべての操作が完了すると、

トランザクションはコミットされており、その変更は他のすべてのデータベース プロセスに影響します。操作が失敗した場合、トランザクションはロールバックされ、トランザクション内のすべての操作の効果はキャンセルされます。

12. サーバー Apache の 2 つの動作モードと違い

答え: 1.prefork.c モジュール (非スレッドの事前派生 MPM)
prefork MPM は複数の子プロセスを使用し、それぞれの子プロセスにはスレッドが 1 つだけあります。各プロセスは、特定の時点で 1 つの接続のみを維持できます。ほとんどのプラットフォームでは、Prefork MPM は Worker MPM よりも効率的です 値は高くなりますが、メモリ使用量ははるかに多くなります。
2.worker.c モジュール (マルチスレッドとマルチプロセッシングの混合をサポートするマルチプロセッシング モジュール)
ワーカー MPM は、それぞれが複数のスレッドを持つ複数の子プロセスを使用します。





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