ホームページ > バックエンド開発 > PHPチュートリアル > 中級および上級のPHP面接の質問

中級および上級のPHP面接の質問

不言
リリース: 2023-03-25 06:32:02
オリジナル
20683 人が閲覧しました

この記事では、主に中級および上級の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 枚のカードは連続しています
9. 交差する 2 つの一方向リンクリストの最初の共通ノードを見つける方法

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面接の質問の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート