検索
ホームページバックエンド開発PHPチュートリアルPHP2017 最新版面接の質問(回答付き)

多くの友人が PHP の面接の質問を求めているのを見て、あなたのために面接の質問をいくつか集めました。これらはすべて 2017 年の最新の質問です。あなたのスキル向上に役立つことを願っています。また、働きたい会社に就職できることを願っています。

この記事では、2017 年の最新の PHP 面接の質問をより詳細に収集して分析しています。皆さんの参考に共有してください。詳細は次のとおりです。


1. PHP を使用して、前日の時刻を 2006-5-10 22:21:21 (2 ポイント)

$a = date(" の形式で出力します。 Y-m-d H:i:s", strtotime ("-1 day"));

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("key"=>"value");

print_r($arr);

3 . HTML と PHP を別々に使用できるようにするテンプレート (1 点)

smarty、phplib


4. バージョン管理に使用されるツールは何ですか? (1 点)

svn、git、cvs


5. 文字列反転を実現する方法 (3 点)

英語:

strrev($a)

中国語またはその他のテキスト:

中国語: GB2312、コードは GB2312 を使用してエンコードされます

関数 reverse($str)

{

$ret = "";

len=mbstrwidth(str,"GB2312");

for(i=0;i

{

arr[]=mbsubstr(str, $i, 1, "GB2312 ");

}

return implode("", array_reverse($arr));

}

print_r(reverse("Hello")) ;

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

git


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

smarty


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は実行前にロードされます

includeは実行時にロードされます

require_once

include_once

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


session_set_cookie_params

17があります。 PHP研究所のホームページなどのWebページアドレス: http://www.jb51.net/index.html、そのコンテンツを取得するには($1ポイント)


file_get_contents

curl

18. HTTP 1.0 では、ステータス コード 401 の意味は (?) です。「ファイルが見つかりません」というプロンプトが返された場合、ヘッダー関数を使用できます。そのステートメントは (?) です


。 Unauthorized

header("HTTP/1.0 404 Not Found");

fast CGI Medium:

header("Status: 404 Not Found");

19. PHP では、ヒアドキュメントは特別な文字列です。そのエンドマークは必ず必要ですか?(1 ポイント)

ペアで表示されます

$a =

良いテストです

EOD;

20 asp、php、jsp の長所と短所について話します。 (1 点)

asp は IIS に依存する必要があり、Microsoft によって開発された言語です

php と jsp は、Apache や nginx などの他のサーバーに依存できます

21. mvc についての理解について話します (1 点) )


model:データ構造層

view:display

control:受付・判定処理

22と入力し、投稿数の多い10人の名前のSQLを書き、次の表を使用します: members (ID、ユーザー名、投稿、パス、メールアドレス) (2ポイント)

投稿の順にメンバーからトップ10のID、ユーザー名を選択


23. phpで値を渡すことと参照を渡すことの違いを説明してください。いつ値渡しするのか、いつ参照渡しするのか (2​​ 点)

& は参照渡しを意味します

関数内のパラメーターを参照渡しするとパラメーターが変更されます

一般に、複数の出力がある場合は参照の使用を検討できます。パラメータ


24. PHPの

error_reportingの関数とは何ですか? (1点)

エラーの表示レベルを設定します


25.メールアドレスは正しいです (2 ポイント)

$str = "jianfeng@126.com";

regex="([a−z0−9.−]+)@([da−z.−]+).( [a−z.]2, 6)" ; //通常

return preg_match(regex,str)

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

$argc --パラメータの数を取得

$argv --パラメータリストを取得


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

session_set_cookie_params


28. JSフォームのポップアップダイアログボックス機能とは何ですか? (2点)

alert()

promopt()

focus()

29. JSのリダイレクト機能は?外部JSファイルを導入するには?(2点)

window.location.href="#"

30、foo() と @foo() の違いは何ですか? (1 点)

@ はすべての警告を表し、

31 を宣言する方法。メソッドと属性のない「myclass」という名前のクラス? (1 点)

class myclass

{

}

32. 「myclass」という名前のオブジェクトをインスタンス化する方法 (1 点)

$myclass = new myclass();

33. クラスの属性にアクセスして設定するにはどうすればよいですか? (2 点)

class A

{

public $name = "A";

}

$a = new A();

n= a->name;

print_r($n);

34、

mysql_fetch_row

() と

mysql_fetch_array

の違いは何ですか? (1点)

mysql_fetch_array()はmysql_fetch_row()の拡張版です。データを数値インデックスとして配列に保存するだけでなく、フィールド名をキーとして使用して、データを連想インデックスとして保存することもできます。

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("接続できませんでした: " .mysql_error());

mysql_select_db

("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while (row=mysqlfetcharray(result, MYSQL_ASSOC)) {

printf ("ID: %s 名前: %s", row["id "],row["name"]);

}

mysql_free_result

($result);

35. GD ライブラリは何に使用されますか? (1 点)

動的オープニング画像処理ライブラリ

36. PHP に HTML コードを入力するいくつかの方法を指摘します。 (1 点)

echo "{html}"

echo {html}

EOD;

37. ファイルを読み書きできる関数は次のうちどれですか? ? (1 点) c

(a) fget() (b) file_open() (c) fopen() (d) open_file()

38. 次のオプションのうち、john を追加しないものはどれですか。ユーザー配列? (1 点) b

(a) $users[] = 'john';

(b) array_add($users,'john');

(c) array_push($users,' john') ;

(d) $users ||= 'john';

39. 次のプログラムは (1 点) 10

$num = 10;


関数 multiply(){ を入力しますか?

num=num * 10;

}

multiply();

echo $num;

?>

40 という名前のすべての人物を検索する簡単なクエリを作成します。 San」の内容を記載して印刷してください(2点)

テーブル名 UserName Tel Content Date


Zhang San 13333663366 大卒 2006-10-11 Zhang San 13612312331 学部卒業 2006-10-15 Zhang Si 021-5566556 6 技術系卒業中学校 2006-10-15

上記の質問に従ってコードを完成させてください:

$mysql_db=mysql_connect("local","root","pass");

@mysql_select_db("DB",$mysql_db) );

$sql = sprintf("select * from %s where UserName = '%s'",

"テーブル名",

"Zhang San");

values=mysqlquery(sql);

while(item= mysqlfetchqueryarray(values))

{

echo sprintf("ユーザー名: %s、電話番号 %s、学歴: %s、卒業日: %s",

item['ユーザー名'],item ['Tel' ], item['Content'], item['Date']

);

}

41. 次のクラスの使い方とその意味を説明します(3)

クラステスト{

function Get_test($num){

num=md5(md5(num)."En");

return $num;

}

}

$test = new test() ;

ret=test->Get_test(11);

print_r($ret);exit;

numをMD5エンコードした後に生成される32ビット文字列a1を「En」に接続し、再度MD5コーディングを行う


42. SQL文の形式を書く:挿入、更新、削除(4点)

テーブル名UserNameTelContentDate

张三13333663366 大卒2006-10-11

张三136123123 31 2006-10-15卒業

Zhang Si 021-55665566 工業中等学校卒業 2006-10-15

(a) 新しいレコードがあります (Xiao Wang 13254748547 高校卒業 2007-05-06) SQL ステートメントを使用してください。テーブルに追加するには

insert into table name names('Xiao Wang', '13254748547', 'High School Graduation', '2007-05-06')

(b) SQL ステートメントを使用して Zhang San のデータを更新してください現在のシステム時間までの時間を

テーブル名を更新します Date = GETDATE() where UserName = "Zhang San"

(c) Zhang Si という名前のすべてのレコードを削除するように書き込んでください

delete from show where UserName = "Zhang Si"


43. データ型の意味を書いてください(int char varchar datetime text) varcharとcharの違いは何ですか(2点)

int整数型

charストレージ固定長

varcharストレージ可変長

datetime time

text は可変長を格納します

varchar は可変長

char(20) 固定長


44 に設定する必要があります。MySQ 自動インクリメント タイプ (通常はテーブル ID フィールド) は (? ) フィールド (1 点) )

auto_increment


45. 次のプログラムの出力を書き込みます (1 点)

$b=201;

$c=40;

a=b>$c ?4:5;

echo $a;


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

isset()

empty()

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

mysql_num_rows()


48, $arr = array('james', 'tom', 'symfony'); 最初の要素の値 (1 ポイント) を出力してください


print_r($arr[0]);

reset($arr);

print_r(current($arr) ));

print_r(array_shift($arr));

49. 質問41の配列の値を','で区切って文字列出力(1点)にマージしてください

implode


50. a='abcdef'; aの値を取り出して、最初の文字(1点)を出力してください

$a[0];

substr($a, 0, 1) ;

51. PHPはSQLサーバー/oracleなどのデータベースに接続できますか?(1点)

はい

既製のライブラリがあります


52。 modifier(3点)

public

private

protected


53.php5のコンストラクタとデストラクタを書き出してください(2点)


public functionconstruct()

{

}

public function destruct()

{

}


プログラミングの質問:


1. 標準 URL からファイル拡張子をできるだけ効率的に抽出する関数を作成します

例: http://www.sina.com.cn/abc/de /fg.php?id=1 php または .php


$url = " を削除する必要があります。 http://www.sina.com.cn/abc/de/fg.php ?id=1";

arr=parseurl(url);

pathArr=pathinfo(arr['path']);

print_r($pathArr['extension']);


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

$b = '/a/b/12/34/c.php';

a に対する b の相対パスが http://www.jb51.net/12/34 であることを計算します。 /c.php は追加します

$a = '/ a/b/c/d/e.php';

$b = '/a/b/12/34/c .php';

//conpathを基準としたパスの相対パスを取得

function sGetRelativePath( path,conpath)

{

pathArr=explode("/",path);

conpathArr=explode("/ ",conpath);

$dismatchlen = 0;

for(i=0;i < ; count(pathArr);i++)

{

if(conpathArr[i] != pathArr[i])

{

dismatchlen=count(pathArr) - $i;

arrLeft=arrayslice(pathArr, $ i);

Break;

}

}

ret=strrepeat("../",dismatchlen)。 implode("/", $arrLeft);

return $ret;

}

print_r (sGetRelativePath(b,a));

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


function aGetAllFile($folder)

{

$aFileArr = array();

if(is_dir($folder))

{

handle=opendir(folder);

while((file=readdir(handle)) !== false)

{

// または...の場合は、

if(file=="."||file == ". .")

{

続行;

}

if(is_file(folder."/".file))

{

aFileArr[]=file;

}

else if(is_dir(folder."/".file))

{

aFileArr[file] = aGetAllFile(folder."/".file);

}

}

Closedir($handle);

}

return $aFileArr;

}

$path = "/home/test/sql";

print_r(aGetAllFile($path));

上記は私が集めた最新の面接の質問と回答であり、誰にとっても役に立つかもしれません。

関連書籍:

2017 年の一般的な PHP 面接の質問と回答テクニック

8 つの PHP 面接の質問は、PHP についての理解を反映しています

PHP の面接質問における筆記試験の質問の概要

以上がPHP2017 最新版面接の質問(回答付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの現在のステータス:Web開発動向を見てくださいPHPの現在のステータス:Web開発動向を見てくださいApr 13, 2025 am 12:20 AM

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHP対その他の言語:比較PHP対その他の言語:比較Apr 13, 2025 am 12:19 AM

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHP対Python:コア機能と機能PHP対Python:コア機能と機能Apr 13, 2025 am 12:16 AM

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHP:Web開発の重要な言語PHP:Web開発の重要な言語Apr 13, 2025 am 12:08 AM

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHP:多くのウェブサイトの基礎PHP:多くのウェブサイトの基礎Apr 13, 2025 am 12:07 AM

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

誇大広告を超えて:今日のPHPの役割の評価誇大広告を超えて:今日のPHPの役割の評価Apr 12, 2025 am 12:17 AM

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPの弱い参照は何ですか、そしていつ有用ですか?PHPの弱い参照は何ですか、そしていつ有用ですか?Apr 12, 2025 am 12:13 AM

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

PHPで__invoke Magicメソッドを説明してください。PHPで__invoke Magicメソッドを説明してください。Apr 12, 2025 am 12:07 AM

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい