検索
ホームページバックエンド開発PHPチュートリアルPHP の面接で基本的な質問をしてみませんか

この記事は、PHP 面接の基本的な質問をすべての人に向けてまとめたものです。これには一定の参考価値があります。困っている友人は参考にしてください。すべての人に役立つことを願っています。

1. エラーを例外処理に変換するために使用できる関数はどれですか?

A:set_error_handler

B:error_reporting

C:error2Exception

D:catch

正解: *A *

回答分析: set_error_handler () はコールバック関数を指定でき、エラーが発生した場合、指定されたコールバック関数を通じて自動的に処理されます。コールバック関数で新しい例外をスローするだけです。

2. シェル関数に関する次の説明のうち、正しいものはどれですか?

A: シェル関数は最初に呼び出してから定義できます。

B: シェル関数はキーワード function を使用して定義する必要があります。

##C: シェル内の変数関数はローカル変数として宣言できます

D: シェル関数は return を通じてのみ値を返すことができます。1 は成功、0 は失敗です

#正解: C

回答分析: シェル関数は呼び出す前に最初に定義する必要があります。宣言する場合、キーワードを使用する必要はありません。関数内のローカル変数は local を通じて定義できます。シェル関数の戻り値、0 は成功、0 以外は成功ですエラー、他のオプションは正しいです。

3. 全文検索テクノロジに関する次の誤った記述は次のとおりです:

A: Solr は新世代の全文検索コンポーネントです。 Lucene より検索効率が高く、HTTP アクセスにも対応しており、PHP から Solr を呼び出すこともできるので非常に便利です。

B: MySQL では、フィールドの FULLTEXT インデックスを作成して全文検索を実現できます。現在、MyISAM テーブルと InnoDB テーブルの両方が FULLTEXT インデックスをサポートしています。

C: Sphinx は SQL ベースの全文検索エンジンで、MySQL と組み合わせて全文検索を行うことができ、データベース自体よりも専門的な検索機能を提供できます。

D: Lucene に付属するバイナリ単語セグメンテーション アナライザーである CJKNalyzer は、単語セグメンテーションが非常に高速で、一般的な全文検索のニーズを満たすことができます。

正解: *A *

答えの分析: Solr は、新世代の全文検索コンポーネントです。Lucene に基づいているため、次のことはナンセンスです。 Lucene より速いと言っています:)

4. シングルトン パターンに関するどの記述が間違っていますか?

A: シングルトン モードの目的は、グローバル環境内にクラスのインスタンスが 1 つだけ存在できるようにすることです。

B: シングルインタレスト モードでは、通常、コンストラクターを設定する必要があります。 to private

C: 世界にインスタンスが 1 つだけ存在するようにするには、コンストラクターをプライベートに設定するだけで済みます。

D: データベースに接続する機能は通常、シングルトン モード

正解 :*C *

回答分析: コンストラクターをプライベートに設定すると、new を使用して新しいインスタンスを作成できなくなりますが、複数のインスタンスは引き続き作成できます。クローン、逆シリアル化などを通じて作成されます。

5. エンジンの正規表現のうち、間違っているものはどれですか?

A 通常のエンジンは主に 2 つのカテゴリに分類できます。1 つは DFA、もう 1 つは NFA です。

B 一般に、NFA エンジンの検索は高速です。ただし、DFA は式指向で操作が簡単なため、プログラマーは一般に DFA エンジンを好みます。

C NFA 式が優先され、DFA テキストが優先されます。

D 優先数量指定子とグループ キャプチャの無視をサポートするかどうかを使用して、エンジン タイプを決定できます。NFA をサポートする、DFA をサポートしない

正解: B

答えの分析: 正解は次のとおりです。一般に、DFA エンジンの検索は高速です。ただし、NFA は式指向で操作が簡単なため、プログラマーは一般に NFA エンジンを好みます。

6. 次のオプションのうち、ボックス内の正規表現と一致するものはどれですか?

/.Sd/

A. 123

B. **1234

C. 1234

D.123

正解: B

解答分析: この質問の重要な点は、この正規表現の意味を理解することです。左から右に、最初の表現は 0 個以上の任意です。文字 ( .)、アスタリスク ()、123、最後に数字が続きます。したがって、答えはBです。

7. データベースに関する次の記述のうち、間違っているものはどれですか?

#A: 効率性を高めるため、データベースには複数の読み取りライブラリを含めることができます。

B: データベースはホット スタンバイにマスター/スレーブを使用できます。

C: データベースは複数の読み取りライブラリを提供できません。マスターおよびマルチスレーブのアーキテクチャ

D: データベースのマスターとスレーブはログを通じて同期されます

正解: C

解答分析: データベースは次のことができます。マルチマスターおよびマルチスレーブのアーキテクチャを提供します。

8.XSS 脆弱性を修正する方法ではないのは次のうちどれですか?

#A: パラメータで htmlspecialchas フィルタリングを実行します

#B: パラメータでホワイトリスト フィルタリングを使用します

#C: ブラウザでの入力コンテンツの表示を許可しません

D: ユーザーが js タグに入力した内容を出力することは禁止されています。

正解: *A *

解答分析: このタイプのフィルタリングでは、山かっこタイプ XSS を解決します。js タグの xss

を解決できません。 9. PHP SAPI モードではないものは次のうちどれですか? A.ISAPI

B.CGI

C.FastCGI

D.RESTFUL API

正解: D

回答分析: A ~ C は最もよく使用されるパターン、D はインターフェイスの構成方法です。

10. 大きなファイルを 1 行ずつスキャンするには、次のどの方法の方がパフォーマンスが高いですか? A: IteratorAggregate インターフェイスを実装するクラスを作成し、このクラスを介した foreach トラバーサルを使用します。

B: file_get_contents を使用して、ファイルの内容を一度にメモリにロードし、1 行ずつ調べます。

C: exec 関数を通じて、シェル ツールを呼び出して走査します。

D: 他の人が書いたクラス ライブラリを使用する

正解: A

解答分析: IteratorAggregate を使用してファイルを開き、移動して 1 行ずつスキャンします。ファイルサイズの影響を受けないポインター。 file_get_contents を使用して大きなファイルを処理すると、PHP メモリ オーバーフローが簡単に発生する可能性があります。exec を呼び出すと追加のプロセスが作成され、パフォーマンスに影響します。他の人が作成したクラス ライブラリの品質は高くない可能性があります。

11. 次のオプションのうち、デザイン パターンが従うべき原則ではないものはどれですか?

A: 継承より合成の方が優れています

B: インターフェイスのプログラミング

C: 結合を可能な限り減らす

D: 高い値を使用するようにしてください-パフォーマンス構文

正解: D

回答分析: デザイン パターンの焦点はコードの保守性と再利用性です。オプション D は焦点ではありません。デザインパターン。

12.バックトラッキングに関する次の表現のうち、間違っているものはどれですか?

A ab.lmn は abcdeflmnghijklmn の abcdeflmnghijklmn と一致します

B ab.?lmn は abcdeflmnghijklmn の abcdeflmn と一致します

C ab??c は abcdeflmnghijklmn

D と一致します。 *lmn は abcdeflmnghijklmn の abcdeflmn と一致します

正解: D

解答分析: D は貪欲一致であるため、一致結果は abcdeflmnghijklmn

13 となります。関数内で try catchfinally 構文構造が使用されている場合、return はどこに記述すべきですか?

A: 最終的に

B:

で試す C:

でキャッチ D: 任意の位置

正解回答: A

回答分析: try の return 後も、finally は実行を継続します。finally にも return がある場合、最終的な戻り値は、finally の return の値になります。

14. NOSQL に関する次のステートメントは間違っています:

A: Redis は文字列、ハッシュ、リスト、セット、順序付きセットなどのデータ構造をサポートしていますが、現在、Redis はトランザクションをサポートしていません。 。

B: MongoDB は AP in CAP 定理をサポートし、MySQL は CAP in CA をサポートします。これらはすべて、不可能な存在をサポートします。

C: MongoDB は、最初にコレクション構造を作成せずにデータを直接挿入できますが、現在、MongoDB はトランザクションをサポートしていません。

D: Memcache は TCP プロトコルと UDP プロトコルの両方をサポートしており、PHP セッションを Memcache に保存できます。

正解: A

答えの分析: Redis はトランザクションをサポートしています。

15. Innodb のロック メカニズムについて間違っているのはどれですか?

A: Innodb は、テーブル ロックと行ロックという 2 つのロック メカニズムを提供します。

B: Innodb のテーブル ロックは、テーブルが変更されるとトリガーされます

C: Innodb 更新時、排他的関係する行にロックが自動的に追加され、ミラー コピーが作成されます。このとき、選択すると、ミラー コピーのデータがクエリされます。

D: Innodb 行ロック状態では読み取りは影響を受けません。 、書き込みに影響します (データが関係します)

正解: A

16. 次のどれが作成されますか? 毎週水曜日 01:00~04:00 3 ごとに実行crontab コマンドを 1 分ごとに実行しますか?

A: 1,4 3 /bin/bash /home/sijiaomao/ok.sh

B:/3 1,4 3 /bin/bash /home/sijiaomao/ok.sh

C:/3 1-4 3 /bin/bash /home/sijiaomao/ok.sh

D:/3 1-4 * /bin/bash /home/sijiaomao/ok .sh

正解: C

解答分析: A: 毎週水曜日の 1:04 に毎分実行 B: 毎 3 時の 1:毎週水曜日 04 時 1 分ごとに 1 回実行 C: 要件を満たす D: 毎日 1:04 に 3 分に 1 回実行

17. 分割する前に、システムは SQL join Completed を通じて取得できます。分割後、データベースが異なるインスタンス、異なるホストに分散される可能性があり、結合が非常に面倒になります。この問題に対する効果的な解決策ではない方法は次のうちどれですか?

グローバル テーブル、システム内のすべてのモジュールが依存する可能性のあるいくつかのテーブルは、各ライブラリに保存されます。

B フィールドの冗長性。「注文テーブル」に「販売者 ID」を保存する一方で、販売者の「名前」フィールドも冗長であるため、注文の詳細を照会するときに「販売者」を照会する必要はありません。ユーザーの「表面」。

C マスター/スレーブ レプリケーションにより、データベースの読み取りと書き込みが分離されます。

D データの同期では、データベース A の tbl_a テーブルがデータベース B の tbl_b に定期的に関連付けられ、指定されたテーブルをマスターとスレーブの間で定期的に同期できます。

正解: C

解答分析: マスター/スレーブ レプリケーションにより、データベースの読み取りと書き込みが分離されます。読み取りの同時実行性を拡張することしかできませんが、データベース間の結合の問題を軽減することはできません。

18. ネットワーク IO モデルに関して正しいのは次のうちどれですか?

#A.Select は Epoll よりも高速です

B.nginx は選択モデルを使用します

C.apache は select と epoll 間の切り替えをサポートします

D.epollより大きな同時実行性をサポートできます

正解: D

答えの分析: epoll のほうが高速です。 B nginx は epoll モデルを使用します。 Capache は select

19 のみをサポートします。PHP が実行されるとき、次の実行プロセスがあります: スキャン (Lexing) - コンパイル - 実行 - 解析、その意味は次のとおりです:

A: PHP の変換code 言語フラグメント (トークン) の場合、トークンを単純で意味のある式に変換し、式を Opocdes にコンパイルし、Opcodes

B を順番に実行します。PHP コードを言語フラグメント (トークン) に変換し、トークンを単純で意味のある式に変換します。意味のある式を作成し、オペコードを順番に実行し、式を Opocdes にコンパイルします

C: PHP コードを言語フラグメント (トークン) に変換し、式を Opocdes にコンパイルし、オペコードを順番に実行し、トークンを単純で意味のある式に変換します

D: PHP コードを変換します 言語フラグメント (トークン) に変換します、式を Opocdes にコンパイルし、トークンを単純で意味のある式に変換し、オペコードを順番に実行します

#正解: C

解答分析: 正解は C です、そして正しい順序は次のとおりです: スキャン (字句解析)、解析、コンパイル、実行

以上がPHP の面接で基本的な質問をしてみませんかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はlearnkuで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
PHPロギング:PHPログ分析のベストプラクティスPHPロギング:PHPログ分析のベストプラクティスMar 10, 2025 pm 02:32 PM

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelでフラッシュセッションデータを使用しますLaravelでフラッシュセッションデータを使用しますMar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法PHPのカール:REST APIでPHPカール拡張機能を使用する方法Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキングLaravelテストでの簡略化されたHTTP応答のモッキングMar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプトCodecanyonで12の最高のPHPチャットスクリプトMar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。PHPにおける後期静的結合の概念を説明します。Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

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

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT

MantisBT

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。