PHP 面接の質問セット、私の回答と分析付き (1)_PHP チュートリアル
インタビューの質問 1
1. PHP を使用して、前日の時刻を 2006-5-10 22:21:21 の形式で出力します
2. echo()、print()、print_r() の違い
3. . HTMLとPHPを分離できる テンプレートを開いて使用します
4. PHPとJSPの連携を実現するには?
5. バージョン管理にはどのようなツールが使用されますか?
6. 文字列の反転を実現するには?
7. MYSQL データベースを最適化する方法。
8. トランザクション処理について話しましょう
9. Apache+mysql+php で最大負荷を達成する方法
10. 文字化けせずに中国語の文字列をインターセプトする方法
答え:
1.echo date('Y-m-d H:i:s', strtotime('-1 day'));
2.echo は戻り値のない言語構造です。 echo と同じです。違いは、print が戻り値を持つ関数であることです。print_r は再帰的印刷であり、配列オブジェクトを出力するために使用されます
3。実際、PHP 自体がテンプレート エンジンであり、私は Smarty を使用しました。 PHPLib は一般的なもので、Savant にはテンプレート エンジンのリストがあります: http://www.sitepoint.com/forums/showthread.php?t=123769
4. タイトルは少し曖昧です。 、ソケット関数、および CURL はすべて実装できます。PHP と Java の統合をテストしている場合、PHP にはこの組み込みメカニズムがあります (PHP と .NET の統合をテストしている場合は、これに答えることもできます)。例: $foo = new Java('java.lang.System');
5. CVS と SVN は、次世代の CVS として知られており、強力な機能を備えています。私は常に SVN を使用してきました。問題は、どのツールを使用するかということです。Apache 上の CVS サーバーをサーバーとして使用し、Apache 上の WinCVS をクライアントとして使用します。 DAV がサーバーとして使用され、TortoiseSVN がクライアントとして使用されます。
6. strrev 関数を使用します。組み込みの PHP の使用が許可されていない場合は、自分で記述します。関数 strrev($str)
{
$len=strlen($str);
$newstr = '';
for($i=$len;$i>=0;$i--)
{
$newstr .= $str{$i};
}
return $newstr;
7. 大学入試の政治問題について、私の答えは次のとおりです:
(1)。適切に構造化されたデータベースを設計するのは DBA とアーキテクトの責任です。必要に応じて非正規化し、部分的なデータの冗長性を許可し、クエリを改善するために JOIN 操作を避けます。効率
(2)。システム アーキテクチャ設計の観点から、テーブル ハッシュは、大量のデータを複数の異なるテーブルにハッシュするために使用され、高速テーブルには最新のデータのみが保持され、低速テーブルには履歴が保存されます。クラスター、メインサーバー 読み取りおよび書き込み、サーバーからの読み取り専用、または N サーバー、各マシンは相互のマスターになります
(3) (1) と (2) は、PHP プログラマーの要件を超えます。インデックスが少ないかどうかを確認します
(4)。効率的な SQL ステートメントを作成し、デカルト積を生成する完全結合や多数の Group By や order by などの非効率な SQL ステートメントがないかどうかを確認します。 、制限なしなど、必要に応じて追加します。 データベースロジックは DBMS 側のストアドプロシージャにカプセル化され、各 SQL ステートメントが説明されます。
(5) から必要なデータのみが取得されます。記事のコメント数をクエリする場合など、データベースでは、 select count(*) ... where Article_id = ? それだけです。最初に * を選択しないでください ... where Article_id = ? を選択してから msql_num_rows のみを送信します。たとえば、記事を変更する場合、ユーザーがタイトルのみを変更する場合は、 ..set title = ? where Article_id = ?Don't set content = ?(大きいテキスト) を使用します。たとえば、InnoDB はデッドロックを軽減し、クエリ速度を 1 桁向上させることができます
8。すべてのプログラミング言語が Hello World に対応する例を備えているのと同様に、このデータベースの教科書も同様です。 A が B の口座に 50 ドルを送金する例についてですが、私の知る限り、MySQL を使用してトランザクション処理を実装する企業はほとんどありません。質問 7 の答えを参照してください。それが完了すれば、この問題は解決します
10. ははは、質問者は長い間、substr の中国語処理の問題に悩まされていたのでしょうか。インターネット上で流通している、正規表現を使用して中国語の文字を照合し、それを傍受する関数も使用してみてはいかがでしょうか。実際、非常に簡単な解決策があります。 mb_substr()
インタビューの質問 2
var $empty = ''; null = NULL;
var $notSet;
$a = "hello"; ;
$b = "世界";
$a = 1;
$b = $a++; .
$x = empty($array);
$x とは何ですか?
4. バージョン管理ソフトウェアを使用したことがありますか?
5. テンプレート エンジンを使用したことがありますか? 使用したテンプレート エンジンの名前を教えてください。
7.トラフィックが多い場合、トラフィックの問題を解決するにはどのような方法を使用しますか?
8. PHP を使用して、クライアント IP とサーバー IP を表示するコードを記述します。
答えはブログが更新されたら書かれます

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











暗号通貨取引のリーダーとして、gate.ioは幅広い取引ペア、デリバティブ、金融サービスを提供しています。中国語版のWebサイトのSesame Open Door Gateは、中国のユーザーにとって便利で、gate.ioと同じ機能を提供しますが、中国人の習慣により適しています。ユーザーは、指定されたWebサイトからgate.io ExchangeまたはSesame Open Gateの公式Webサイトにアクセスできます。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

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

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。
