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

PHP2017 最新版面接の質問(回答付き)

Nov 18, 2017 pm 04:55 PM
php 新しいバージョン

多くの友人が 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 までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles