ホームページ  >  記事  >  バックエンド開発  >  最新の典型的な PHP 面接の質問のまとめ (パート 1)

最新の典型的な PHP 面接の質問のまとめ (パート 1)

黄舟
黄舟オリジナル
2017-03-18 09:14:311323ブラウズ

この記事は、2017 年の PHP 古典的な面接の質問の最新の概要 (パート 1) を主に紹介します。これは非常に優れており、参考にすることができます。

1 二重引用符と単一引用符の違い。引用符

  • 二重引用符は変数を説明し、一重引用符は変数を説明しません

  • 二重引用符の中に一重引用符を挿入します。一重引用符内に変数がある場合は、変数の説明が表示されます

  • 二重引用符変数名の後には、数字、文字、アンダースコアではない特殊文字を続けるか、{}を使用して変数を囲む必要があります。それ以外の場合は、変数名の後の部分が処理されます。全体として、文法エラーが発生します

  • 二重引用符はエスケープ文字を解釈し、一重引用符はエスケープ文字を解釈しませんが、' と \

  • を解釈すると一重引用符が同じくらい使用される可能性があります。可能です。一重引用符は二重引用符よりも効率的です (二重引用符は、 内に変数があるかどうかを判断するために最初に走査する必要があり、その後操作を実行する必要があり、一重引用符は判断する必要がないためです)

2よく使われるスーパーグローバル変数(8)

  • $_GET ----->get送信メソッド

  • $POST----->post送信メソッド

  • $ REQUEST -----> get メソッドと post メソッドの両方で値を受け取ることができます

  • ***

  • $GLOBALS -----> すべての変数は内部に配置されます

  • $FILE ----->

  • $SERVERを使用してファイルをアップロードします ----->システム環境変数

  • * **

  • $SESSION ----->使用されますセッション制御用

  • $COOKIE ----->セッション制御に使用されます

3. HTTPのPOST、GET、PUT、DELETEメソッドの違い

HTTPの定義サーバーと対話するためのさまざまな方法があり、最も基本的なものは POST、GET、PUT、DELETE であり、完全な名前はリソース記述子です。URL はインターネット上のリソースを記述します。 、get、put、delegate は、このリソースを追加、削除、変更、確認する操作です。

3.1 フォームの get 送信メソッドと post 送信メソッドの違い

  • get は、送信されたフォームの action 属性が指す URL にパラメーター データ キューを追加します。値は、送信されたフォームの各フィールドに対応します。フォームを 1 つずつ URL で確認できます。post は HTTPPOST メカニズムを使用して、フォームの各フィールドとそのコンテンツが HTML ヘッドの action 属性で指定された URL アドレスに送信されることを防ぎます。このプロセスを参照してください

  • get メソッドの場合、サーバー側は Request.QueryString を使用して変数の値を取得します。 post メソッドの場合、サーバー側は Request.Form を使用して送信されたデータを取得します。 get で送信されるデータ量は少なく、post で送信されるデータ量は多くなります。一般に、この制限はデフォルトでは受け入れられませんが、理論上、最大サイズは IIS4 では 80kb、IIS5 では 1000k です。

  • get のセキュリティは非常に低く、post のセキュリティは高くなります


  • 3.2

GET リクエストはデータベースに送信されます。このリクエストは、情報を取得するためのデータのリクエストと同じです。データベースのクエリにのみ使用され、データの変更や追加は行われず、リソースの内容には影響しません。何度やっても結果は同じです。

  • GET とは異なり、PUT リクエストはサーバーにデータを送信して情報を変更します。このリクエストはデータベースの更新操作と同じで、データの内容を変更するために使用されますが、データの種類は増加しません。 , など。つまり、PUT 操作を何回実行しても、結果は変わりません。

  • POST リクエスト

    は、サーバーにデータを送信するという点で PUT リクエストに似ていますが、このリクエストは、データベースの挿入操作と同じように、データの種類やその他のリソースを変更し、新しいコンテンツを作成します。現在のほとんどすべての送信操作は、POST を使用して要求されます。

  • DELETE リクエストは、名前が示すように、特定のリソースを削除するために使用されます。このリクエストはデータベースの 削除操作 に似ています。

  • 4. PHP の紹介

ハイパーテキスト プリプロセッサー----ハイパーテキスト プリプロセッサー個人ホームページ 元の名前 目標の目的: Web 開発者が他のページと比較して、動的に生成された Web ページを迅速に作成できるようにします。ページ、PHP はプログラムを

HTML ドキュメント

に埋め込んで実行します。これは、HTML 編集を完全に生成する CGI よりもはるかに効率的です

HTML: Hypertext Markup Language

創設者: Rasmus Ledolf Lerdorf、1968 年生まれ、ウォータールー大学、カナダ

Ledov は最初、個人の Web ページを保守するためにメンテナンス プログラムを prel 言語で書き、その後 C で書き直して、最終的に php/fi になりました

Timeline:

NetBeans



共通テキスト
エディタ
、コードハイライト付き:

NodePad++SublimeText


PHPの利点

PHP の機能:

phpは、C、Java、Prel、PHP独自の構文を独自に組み合わせています


  • は、CGIやPrelよりも高速に動的Webページを実行できます。PHPは、他のプログラミング言語と比較して、HTMLドキュメントに埋め込まれて実行されるため、実行効率が高くなります。 HTML編集を完全に生成するCGIよりもはるかに高度です


  • ほとんどすべての一般的なデータベースとオペレーティングシステムをサポートします


  • PHPはプログラム拡張にC、C++を使用できます


  • 利点:

オープンソースコード

  • 自由度

  • 迅速さ

  • 強力なクロスプラットフォーム

  • 高効率

  • グラフィック処理

  • オブジェクト指向
  • プロフェッショナルフォーカス


  • PHPテクノロジーアプリケーション:

静的ページ生成

  • データベースキャッシュ

  • プロシージャキャッシュ

  • p+css

    w3c
  • 標準
  • 大負荷

  • 分散

  • flex

  • サポート

    MVC
  • Smarty Module Engine


  • PHP認定レベル

ジュニア IFE: インデックス フロント エンジニア フロントエンド エンジニア 中級 IPE: インデックス PHP エンジニア PHP エンジニア 上級 IAE: インデックス アーキテクチャ エンジニア アーキテクチャ エンジニア




6 echo、print_r、print、var_dump

* echo、print是php语句,var_dump和print_r是函数
* echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,因此不能作为表达式的一部分使用
* print也是php的一个关键字,有返回值 只能打印出简单类型变量的值(如int,string),如果字符串显示成功则返回true,否则返回false
* print_r 可以打印出复杂类型变量的值(如数组、对象)以列表的形式显示,并以array、object开头,但print_r输出布尔值和NULL的结果没有意义,因为都是打印"\n",因此var_dump()函数更适合调试
* var_dump() 判断一个变量的类型和长度,并输出变量的数值
7、

HTTP ステータス コード

ここをクリックして、HTTP ステータス コードの詳細な説明を表示します一般的な HTTP ステータス コード:

200 - リクエストは成功しました

301 - リソース (Web ページなど) は別の URL に永続的にエスケープされました

404 - リクエストされたリソース (Web ページなど) が存在しません

505 - 内部サーバーエラー

HTTP ステータスコード分類:

1** - 情報、サーバーが受信したリクエストでは、リクエスターは操作の実行を続行する必要があります
2** -成功、操作は正常に受信され、処理されました
3** - リダイレクト、リクエストを完了するにはさらなるアクションが必要です

4** - クライアント エラー、リクエストに構文エラーが含まれているか、リクエストを完了できませんでした

5** サーバーエラー、サーバーは処理中です リクエストプロセス中にエラーが発生しました





8.

マジッククオートとは

マジッククォートは、PHPスクリプトに入力されるデータを自動的にエスケープするプロセスです。エンコード時にエスケープしないようにします。実行時に必要に応じてエスケープされます

9. クライアントの IP (int が必要) とサーバーの IP のコードを取得する方法

Client: $_SERVER["REMOTE_ADDR"] ; または getenv('REMOTE_ADDR')ip2long (変換用) サーバー側: gethostbyname('www.baidu.com')


10 バージョン管理にはこれらのツールを使用します

cvs、svn、vss、git

11. データベースを最適化する方法

MySQL データベースを最適化する 8 つの方法 (古典的な必見) クリックして取得 最も適切なフィールド属性を選択し、フィールド幅の定義をできるだけ減らします可能な限り、フィールドを NOTNULL に設定するようにしてください (「州には ENUM を使用するのが最善です」や「性別」など)

サブクエリの代わりに結合 (JOIN) を使用します

手動で作成した一時テーブルを置き換えるにはユニオン (UNION) を使用しますトランザクション処理テーブルのロック、トランザクション処理の最適化

外部キーの適用、テーブルのロックの最適化

インデックスの作成
クエリステートメントの最適化

12. テンプレートエンジンを使用したことがありますか?使用されているテンプレート エンジンの名前は何ですか?

Smarty: Smarty は非常に古い PHP テンプレート エンジンで、この言語でテンプレートを使用するために最初に選択しました。更新頻度は低く、新世代のテンプレート エンジンの機能がいくつか欠けていますが、それでも一見の価値はあります。

13. トラフィックの多い Web サイトの場合、トラフィックの問題を解決するにはどのような方法を使用する必要がありますか? サーバー ハードウェアが現在のトラフィックをサポートできるかどうかを確認します。 ホットリンク 大きなファイルのダウンロードを制御します。 Traffic



14. ステートメント
include

require

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

require は無条件のインクルードです。つまり、require がプロセスに追加されると、条件が満たされているかどうかに関係なく、require が最初に実行されます。ファイルが存在しない場合、またはファイルを開くことができない場合は、エラーが表示され、プログラムの実行が終了します。ただし、require には戻り値がありません (おそらく、require の方が include よりも高速であるためです)。インクルードされたファイルが存在しない場合、エラーが表示されますが、プログラムは実行を継続します注: include ファイルが存在しないか構文エラーがあり、include が

ではない場合、require は致命的です。 require_once

、これは一度だけインクルードされ、繰り返しインクルードされることを避けることを意味します

15. MVC の理解について話しましょう

アプリケーションはモデル、ビュー、コントローラーによって完成します。モデルは、対象となる関数を送信します。コントローラーに実装され、コントローラーは組織関数を受け取ってビューに渡します

16. PHPの説明 値渡しと参照渡しの違いと、値渡しの場合と渡しの場合について説明します。参照?

変数はデフォルトで常に値によって割り当てられます。つまり、式の値が変数に割り当てられると、式全体の値がターゲット変数に割り当てられます。これは、次のことを意味します。 1 つの変数が別の変数に割り当てられる 1 つの変数を操作する場合、1 つの変数の値を変更しても、他の変数には影響しません。PHP には、変数に値を割り当てる別の方法 (参照割り当て) も用意されています。これは、新しい変数が単に元の変数を参照する (つまり、エイリアスまたはポイントになる) ことを意味します。新しい変数への変更は元の変数に影響し、その逆も同様です。参照割り当てを使用すると、割り当てられる変数 (ソース変数) の前に & 記号を追加するだけです

オブジェクトはデフォルトで参照によって渡されます

より大きなデータの場合は、メモリのオーバーヘッドを節約できる参照によって渡すことをお勧めします

以上が最新の典型的な PHP 面接の質問のまとめ (パート 1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。