ホームページ >バックエンド開発 >PHPチュートリアル >PHP 面接の質問の概要 (回答付き)
おすすめ学習「2019 PHP面接質問まとめ(集)」
1.フォームの get 送信メソッドと post 送信メソッドの違いは何ですか?
回答: get は HTTP プロトコルを通じてリクエストを送信し、URL パラメーターの送信を通じてそれを受信します。一方、post はエンティティ データであり、フォームを通じて大量の情報を送信できます。
2.session と cookie の違いは何ですか?
回答:session: によってアクセスされるグローバル一意変数を保存します。 user は、サーバー上の PHP によって指定されたディレクトリ (session_dir ) に保存され、場所
cookie: ページに継続的にアクセスするときに保存され、クライアントに保存されます。 Cookie の場合は、ユーザーの WIN の Temp ディレクトリに保存されます。
どちらも時間の長さを設定できます3. データベース内のトランザクションとは何ですか?
答え: トランザクションは順序付きセットですデータベース操作を単位として扱います。グループ内のすべての操作が成功した場合、トランザクションは成功したとみなされます。1 つの操作だけが失敗した場合でも、トランザクションは成功とは言えません。すべての操作が完了すると、トランザクションはコミットされ、その変更は他のすべてのデータベース プロセスに適用されます。操作が失敗した場合、トランザクションはロールバックされ、トランザクション内のすべての操作の効果はキャンセルされます。簡単な質問:
1. PHP を使用して、前日の時刻を 2006-5-10 22:21 の形式で出力します。 21 (2 点) ****************
答え: echo date('Y-m-d H:i:s', strtotime('-1 日) '));2. echo()、print()、print_r() の違い (3 点)
答え: echo と print は言語構造、print_r は関数、ステートメントには戻り値がありません、関数は戻り値を持つことができます (役に立たない場合でも) print() は値を出力することしかできません単純型変数 (int、string など) print_r() は複合型変数 (配列、オブジェクトなど) の値を出力できます echo 1 つ以上の文字列を出力します
3. HTML と PHP を別々に使用できる テンプレート (1 点)
回答: Smarty、Dwoo、TinyButStrong、Template Lite、Savant、phemplate、XTemplate4. バージョン管理にはどのようなツールが使用されますか? ( 1 ポイント)
回答: cvs、svn、vss;5. 文字列の反転を実現する方法? (3 点)
答え: echo strrev($a);6. MYSQL データベースを最適化する方法。 (4 ポイント、書けば書くほど得られます)
答え: 1. 最も適切なフィールド属性を選択し、定義されたフィールドの長さを可能な限り短くします。可能な場合は、フィールドを NOT NULL に設定してみてください (例: 「都道府県、性別」)。ENUM に設定するのが最善です。 2. JOIN を使用してサブクエリを置き換えます: 3 UNION を使用して、手動で作成した一時テーブルを置き換えます 4. トランザクション処理: 5. テーブルをロックし、トランザクション処理を最適化します: 6. 外部キーを使用して最適化します。ロックテーブル 7. インデックスの作成 : 8. クエリステートメントの最適化7. PHP の意味 (1 ポイントを送る)
回答: PHP は動的 Web サイト用のサーバーベースのスクリプト言語であり、PHP と HTML を使用して Web サイトのホームページを生成できます8. 現在時刻を取得するための MYSQL の機能は何ですか? ?、日付を整形する関数は (2 点)
答え: now(), date()9. 中国語の文字列を文字化けせずにインターセプトする方法文字。 (3 点)******************
Mb_substr答え:function GBsubstr($string, $start, $length) { if(strlen($string)>$length){ $str=null; $len=$start+$length; for($i=$start;$i<$len;$i++){ if(ord(substr($string,$i,1))>0xa0){ $str.=substr($string,$i,2); $i++; }else{ $str.=substr($string,$i,1); } } return $str.'...'; }else{ return $string; } }
10. バージョン管理ソフトウェアを使用したことがありますか? もしそうなら、使用したバージョン管理ソフトウェアの名前は何ですか? (1 点)
回答: 使用、cvs、svn、vss
11. テンプレート エンジンを使用したことがありますか? もしそうなら、使用したテンプレート エンジンの名前は何ですか? (1 点)
答え: はい、スマートです12. あなたの最も誇りに思っている開発作業を簡単に説明してください (4 点)
回答: 情報の分類13. どのような方法で行うのかトラフィック量の多い Web サイトに使用していますか? トラフィックの問題を解決するにはどうすればよいですか? (4 点)
回答: サーバー ハードウェアが現在のトラフィックをサポートするのに十分であるかどうかを別途確認してください。データベースの読み取りと書き込み、データ テーブルの最適化、 プログラム関数ルール、外部ホット リンクの禁止、大きなファイルのダウンロードの制御、メイン トラフィックを迂回するために別のホストを使用する14 . PHP を使用して、クライアント IP とサーバー IP を表示するコードを記述します (1 点)
答え: クライアント IP:echo $_SERVER[‘REMOTE_ADDR’]; // 或者: getenv('REMOTE_ADDR'); // 打印服务器IP: echo gethostbyname("www.bolaiwu.com")
15 の違いは何ですか? include ステートメントと require ステートメントは同じファイルを複数回インクルードすることを避けるために、( ?) ステートメントを使用してそれらを置き換えることができますか? (2 点)
回答: require->require は無条件のインクルードです。つまり、require がプロセスに追加された場合、条件が true であるかどうかに関係なく、requireが最初に実行されます。
include->include には戻り値がありますが、require には戻り値がありません (おそらく、 require は include より高速です)注: インクルードされたファイルが存在しないか構文エラーがある場合、require は致命的ですが、include はそうではありません。16. 在PHP中error_reporting这个函数有什么作用? (1分)
答:设置错误级别与错误信息回报
17. 请写一个函数验证电子邮件的格式是否正确 (2分)
答:
function checkEmail($email) { $pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i"; return preg_match($pregEmail,$email); }
18. 简述如何得到当前执行脚本路径,包括所得到参数。(2分)
答:
$script_name = basename(__file__); print_r($script_name);
以上がPHP 面接の質問の概要 (回答付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。