ホームページ  >  記事  >  バックエンド開発  >  PHP に関するいくつかの面接質問の分析

PHP に関するいくつかの面接質問の分析

巴扎黑
巴扎黑オリジナル
2017-08-09 14:24:101192ブラウズ

1. PHP を使用して、前日の時刻を 2006-5-10 22:21:21

$yesterday = mktime(0, 0, 0, date("m") の形式で出力します。 ) , date("d ")-1, date("Y"));

echo date("Y-M-d h:i:s", $yesterday);

注: mktime は UNIX タイムスタンプを返します。

int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]

2. echo()、print()、print_r() の違い

見てくださいphp .net 上の関数定義は明確に理解できます: echo

Output 1つ以上の文字列 変数に関する情報 変数に関する人間が判読できる情報 さらに:

printf書式設定された文字列を出力 - F書式設定された文字列を返す

フラッシュ - フラッシュ 出力バッファ

3. HTMLとPHPを分離できるテンプレート

php4には(IntegratedTemplate、IntegratedTemplateExtension)が付属しています

など、プログラムやデータベースの処理を容易にします。次に、プログラムを使用して、テンプレート タグを含む静的ページを呼び出します。 ただし、smarty はキャッシュメカニズムに基づいており、保存用の一時ファイルを生成するための templates_c ディレクトリが存在します。これを自分で作成すると、より複雑になります。 ロジックとパフォーマンスの分離が鍵 単純にHTMLとPHPを分離するのではなく、正しい方法で

3. テンプレートエンジンとフレームワークの違いに注目し、 MVCの視点。

4. バージョン管理にはどのようなツールが使われていますか? 5. 文字列反転の実装方法は?

strrev() もしあなたが十分考慮して(漢字の問題)、次のコードを見つけました:

1.function reverse($str)
{
     $len=strlen($str);
     $newstr = '';
     for($i=$len;$i>=0;$i--)
     {
         $newstr .= $str{$i};
     }
     return $newstr;
}

    2. join("",array_reverse(str_split($str,1))),str_split($str,1)函数按长度分割字符串。explode()按分割符分割字符串.

    3.function rev_str($str)
   {
    $len = strlen($str);
    for($i=0;$i<$len;$i++)
    {
      $temp_str=substr($str,0,1);
      if(ord($temp_str) > 127)
      {
         $i++;
         if($i<$len)
         {
           $new_str[]=substr($str,0,3);
           $str=substr($str,3);
          }
       }
   else
      {
        $new_str[]=substr($str,0,1);
        $str=substr($str,1);
      }
    }
    return join(array_reverse($new_str));
}

6 、MYSQLデータベースを最適化する方法。 主にいくつかの観点から:

ハードウェアの最適化、ディスクの最適化、オペレーティングシステムの最適化、アプリケーションプログラミングインターフェイスの選択

など。参照: http://www.phpdo.net/index.php/optimization-mysql.html インデックスを使用する など、最適化されたクエリ も重要です。

7. PHP とはどういう意味ですか?  8、MYSQL取得当前时间的函数是?格式化日期的函数是

   mysql:    now() ;      date_format();

              php:      time();   date();

  9、实现中文字串截取无乱码的方法。

          其核心是处理中文问题,见blog:http://www.cnblogs.com/nbkhic/archive/2011/07/16/2108335.html

         很多处理都是这些思路,如何判断汉字边界的问题,防止出现汉字截断。


  10、用PHP写出显示客户端IP与服务器IP的代码
              $_SERVER["SERVER_ADDR"]         这个是服务器ip
              $_SERVER["REMOTE_ADDR"]        这个是客户端ip
              _SERVER显示服务器和执行环境信息。http://php.net/manual/en/reserved.variables.server.php
                     11、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? 

                    include如果包含出错,报错继续执行。

                    requre如果出错,终止执行脚本。

                    requre_once() ; 包含一次

更深入一步理解:http://blog.csdn.net/followingturing/article/details/8102789        

  12、如何修改SESSION的生存时间

                    通常是修改php.ini中某个配置项值,可google之。               

  13、有一个网页地址, 比如PHP研究室主页: http://www.phpv.net/index.html,如何得到它的内容?

                     file_get_contents();

                     fopen()都可以。  

                     复杂的话,用curl。

  14、在HTTP 1.0中,状态码401的含义是?;  如果返回“找不到文件”的提示,则可用 header 函数,其语句为?;

                       401:需要用户验证。 get_headers();

                       其它常用:200,301,302,404等等。 详见:http://baike.baidu.com/view/1790469.htm                       

  15、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?

                    非常好的一项技术,用好了很方便,本质一句话:字符串输出技术

リテラシー、無視。谈 17、MVC の理解について話します







🎜🎜🎜 🎜🎜🎜🎜 🎜🎜🎜🎜 🎜 🎜🎜🎜 🎜🎜🎜🎜 🎜🎜🎜🎜 🎜🎜🎜🎜 🎜🎜🎜🎜 🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜 🎜🎜 🎜🎜 🎜🎜 🎜🎜 は無視します。贴 18. 10 人の名前の最も多い SQL を作成するには、以下の表を使用します: メンバー (ID、ユーザー名、投稿、PASS、電子メール) 🎜メンバーから上位 10 人のユーザー名を選択投稿の説明で並べ替えます🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜 19. PHPにおける値渡しと参照渡しの違いを説明してください。いつ価値を渡すか、いつ参照しますか? 🎜🎜🎜🎜変更されることになります。 🎜🎜🎜 20. PHPのerror_reportingの機能とは何ですか? 25. メールの形式が正しいかどうかを検証する関数を書いてください(2点)

26. 現在実行されているスクリプトのパスを取得するパラメータを含めて取得する方法を簡単に記述してください。 (2点)

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

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

29 , JSのリダイレクト機能とは? (2点)

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

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

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

33. クラスの属性にアクセスして設定する方法は? (2 点) 34. mysql_fetch_row() と mysql_fetch_array の違いは何ですか? (1 点) 35. GD ライブラリは何に使用されますか? (1 点) point)

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

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

38. 次のオプションのうち、users 配列に john を追加しないものはどれですか? (1 点)
(a) $users[] = 'john';
(b ) array_add($users,'john');

(c) array_push($users,'john');
(d) $users ||= 'john';
39. 以下はプログラムの入力? (1点)
$num = 10;
function multiply(){

echo $num;
?>
40. PHPを使って簡単なクエリを書く「Zhang San」という名前のコンテンツをすべて見つけて印刷します(2 点)
テーブル名 UserName Tel Content Date
张三13333663366 大学卒業 2006-10-11
2006. _select_db("DB",$mysql_db);
41. 使い方次のクラスを説明し、次の意味を説明してください。 (3)
class test{ 42 , write SQL ステートメントの形式: Insert、update、delete (4 点) テーブル名 UserName Tel Content Date
06-10 -15
021-55666▢ .2006-10-15工業中等学校卒業

(a) 新しい記録があります (Xiao Wang 1325474) 8547. 2007-05-06 に高校を卒業しました )。 SQL ステートメントを使用してテーブルに追加してください
( b) SQL ステートメントを使用して Zhang San の時間を現在のシステム時間に更新してください
(c) Zhang Si という名前のすべてのレコードを削除するように書き込んでください
43 . データ型 (int char varchar datetime text ) の意味を書いてください; varchar と char の違いは何ですか (2 点)

44. MySQ の自動インクリメント型 (通常はテーブル ID フィールド) を ( ?)フィールド(1点)
45 、以下のプログラムの出力結果を書きます(1点)
$b=201;
$c=40;
$a=$b> $c?4:5;
echo $a ;
?>
46. 変数が設定されているかどうかを検出する関数はありますか? ( 2点)

47. クエリ結果セットの総数を取得する関数は何ですか(1点)
48. $arr = array('james', 'tom', 'symfony'); 最初の要素の値(1点)を出力してください

49. ','で区切って文字列に結合してください出力 (1 点) 50. $a = 'abcdef'; $a の値を取り出して最初の文字を出力してください (1 点) 51. PHP は SQL Server/oracle などのデータベースに接続できますか? (1 点) ) 52. PHP5のパーミッション制御修飾子を書いてください(3点) 53. php5 Functionのコンストラクタとデストラクタを書いてください(2点)

54. PHPMYADMINを使って以下を完成させてください

(1)作成テーブル名は message で、以下のフィールド (3 ポイント) があります。

(2) 上記と同じニュースリリースシステム: テーブルコメントはユーザーの返信内容を記録し、フィールドは以下の通り(4点)
comment_id 返信id
id 記事id、関連付けられたメッセージテーブルid

Comment_content 返信内容

次に、データベースにクエリを実行して、次の形式で記事タイトルのリストを取得し、返信数が多い順に並べ替える必要があります
記事 ID 記事タイトル クリック数返信番号
SQL ステートメントを使用して、上記のクエリを完了します。記事に返信がない場合、返信数は 0 と表示されます
(3) 上記のコンテンツ管理システムでは、カテゴリ テーブルに分類が保存されます。情報、フィールドは次のとおりです (3 点)
category_id int (4) not null auto_increment;
category_name varchar (40) not null;

ユーザーが記事を入力するときに、 を選択して記事のカテゴリを選択します。ドロップダウン メニュー
このドロップダウン メニューの実装方法を書く
55. PHP では、現在のスクリプトの名前 (パスとクエリ文字列を除く) は、事前定義された変数 ____ と URL に記録されます。現在のページへのリンクは、事前定義された変数 ____middle に記録されます。
56. HTTP 1.0 では、ステータス コード 401 の意味は ____ で、「ファイルが見つかりません」プロンプトが返された場合、ヘッダー関数を使用でき、そのステートメントは ____ です。
57. 配列関数 arsort の関数は ____ 、ステートメント error_reporting(2047) の関数は ____ です。

58.PEARにおけるデータベース接続文字列の形式は____です。

59. Web ページ上のすべての JS/VBS スクリプトをフィルタリングする (つまり、script タグとそのコンテンツを削除する) ための正規表現を書きます: ____。

60. PHP を Apache モジュールとしてインストールするには、http.conf ファイル内で、まずステートメント ____ を使用して PHP モジュールを動的にロードし、次にステートメント ____ を使用して拡張子 php を持つすべてのファイルを Apache にロードさせます。 PHP スクリプトとして。

61. include ステートメントと require ステートメントは、現在のファイルに別のファイルをインクルードできます。これらの違いは ____ です。同じファイルを複数回インクルードすることを避けるために、代わりにステートメント ____ を使用できます。

62. クラスの属性をシリアル化してセッションに保存し、後でクラス全体を復元できるようにするために使用される関数は ____ です。

63. php.iniで___がonに設定されていない限り、関数のパラメータは変数への参照にはなりません

64. SQLにおけるLEFT JOINの意味は____です。 tbl_user が学生の名前 (名前) と学生番号 (ID) を記録する場合、tbl_score は学生 (一部の学生は試験後に退学になり、その記録はありません) の学生番号 (ID) とテストのスコア (スコア) を記録します。テスト科目 (subject) の場合、各学生の名前と、対応する各科目の合計スコアを出力したい場合は、SQL ステートメント____ を使用できます。

65. PHPではヒアドキュメントは特別な文字列であり、そのエンドマークは____でなければなりません。

66. 標準 URL からファイル拡張子をできるだけ効率的に抽出する関数を作成します
例: http://www.sina.com.cn/abc/de/fg? id=1はphpか.php

67. HTML言語ではページ先頭のmetaタグを使ってファイルのエンコード形式を出力することができます 以下は標準的なmeta文です。
標準HTMLページの同様のメタタグ内のcharset部分の値をbig5に変更する関数をPHPを使って書いてください
注意:
1. HTMLページ全体を処理する必要があり、つまり、このメタ ステートメントだけではありません
2 . case を無視します
3. ここでは ' と " は交換可能です
4. 'Content-Type' の両側の引用符は無視できますが、この 2 つは無視できます。 'text/html; charset=gbk' の引用符 サイドビューは機能しません
5. 余分なスペースの扱いに注意してください

68. 2つのファイルの相対パスを計算する関数を書きます
例えば $a = '/a/b/c/d/e.php' ;
$b = '/a/b/12/34/c.php';
$a に対する $b の相対パスが ../../c/d になることを計算し、

に () を追加します 69. フォルダー内のすべてのファイルとサブフォルダーを走査できる関数を書きます。

70. フォーラムにおける無限分類の実装原理を簡単に説明します。

71. PHP を使用してバブルソートおよびクイックソートアルゴリズムを記述します。 オブジェクトは配列にすることができます

72. PHP を使用して逐次検索および二分探索 (二分探索とも呼ばれます) アルゴリズムを記述します。検索は効率を考慮する必要があり、オブジェクトは順序付けされた配列にすることができます

73. 汎用的な 2 次元配列ソート アルゴリズム関数を作成します。PHP 組み込み関数を呼び出すことができます










以上がPHP に関するいくつかの面接質問の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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