この記事では、主に中級および上級のPHP面接の質問を紹介します。これを必要とする友人に参考にしてください。
1. 4 つの座標点を与えて、それらが長方形を形成できるかどうかを判断します。たとえば、([0,0],[0,1],[1,1],[1,0]) が長方形を形成できるかどうかを判断します。長方形。
2. 一方向リンクリストでリングが形成されているかどうかを判断するコードを記述します。リングが形成されている場合は、ポイント P であるリングの入り口を見つけてください。記事のコンテンツ内のすべての画像を取得し、4. 現在のクライアントの IP アドレスを取得し、それが (111.111.111.111、222.222.222.222) であるかどうかを確認します。5.以下:log_format main 'remoteaddr−remote_user [timelocal]"request"'
'statusbody_bytes_sent "httpreferer"""http_user_agent" "upstreamresponsetime""request_time" "http_x_forwarded_for"';今日の nginx ログ ファイル access.log より:
a.「request_time」の最大 20 行をリストします。
- b. 午前 10 時に最もアクセス数の多い 20 個の URL アドレスをリストします。
- 6. CSRF 攻撃とは何ですか?それを防ぐには?
7. テーブルは 10 枚のデータをランダムに取得して表示する方法を簡単に説明します
8.はストレートです、つまり、これらの 5 枚のカードは連続しています
。
10. 最長共通部分列問題 LCS。2 つの配列 [1,2,5,11,32,15,77] と [99,32,15,5,1,77] がある場合、それらが同じ数値を使用すると、最適な時間計算量でコードを作成できます。array_intersect は使用できません (ここには落とし穴があり、動的プログラミングを勉強する必要があります)。
11. Linux のメモリ割り当てとマルチスレッド原理
12. MYSQL の主キーと一意のインデックスの違い
13. http ステータス コードとその意味
15. Linux でシステムリソースの使用状況を確認する方法
16. SQL インジェクションの原理とは何ですか? SQLインジェクションを防ぐ方法
17. isset(null) isset(false) empty(null) empty(false)出力
18. MYSQLを最適化する方法
19. データベース内のトランザクションとは何ですか?
20. 標準 URL からファイル拡張子をできるだけ効率的に抽出する関数を作成します
21. パラメーターは複数の日付と時刻の配列であり、現在時刻に最も近い時刻を返します
22. echo、print、print_r の違い
23. http プロトコルのヘッダーのキーとその意味は何ですか?
25. 構造は何ですか? PHP配列とC言語配列の違いは何ですか?
26. Redisのジャンプテーブルはどのように実装されていますか?
27.ハッシュ競合後にデータを保存するにはどうすればよいですか?
28. クラスター化インデックス、クラスター化インデックスの違いは何ですか?
29. B+Tree はどのように検索しますか?
30. 配列とハッシュの違いは何ですか?
31. 次の展開記号が閉じていることを意味するかどうかを判断する関数を作成します: ((())),)(()),(()))), (((((( )))、(()())、()()
32. 配列 [1,2,3,3,2,1,5] 内の固有の値を見つけます
33。質問 32 は「どれくらいですか?」です。場合によっては、アルゴリズムを作成すると、面接官がそのアルゴリズムの時間計算量の式を書き留めるように求めます
34. PHP ではこの弱い型変数はどのように実装されますか?
35. HTTP 通信中、クライアントまたはサーバーは積極的に切断しますか?
36. PHP で http リクエストを開始するにはどのような方法がありますか?違いは何ですか?
37. ルートノードからフラグノードまでの最短パスを見つけるコードを書きます。複数のフラグノードがあります。たとえば、以下のツリーの 6 と 14 はフラグ ノードです。8、3、6 と 8、10、14 の 2 つのファイルがあり、どちらも 1G を超えています。サイズ 1 行に 1 つのデータがあり、各データ行は 500 バイトを超えてはなりません。2 つのファイルの内容の一部がまったく同じであるため、同じ行を見つけて新しいファイルに書き込みます。 PHP の最大許容サイズは 255M です。 39. コールバック処理をサポートする PHP 関数を少なくとも 2 つ記述し、コールバックをサポートする PHP 関数を自分で実装してください
40. 少なくとも 2 つのメソッド (コードまたはアイデア) を記述してください。
41. ファイル名のサフィックスをインターセプトするためのメソッドまたは関数を少なくとも 3 つ書き留めてください (PHP ネイティブ関数と自己実装関数の両方が許容されます)
42. PHP は組み込みの cookie 関数を使用せずにクライアントに cookie を発行するにはどうすればよいですか。 。分散システムの場合、セッション値を保存する方法。
43. SHELL を使用して、nginx ログで最もアクセスされた URL アドレスを数えてください。対応する IP は何ですか?
44. 指定した mysql ライブラリ (テストなど) を指定したフォルダーにバックアップしてパッケージ化するシェル スクリプトを作成し、30 日前にバックアップを削除し、新しいバックアップをリモート サーバーにプッシュし、次の時点で電子メール通知を送信します。完成しました。
45. mysql データベースの innodb エンジンと myisam エンジンの違い
46. ユーザーがブラウザに URL を入力して Enter キーを押してから、完全な会議が表示されるまで、どのようなプロセスが行われます。
47. SQL ステートメントのパフォーマンスを分析する方法。
48. サーバーへの ping が失敗した場合、ルーティング パケットを追跡するにはどのコマンドを使用する必要がありますか?
linux:traceroute,windows:tracert
49, $a=[0,1,2,3]; $b=[1,2,3,4,5]; $a+=$b; ) は何に等しいですか?
50. $a=[1,2,3]; foreach($a as &$v){} var_dump($a) は
51 に等しい。データベース ユーザー ID と多くの控除行は redis に保存されます。次に、データベース内の控除レコードを redis に同期して 5 分ごとに実行するスクリプトを作成する必要があります。どのような問題を考慮する必要がありますか?
52. MYSQL マスターサーバーとスレーブサーバー。マスターサーバーが innodb エンジンであり、スレーブサーバーが myisam エンジンである場合、実際のアプリケーションではどのような問題が発生しますか?
53. Linux のプロセス信号とは何ですか?
54、redis の基礎となる実装
55、非同期モデル
56、10g ファイル、行数を表示するには php を使用します
57、1000 人のドライバーに属する 10 億の注文データがあります、注文量で上位 20 のドライバーを取り出してください
58、デザインワン WeChat の赤い封筒
59 の機能は、access.log ファイルに従って、最後の 5 秒間の QPS をカウントし、次の形式で表示します、01 1000 (難しいのは 01 のシリアル番号です)
60. php7 のパフォーマンスがこれほど向上したのはなぜですか?
61. 多次元配列を走査します
62. bcde が出現する回数を求める関数を作成します。この文字列
63。各行が含まれる 1G サイズのファイルがあります。これはワードであり、ワードのサイズは 16 バイトを超えず、メモリ制限は 1M です。最も頻度の高い 100 単語を返します
65、PHP プロセス モデル、PHP は複数の同時実行をどのようにサポートしますか
66、nginx プロセス モデル、複数の同時実行をどのようにサポートしますか
67、php-fpm 設定の意味、fpm のデーモン化モード
static - 子プロセスの数は固定されています (pm.max_children)
ondemand - プロセスは要求がある場合にのみ生成されます (dynamic とは逆に要求された場合、pm.start_servers)サービスの開始時に開始されます
動的 - 子プロセスの数は、次の構成に基づいて動的に設定されます: pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers
68、シンプルなアーキテクチャを実装できます。そして、高可用性を維持するために、1 つはテキストをアップロードするためのインターフェイス、もう 1 つはアップロードされたコンテンツを取得するためのものです。 2 つの mysql サーバーのうちの 1 つ。ステーションがダウンしたときに、通常の状況下でビジネスエンドが何の意味もなく切り替わり、Podium サーバー上のデータの一貫性を確保するにはどうすればよいでしょうか
70。http プロトコルの具体的な定義。 . ロックとは何か
72. randとmt_randの違い
73. mysqlのトランザクション分離はどのように実装されているのか? 75. 対称暗号化と非対称暗号化方式はどのように実装されているのか?
76. 10 本の水瓶のうち 1 つは有毒です。毒水を飲んだ後、23 時間 59 分後に死にます。24 時間以内にこの水瓶を見つけるために最も少ない数のネズミを使ってください。おすすめ:以上が中級および上級のPHP面接の質問の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

WebStorm Mac版
便利なJavaScript開発ツール

ホットトピック









