PHPの面接の質問
1. PHP を使用して、前日の時刻を 2006-5-10 22:21:21 の形式で出力します。
解決策: echo date('Y-n-d H:i:s', strtotime('-1 day) '));
理由:
a | 小文字の AM 値と PM 値 | am または pm |
A | 大文字の AM 値と PM 値 | AM または PM |
d | 日付、先行ゼロ付き 2 桁 | 01 〜 31 |
D | 曜日、テキスト表現、3 文字 | Mon to Sun |
F | 月、1 月や 3 月などの完全なテキスト形式 | 1 月から 12 月 |
g | 時、12 時間形式、先行ゼロなし | 1 から 12 |
G | 時制、24時間制、フロントガイドゼロあり | |
H | ||
小 小 小00〜23 | ||
i | 先行ゼロ付きの分 | 00〜59> |
I | 夏時間かどうか | 1の場合夏時間、それ以外の場合0 |
j | 日付、先行ゼロなし | 1〜31 |
l (「L」の小文字) | 曜日、フルテキスト形式 | 日曜日〜土曜日 |
L | が閏年の月かどうか、それ以外の場合は 0 | M |
で表される月であり、月次微分ゼロ | ||
1 月から 12 月 | ||
n | 先行ゼロのない数値の月 | 1グリニッジ標準時から 12 |
O | 時間 | 例: +0200 |
r | RFC 822 形式の日付 | 例: Thu, 21 Dec 2000 16:01:07 +0200 |
秒、先行ゼロ付き | 00〜59> | |
月の日の後の英語の接尾辞、2 文字 | st、nd、rd、または th。 jと合わせて使えます。 | |
特定の月の日数 | 28から31 | |
このマシンが位置するタイムゾーン | 例: EST、MDT ([翻訳者注] 以下で完了) Windows のテキスト形式(「東部標準時」など)、中国語版では「中国標準時」が表示されます。 | |
曜日、数字は | 0 (日曜日) から 6 (土曜日) を表します | |
ISO-8601 形式 年間の週、開始日からの各週月曜日 (PHP 4.1.0 の新機能) | 例: 42 (年の第 42 週) | |
4 桁の数字で表される年 | 例: 1999 または 2003 |
2. HTML と PHP を分離できるテンプレート
説明: 実際、私が使用したテンプレート エンジンには、PHPLib、FastTemplate、および Savant があります。 ://www.sitepoint.com/forums/showthread.php?t=123769
3. バージョン管理にはどのようなツールが使用されますか?
説明: CVS と SVN SVN は次世代の CVS として知られており、強力な機能を備えていますが、私は常に SVN を使用していました。これには次のように答える必要があるかもしれません: Apache 上の CVS サーバーがサーバーとして使用され、WinCVS がクライアントとして使用されます。Apache/DAV 上の Subversion がサーバーとして使用され、TortoiseSVN がクライアントとして使用され、または Subclipse が使用されます。
4. 文字列反転を実装するには?
解決策: strrev 関数を使用します。PHP の組み込み関数は使用せず、自分で記述します。
strrev($str)
{
$len=strlen($str);
$newstr = ''''; for($i= $len;$i>=0;$i--)
{
$newstr .= $str{$i};
}
return $newstr;
5. MYSQL を最適化する方法データベース?
私の答え:
(1)。データベースの設計に関しては、これは DBA とアーキテクトの責任です。必要に応じて、非正規化します (英語では denormalize です)。中国語の翻訳)、ある程度のデータの冗長性により JOIN 操作が回避され、クエリ効率が向上します
(2)。システム アーキテクチャ設計の観点から、テーブル ハッシュは、大量のデータを複数の異なるテーブルにハッシュするために使用されます。高速テーブルと低速テーブルは最新のデータのみを保持します。 、遅いテーブル テーブルは履歴アーカイブです。クラスター、マスターサーバー読み取りおよび書き込み、スレーブサーバー読み取り専用、または N サーバー、各マシンは相互のマスターです (3) と (2) を超えます。インデックスが少ないかどうかを確認してください
(4)。生成される完全結合などの非効率な SQL ステートメントがないかどうかを確認します。デカルト積、多数の Group By と order by、制限なしなど。必要に応じて、データベース ロジックを DBMS 側のストアド プロシージャにカプセル化し、クエリ結果をキャッシュし、各 SQL ステートメントを説明します
(5)。結果が必要であり、クエリ 特定の記事のコメント数、select count(*) ... where Article_id = ? など、必要なデータのみがデータベースから取得されます。 where Article_id = ? の後に msql_num_rows を送信します。ユーザーがタイトルのみを変更した場合は、set title = ? を設定しないでください。大きなテキスト)
(6). たとえば、InnoDB はデッドロックを削減できます
6. トランザクション処理について話します。プログラミング言語には、Hello World を可能にする例があります。このデータベースの教科書には、例として、これに答えてください。しかし、MySQL を使用する企業は、実装に MySQL を使用することはほとんどありません。さらに、Oracle は InnoDB を買収しました。
7. apache+mysql+php で最大負荷を達成します。 解決策:
8. 文字化けせずに中国語のテキスト文字列をインターセプトする方法。
解決策: mb_substr()
9. echo()、print()、print_r() の違い
解決策: echo は戻り値のない言語構造であり、print 関数は基本的に echo と同じです。 print は戻り値を持つ関数であり、配列オブジェクト
10 を出力するために使用されます。PHP では、現在のスクリプトの名前 (パスとクエリ文字列を除く) が事前定義された変数に記録されます。現在のページにリンクされている URL は、事前定義された変数 what に記録されます。
解決策: echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];
11. 実行プログラムセグメントが出力されます。 ?
解決策: 0
12. HTTP 1.0 では、「ファイルが見つかりません」というプロンプトが返された場合、ヘッダー関数を使用できますが、そのステートメントは何ですか?
解決策: Unauthorized header("HTTP/1.0 404 Not Found");
13. 配列関数 arsort の関数は、ステートメント error_reporting(2047) の関数です。 (すべてのエラーと警告)。
14. PEAR () のデータベース接続文字列の形式は何ですか?
15. Web ページ上のすべての JS/VBS スクリプトをフィルタリングする (つまり、script タグとそのコンテンツを削除する) 正規表現を記述します: ( /

ホット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)

ホットトピック









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

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

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

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。
