Techiesにようこそ!!! LAMP環境に関するほとんどのインタビューで尋ねられたいくつかのインタビューの質問と回答を提供しています。 PHPプログラマーの仕事に応募する人は、これらの面接の質問に必ず答える必要があります。これらは、最近の面接で質問がどのように行われるかについての基本的な考え方を得るために特別に設計されているためです。このリストは、LAMPのすべての側面を組み合わせた一連の質問をまとめてほしいという読者からのいくつかのリクエストの後にまとめられているため、多くの人に役立ちます。
Q:1[送信]ボタンを使用せずにフォームを送信する方法を教えてください。
回答:フォームフィールドのイベントトリガーにJavaScriptコードをリンクさせることで、送信ボタンを使用せずにフォームを送信できます。そして、コードdocument.form.submit()関数を追加するだけで、イベントがトリガーされたときにフォームを送信できます。
Q:2 mysql_fetch_arrayとmysql_fetch_objectの主な違いを説明してください?
回答:Mysql_fetch_arrayは一致するすべてのレコードをフェッチしますが、mysql_fetch_objectはクエリに一致する最初のレコードのみをフェッチします。
Q:3 $messageと$$messageの主な違いを教えてください?
回答:$ messageは変数の名前ですが、$$messageはその名前が$message内に格納されている変数です。
たとえば、$ message =” var”の場合、$$messageは$var
と同じです。Q:4 requireとincludeの主な違いを述べてください、include_once?
回答:主な違いは、requireを使用すると、ファイルが見つからない場合に致命的なエラーがスローされるのに対し、includeとinclude_onceは警告を表示し、ページの読み込みを続行することです。
Q:5リンク解除と設定解除の機能の違いは何ですか?
回答:Unlink()関数はファイルを削除しますが、Unset()は設定変数を未定義として作成します。
Q:6セッションをどのように定義しますか?
回答:セッションは、複数のページで使用されるデータを保存する方法です。技術用語では、データの保存を支援するためにサーバーに保存される論理オブジェクトであり、複数のHTTPリクエストを介してアクセスできます。セッションは、Apacheサーバーで設定されたセッションタイムアウトに基づいて常に一時的です。
Q:7変数をセッションに登録するにはどうすればよいですか?
回答:セッションに変数を登録するには、session_register()関数を使用する必要があります
例:session_register($ login_id)
Q:8配列に存在する要素の数をどのように見つけますか?
回答:いいえを見つけるために。配列内の要素の場合、count()またはsizeof()関数のいずれかを使用できます
例:count($ array)またはsizeof($ array)。
Q:9 PHPでパスワードを暗号化できますか?その方法は?
回答:はい。md5()またはsha()関数を使用して、PHPでパスワードとあらゆる種類のデータを暗号化できます。
Q:10トリガーとは何ですか?MySQLはトリガーをサポートしていますか?
回答:トリガーは、データベース内の特定のテーブルに関連付けられているデータベースオブジェクトです。自動的にアクティブになり、テーブルでINSERT、UPDATE、DELETEアクションのいずれかが発生したときに実行されます。
MySQLは、MySQL5.0.2バージョンからのトリガーをサポートしています。
Q:11 mysql_connectとmysql_pconnectの主な違いを説明してください?
回答:mysql_connectを使用すると、ページが読み込まれるたびにデータベース接続を開きますが、mysql_pconnectを使用すると、接続が1回だけ確立され、複数のリクエストにわたってデータベースへのアクセスが提供されます。
Q:12 MySQLでテーブルを修復する方法は?
回答:MySQLでテーブルを修復するには、次のクエリを使用する必要があります:
REPAIR TABLE {table name} REPAIR TABLE {table name} QUICK / EXTENDED
QUICKが指定されている場合、MySQLはインデックスツリーのみの修復を行います
EXTENDEDが指定されている場合、MySQLは行ごとにインデックスを作成します。
Q:13 PHPは大文字と小文字を区別するプログラミング言語ですか?
回答:部分的に大文字と小文字が区別されます。関数名とクラス名は大文字と小文字を区別して使用できますが、変数は大文字と小文字を区別して使用する必要があります。
Q:14 PHPでループを処理するにはどうすればよいですか?
回答:PHPでは、while、do while、for、foreachのようなループステートメントがあります。
Q:15コマンドラインでPHPスクリプトを実行できますか?
回答:はい、次のコマンドライン引数を使用してコマンドラインでPHPスクリプトを実行できます
# php yourscript.php
ここで、phpは、コマンドラインインターフェイス(CLI)でphpスクリプトを実行するためのコマンドです
Q:16 nl2br()とは何ですか?
回答:nl2br()関数は、文字列内の各改行の前にHTML改行を挿入します。
たとえば、nl2br( "How are you")は、文字列内のすべての新しい行の前にHTML改行で追加された文字列を返し、出力は次のようになります。
方法
あなた
Q:17 mysqlを使用してmysqlテーブルに存在するデータを暗号化および復号化するにはどうすればよいですか?
回答:mysqlテーブルのデータを暗号化するには、次を使用できます:AES_ENCRYPT()およびAES_DECRYPT()
Q:18 PHPのエラーの種類と、それぞれについて説明してください。
回答:PHPのエラーの種類は、通知、警告、および致命的なエラーです。
通知はそれほど重要ではないエラーであり、あまり重要視したくないものです。発生するエラーと同様に、定義されていない変数にアクセスしようとした場合。通知エラーを表示しないように変更すると、この種のエラーはまったく表示されなくなります。
警告は、注意が必要な重大なエラーです。これらのエラーはユーザーに表示されますが、スクリプトは終了しません。このエラーの例には、存在しないファイルへのアクセスが含まれます。
致命的なエラーは、スクリプトの即時終了につながるミッションクリティカルなエラーです。これらのエラーの例には、存在しないクラスのオブジェクトの呼び出しなどが含まれます。
Q:19 htmlentitiesとは何ですか?その機能は何ですか?
回答:Htmlentities()は、文字をHTMLエンティティに変換するだけです。
Q:20 urlencode()およびurldecode()とは何ですか?
回答:urlencode()は、特殊文字をURLで安全に使用できる文字に変換します。ほとんどの場合、2桁の16進数とともに%記号に変換されます。
例:urlencode(“ 20:00%)は“ 25%2E00%25?”に変換されます
urldecode()は逆のことを行い、デコードされた文字列を返します。
Q:21画像のプロパティを取得するためにどのphp画像関数を使用しますか?
回答:画像を処理するさまざまなphp画像関数があり、使用できます:
- exif_imagetype()–画像のタイプを取得するには
- getimagesize()–画像のサイズを取得するには
- imagesx()–画像の幅を取得するには
- imagesy()–画像の高さを取得するには
Q:22 phpスクリプトの実行時間を増やすことはできますか?
回答:はい、max_execution_time変数を使用して、phpスクリプトの実行に必要な時間を設定できます。
Q:23 PHPの最大アップロードサイズを増やすことはできますか?
回答:はい、upload_max_filesize変数を使用して、アップロードできるファイルの最大サイズを変更できます。
Q:24mysqlでデータベース全体のバックアップを作成する方法を教えてください。
回答:コマンドラインユーティリティを使用すると、次の方法ですべてのmysqlテーブルまたは特定のmysqlテーブルのバックアップを簡単に作成できます。
mysqldump –-user [user_name] –-password=[password] [database_name] > [dump_file_name]
Q:25セッション変数を破棄する方法は?
回答:Session_unregister()現在のセッションからグローバル変数の登録を解除します
Q:26セッションの変数の設定を解除するにはどうすればよいですか?
回答:session_unset($ variable_name)関数を使用すると、セッション変数をクリアできます。
Q:27 Cookieを破棄する方法は?
回答:Cookieを前の日付または時刻に設定する必要があります。
Q:28このクエリ「Select * fromtable_name」の何が問題になっているのか説明してください?
回答:必要な場合を除いて、テーブルのすべての列を選択したり、クエリでのみ必要な列を指定したりしないでください。その理由は、テーブルから2つまたは3つのフィールドのみを使用する場合、レコードが巨大な場合、データをフェッチするために大量のメモリを使用するためです。
Q:29 SQLインジェクションとは何ですか?
回答:SQLインジェクションは、ハッカーが悪意のあるSQLステートメントを使用してデータベースにアクセスするために利用する手法です。これを使用すると、誰でも許可や許可なしにデータベースに完全にアクセスできます。
まず、sqlステートメントに渡す前に、mysql_real_escape_string()を使用してユーザー入力データをフィルタリングする必要があります。
Q:30以下のコードの出力と理由を説明してください?
$ a =012;エコー$a/ 4;
回答:答えは2.5です。
PHPでは、数値の前に0が付いている場合は常に、8進数と見なされるため、012の8進数は10進数の10に相当し、10/4は2.5になります
。