PHP 面接質問セット、PHP テスト質問_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:16:56
オリジナル
901 人が閲覧しました

PHP面接質問セット、PHPテスト質問

はん~~インターネットでPHPの質問をいくつかしたのですが、いつの間にかここまでたどり着きました…答えを投稿してください
ご質問がございましたら、お気軽にお問い合わせください追加して修正してください

1. PHP を使用して、前日の時刻を 2006-5-10 22:21:21 の形式で出力します (2 点) ​ $a = date("Y-m-d H:i:s", strtotime("-1 日")); print_r($a);

​ 2. echo()、print()、print_r()の違い(3点) ​ echo と print は関数ではなく言語構造です int print(string $arg)、パラメータは 1 つだけ echo arg1,arg2; は複数のパラメータを出力して void を返すことができます。 echo と print は文字列のみを出力でき、構造体は出力できません。 print_r は構造体を出力できます 例えば $arr = array("キー"=>"値"); print_r($arr);

​ 3. HTMLとPHPを使い分けできるテンプレート(1点) スマート、phplib

​ 4. バージョン管理にはどのようなツールが使用されていますか? (1 点) SVN、GIT、CVS

​ 5. 文字列反転を実装する方法 (3 つのポイント) 英語: strrev($a) ​ 中国語またはその他のテキスト: ​ 中国語: GB2312、コードは GB2312 を使用してエンコードされます len=mbstrwidth( str,"GB2312"); for(i=0;i<len; i++) { arr[]=mbsubstr( str, $i, 1, "GB2312"); } return implode("", array_reverse($arr)); } print_r(reverse("こんにちは"));

​ -------------------------------------------------- ------------- ​ 6. MYSQL データベースを最適化する方法。 (4 ポイント、もっと書いてさらに獲得) ​ 文章に関して言えば、 1 インデックスを使用してクエリ効率を向上させる 2 クエリ文を最適化し、インデックスのヒット率を向上させる ​ 関係するデータベースの側面: 1 サブデータベースとテーブルを構築して、データベースのストレージ機能と拡張機能を向上させます。 2 必要に応じて別のストレージ エンジンを使用する

​ 7. PHPの意味(1ポイントを送る) ​ ハイパーテキスト前処理言語 ハイパーテキストプリプロセッサ

​ 8. MYSQL が現在時刻を取得するために使用する関数は何ですか?、日付をフォーマットする関数は次のとおりです (2 点) CURRENT_TIMESTAMP() DATE_FORMAT() select DATE_FORMAT("2011-11-21 10:10:10", "%Y-%m-%d");

​ ​ 9. 中国語の文字列を文字化けせずにインターセプトする方法。 (3点) mb_substr($str, 1, 1, "GB2312");

​ -------------------------------------------------- ------------- ​ 10. バージョン管理ソフトウェアを使用したことがありますか? (1 点) SVN ギット

​ 11. テンプレート エンジンを使用したことがありますか? (1 点) 賢い

​ 12. 最も誇りに思う開発作業を簡単に説明してください (4 点) XXX

​ 13. トラフィックが多い Web サイトの場合、トラフィックの問題を解決するためにどのような方法を使用しますか? (4 点) 1 キャッシュを有効活用してキャッシュヒット率を高める 2 負荷分散を使用する 3 CDN を使用して静的ファイルを保存および高速化する データベースの使用量を削減するための 4 つのアイデア 5 統計上のボトルネックがどこにあるのかを確認する

​ -------------------------------------------------- --------------- ​ 14. PHP を使用して、クライアント IP とサーバー IP を表示するコードを記述します (1 点) $_SERVER["REMOTE_ADDR"] $_SERVER["SERVER_ADDR"]

​ 15. include ステートメントと require ステートメントの違いは何ですか? 同じファイルを複数回インクルードすることを避けるために、これらを (?) ステートメントに置き換えることができますか? (2 点) 失敗時: include は警告を生成しますが、require はエラー割り込みを直接生成します。 ​ require は実行前にロードされます インクルードは実行時にロードされます ​ 一回だけ必要 include_once

​ 16. SESSION の生存時間を変更する方法 (1 点)。 session_set_cookie_params

​ ​ 17. PHP 研究所のホームページ http://www.phpv.net/index.html のような Web ページのアドレスがありますが、そのコンテンツ (1 ドルのポイント) を入手するにはどうすればよいですか? file_get_contents ​ カール

​ 18. HTTP 1.0 では、ステータス コード 401 の意味は (?)、プロンプト「ファイルが見つかりません」が返された場合、ヘッダー関数を使用できます。そのステートメントは (?) です。 無許可の ​ header("HTTP/1.0 404 が見つかりません"); ​ 高速 CGI の場合: header("ステータス: 404 見つかりません");

​ ​ 19. PHP では、ヒアドキュメントは特殊な文字列であり、その終了マークは (1 ポイント) でなければなりません。 ペアで登場する $a = <

​ 20. asp、php、jsp の長所と短所について話す (1 点) ASP は IIS に依存する必要があり、Microsoft によって開発された言語です。 php と jsp は、Apache や nginx などの他のサーバーに依存できます。

​ 21. mvc についての理解を語る (1 ポイント) モデル: データ構造層 ビュー: 表示 制御: 処理入力を受信および判断します

​ ​ -------------------------------------------------- ------------------ ​ 22. 次の表を使用して、投稿数の多い 10 人の名前の SQL を記述します: メンバー (ID、ユーザー名、投稿、パス、電子メール) (2 点) メンバーからトップ 10 の ID、ユーザー名を選択 投稿順に並べ替えます desc

​ 23. PHP における値渡しと参照渡しの違いを説明してください。いつ値で渡すのか、いつ参照で渡すのか (2​​ 点) & は参照渡しを意味します 関数内でパラメータを参照渡しするとパラメータが変更されます 一般に、複数の出力パラメーターがある場合は、参照の使用を検討できます。

​ 24. PHP の error_reporting の機能は何ですか? (1 点) エラーの表示レベルを設定します

​ 25. メールの形式が正しいかどうかを検証する関数を書いてください(2点) $str = "jianfeng@126.com"; regex="([az09.]+ )@ ([daz.]+).([az.]2,6) 」 ; / /定期 return preg_match(regex,str)

​ ​ 26. 取得したパラメータを含む、現在の実行スクリプトのパスを取得する方法を簡単に説明します。 (2分) $argc -- パラメータの数を取得します。 $argv -- パラメータリストを取得します。

​ 27. SESSIONの生存時間を変更する方法(1点) session_set_cookie_params

-------------------------------------------------- ------------------ ​ 28. JSフォームでダイアログボックスをポップアップする関数とは何ですか? (2点) アラート() 確認する() プロンプト() ​ 集中()

​ 29. JSのリダイレクト機能とは 外部JSファイルの導入方法(2点) window.location.href="#" ​ <スクリプト src="#">

​ 30. foo() と @foo() の違いは何ですか? (1 点) @ は無視されるすべての警告を表します

​ 31. メソッドと属性なしで「myclass」という名前のクラスを宣言するにはどうすればよいですか? (1 ポイント) クラスマイクラス { }

​ 32.「myclass」という名前のオブジェクトをインスタンス化する方法 (1 ポイント) $myclass = 新しい myclass();

​ 33. クラスのプロパティにアクセスして設定するにはどうすればよいですか? (2 点) n=a->名前; print_r($n);

​ 34. mysql_fetch_row() と mysql_fetch_array の違いは何ですか? (1 点) mysql_fetch_array() は mysql_fetch_row() の拡張バージョンです。データを数値インデックスとして配列に保存するだけでなく、フィールド名をキーとして使用して、データを連想インデックスとして保存することもできます。​ ​ row=mysqlfetcharray ( 結果、MYSQL_ASSOC)) {
printf ("ID: %s 名前: %s", row["id"], 行["名前"]); } ​ Mysql_free_result($result);

​ -------------------------------------------------- ------------------ ​ 35. GD ライブラリは何に使用されますか? (1 点) ダイナミックでオープンな画像処理ライブラリ

​ 36. PHP に HTML コードを入力するいくつかの方法を指摘します。 (1点) エコー「{html}」 エコー <

​ 37. 次の関数のうち、ファイルを開いて読み書きできるものはどれですか? (1 点) c (a) fget() (b) file_open() (c) fopen() (d) open_file()

​ 38. 次のオプションのうち、ユーザー配列に john が追加されないものはどれですか? (1 点) b (a) $users[] = 'ジョン'; (b) array_add($users,'john'); (c) array_push($users,‘john’); (d) $users ||= ‘ジョン’;

​ 39. 次のプログラムが入力されますか? (1 点) 10 $num = 10; 関数乗算(){ num=num * 10; } 乗算(); $num をエコーし​​ます。 ?>

​ 40. PHP を使用して、「Zhang San」という名前のすべてのコンテンツを検索し、出力する簡単なクエリを作成します (2 ポイント) テーブル名 ユーザー名 電話番号 内容 日付 張三 13333663366 大学卒業 2006-10-11 張三 13612312331 学士 2006-10-15 Zhang Si 021-55665566 工業高校卒業 2006-10-15 上記の質問に従ってコードを完成させてください。 $mysql_db=mysql_connect("ローカル","ルート","パス"); @mysql_select_db("DB",$mysql_db); $sql = sprintf("select * from %s where UserName = '%s'", "テーブル名", 「張三」); values=mysqlquery( sql); while(item=mysqlfetchquer y array( 値)) { echo sprintf("ユーザー名: %s、電話番号 %s、学歴: %s、卒業日: %s", item[UserName], item['Tel']、item[Content], item['日付'] ); }

​ 41. 次のクラスの使い方とその意味を説明しますか? (3) クラステスト{ 関数 Get_test($num){ num=md5(md5( num)."En"); $num を返します; } } $test = 新しいテスト(); ret=test->Get_test(11); print_r($ret);終了; ​ numをMD5エンコードして生成された32ビット文字列a1を「En」で繋ぎ、再度MD5エンコードを行います。

-------------------------------------------------- ------------------------ ​ 42. SQL ステートメントの形式を記述します: 挿入、更新、削除 (4 点) テーブル名 ユーザー名 電話番号 内容 日付 張三 13333663366 大学卒業 2006-10-11 張三 13612312331 学士 2006-10-15 Zhang Si 021-55665566 工業高校卒業 2006-10-15 (a) 新しいレコードがあります (Xiao Wang 13254748547 高校卒業 2007-05-06) SQL ステートメントを使用してテーブルに追加してください。 テーブル名の値に挿入します('Xiao Wang', '13254748547', '高校卒業', '2007-05-06') ​ (b) SQL ステートメントを使用して、Zhang San の時刻を現在のシステム時刻に更新してください。 テーブル名を更新 set Date = GETDATE() where UserName = "Zhang San" ​ (c) Zhang Si という名前のすべての記録を削除するよう書き込んでください。 削除元は、UserName = "Zhang Si" の場所を示します

​ 43. データ型の意味を書いてください (int char varchar datetime text) varchar と char の違いは何ですか (2 点) int整数型 固定長の文字ストレージ varchar ストレージの可変長 日時時間 テキストは可変長を格納します ​ varchar は可変長です char(20) 固定長

​ 44. MySQ 自動インクリメント タイプ (通常はテーブル ID フィールド) を (?) フィールド (1 ポイント) に設定する必要があります 自動増加 ​ 45. 以下のプログラムの出力を書いてください(1点) $b=201; $c=40; a=b>$c?4:5; $a をエコーし​​ます。 ?> ​ 4

​ 46. 変数が設定されているかどうかを検出する関数はありますか? (2 点) isset() 空の()

​ -------------------------------------------------- ------------------------ ​ 47. クエリ結果セットの総数を取得する関数は何ですか? (1 点) mysql_num_rows()

​ 48. $arr = array('james', 'tom', 'symfony'); 最初の要素の値 (1 ポイント) を出力してください。 print_r($arr[0]); ​ リセット($arr); print_r(current($arr)); ​ print_r(array_shift($arr));

​ 49. 問題41の配列の値を「,」記号で区切って文字列出力にマージしてください(1点) 爆裂する

​ 50. a='abcdef';お願い取り出してください 値を入力し、最初の文字(1ポイント)を出力します $a[0]; ​ substr($a, 0, 1);

​ 51. PHP は SQL Server/oracle などのデータベースに接続できますか? (1 点) できる 既製のライブラリがあります

​ 52. PHP5のパーミッション制御修飾子を書いてください(3点) 公共 プライベート 保護された

​ 53. php5のコンストラクタとデストラクタを書いてください(2点) パブリック関数 __construct() { } ​ パブリック関数 __destruct() { }

​ プログラミングに関する質問 ​ ​ 1. 標準 URL からファイル拡張子をできるだけ効率的に取得する関数を作成します。 例: http://www.sina.com.cn/abc/de/fg.php?id=1 は、php または .php を削除する必要があります。 ​ arr=parseurl( url);
pathArr=pathinfo( arr['path']); print_r($pathArr['拡張子']);

​ 3. 2 つのファイルの相対パスを計算する関数を作成します。 たとえば、 $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php';

bからへの相対パスがhttp://www.cnblogs.com/12/34/c.phpとなるように計算します path,conpath) { pathArr=explode("/" パス); conpathArr=explode(") /コンパス); $dismatchlen = 0; for(i=0;i <; ); i++) { if(conpathArr[ i] != pathArr[i]) { dismatchlen=count( pathArr) - $i; arrLeft=arrayslice( pathArr, $i); 壊す; } } ret=strrepeat("../ dismatchlen).implode("/", $arrLeft); $ret を返します。 } ​ print_r(sGetRelativePath(b,a));

​ ​ 3. フォルダー内のすべてのファイルとサブフォルダーを走査できる関数を作成します。

handle=opendir( フォルダー);
while((file=readdir( ハンドル) ) !== false) { //「はい」または「スキップ」の場合 if(file=="."|| ファイル == "。 .") { 続く; } if(is_file(folder."/". ファイル)) { aFileArr[]= ファイル; }else if(is_dir(folder."/". ファイル) ) { aFileArr[file] = aGetAllFile() fold er."/".file); } } 閉じられたir($ハンドル); } $aFileArr を返します。 } ​ $path = "/home/test/sql"; print_r(aGetAllFile($path));

PHP プログラマーのコンピューター面接の質問 (回答付き、良い回答にはボーナスポイント)

大企業からの PHP 面接の質問

管理者へのリマインダー: この投稿は haowubai (2009-07-30) によって固定解除されました
1. PHP 環境変数を使用して Web ページのアドレスのコンテンツを取得する方法は? IPアドレスを取得するにはどうすればよいですか?
[php]
echo $_SERVER ['PHP_SELF'];
echo $_SERVER ['SERVER_ADDR'];
[/php]

2 2007-2-5 ~ 2007- など、2 つの日付の差を見つけます。 3-6の日付の差
[php]
$begin=strtotime('2007-2-5');
$end=strtotime('2007-3-6');
echo ($end-$begin) / (24*3600);
[/php]

3. 次の機能を実現する関数を作成してください:
文字列「open_door」を「OpenDoor」に、「make_by_id」を「MakeById」に変換します。
[php]
function changeStyle(& $str) {

/*$str = str_replace ( "_", " ", $str );
$str = ucwords ( $str );
$str = str_replace ( " ", "", $str );
return $str;*/

$arrStr=explode('_',$str);
foreach($arrStr as $key=>$value){
$arrStr[ $key]=strtoupper(substr($value,0,1)).substr($value,1);
}
return implode('',$arrStr);
}
$s = "open_door";
echo changeStyle ( $s );
[/php]

4. 次の配列 $arr1 を配列 $arr2 に変換するプログラムを作成する必要があります。
[php]$arr1 = array (
'0' => array (' fid' => 1, 'tid' => 1, 'name' =>'Name1' ),
'1' => array ('fid' => 1, 'tid' = > 2 , 'name' =>'Name2' ),
'2' => 配列 ('fid' => 1, 'tid' => 5 , 'name' =>'Name3' ) ,
' 3' => 配列 ('fid' => 1, 'tid' => 7 , 'name' =>'Name4' ),
'4' => > 3 , 'tid' => 9, 'name' =>'Name5' )
);
$arr2 = 配列...残りのテキスト>>

PHP 面接の質問?急いで

仕事を探している友人は参考にしてみてもよいでしょうが、必ずしも役立つとは限りません。場合によっては職歴も非常に重要です。ただし、基本的な知識は依然として非常に重要です。高レベルのアルゴリズムの問​​題については、特に重要なタスクを実行していない限り、高レベルのフォト アルバム処理でこれらのアルゴリズムに遭遇することはありません。実際に処理できる場合は、実行できます。製品を販売することだけでは問題ありません。

1. 基本的な知識のポイント
HTTP プロトコルのいくつかのステータス コードの意味: 503 500 401 200 301 302
include require include_once require_once の違い
mysql4.0 などの PHP/Mysql のいくつかのバージョンの進化の歴史。 4.1 へのアップグレード、PHP 4.x から 5.1 への大幅な改良など。
HEREDOC の概要
いくつかの php マジック メソッドを作成します
php をコンパイルするときにいくつかのパラメーターを設定します
php にパラメーターを渡す 2 つの方法
(mysql) データ型の意味を書いてください (int char varchar datetime text); varchar と char の違いは何ですか?
Error_reporting などのデバッグ機能が使用されます
バージョン管理ソフトウェアを使用したことがありますか?使用するバージョン管理ソフトウェアは何ですか?
posix と Perl の標準正規表現の違いは何ですか?
セーフモードをオンにした後の制限は何ですか?
複数のプロセス/スレッドによるファイルの読み取りと書き込みの問題を解決するコードを作成します。同じ時間です。
ファイルをアップロードするコードを記述します。
Mysql ストレージ エンジン、myisam と innodb の違い。

2. Web アーキテクチャ、セキュリティ、プロジェクトの経験
xdebug、apc、eAccelerator、Xcache、Zend opt の使用経験を紹介します。
mod_rewrite を使用します。サーバー上に物理ファイル /archivers/567.html がない場合は、index.php?id=567 にリダイレクトします。まず mod_rewrite をオンにしてください。
MySQL データベースは公開システムのストレージとして使用されます。 1 日あたり 50,000 アイテムを超える増加分は、運用とメンテナンスに 3 年間かかると予想されます。これを最適化するにはどうすればよいですか?
並べ替えアルゴリズム (原理) を記述し、それを最適化する方法を説明します。
最も誇りに思っている開発作業について簡単に説明してください
トラフィックの多い Web サイトの場合、ページ訪問の統計の問題を解決するためにどのような方法を使用しますか?テンプレート エンジンを使用したことがありますか?使用している場合は、使用したテンプレート エンジンの名前を教えてください。
セッションの原理、大規模なWebサイトでのセッションの注意点を教えてください
PHPのパフォーマンスとMySQLデータベースのパフォーマンスをテストするためのツール、およびボトルネックを見つける方法について教えてください。
Web ページ内のすべてのリンクを報告します。
一般的な SSO (シングル サインオン) ソリューションの原則を紹介します (discuz のパスポートを統合する dedecms など)。
あなたが作成した PHP フレームワークの特徴、主にどのような問題を解決するか、他のフレームワークとの違い。
大規模なフォーラム/ニュース記事システム/SNS Web サイト間のパフォーマンスの最適化の違いは何ですか?
フォト アルバム アプリケーション: ブラウザーで同時に複数のファイルを選択してアップロードする必要があり、写真をトリミングする必要があります。圧縮されたパッケージはサーバー側で解凍されます。 1 つのファイルを最大 50M までアップロードできます。アップロードプロセス中に進行状況バーが表示されます。画像ごとに 4 つのサイズのサムネイルを生成できます。フラッシュ再生するにはビデオ ファイルを flv に変換する必要があります。対象となるさまざまなタイプのオープンソース ソフトウェアとその簡単な使用法について説明します。
猿のグループが円形に並び、1、2、...、n に従って番号が付けられます。次に、1 番目から数え始め、m 番目まで数え、円の外に追い出し、後ろから数え始め、m 番目まで数え、追い出します...このようにして最後まで続けます。猿は一匹だけ残っており、その猿は王様と呼ばれています。このプロセスをシミュレートするには、m、n を入力し、最後の王の番号を出力するプログラミングが必要です。プログラムを使用してこのプロセスをシミュレートします。

3. unix/linux の基本的な使い方
Linux で現在のシステム負荷情報を確認するいくつかの方法。
vim の基本的なショートカット キー。
Ssh のセキュリティ強化方法のパスワード モードと RSA キー モードの設定。
rpm/apt&...本文の残り>>

http://www.bkjia.com/PHPjc/896708.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/896708.html技術記事 PHP 面接問題集、PHP テスト問題 ~~ インターネットで PHP の質問をいくつかしましたが、気づかないうちにここまで来てしまいました... 質問がある場合は、お気軽に追加および修正してください。 1. PHP を使用して前のものを出力します。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!