Tencent PHP プログラマーの面接の質問の共有
この記事では、Tencent の PHP プログラマーの面接の質問とされる面接の質問を紹介します。これは、困っている友人が訪ねてきて確認できるような通常の面接の質問とは異なります。
推奨トピック: PHP 面接の質問と回答
プログラミングタスクを除き、以下の質問は提供されたメモ用紙に書く必要があります。紙は貴重な地球資源ですので、大切に使ってください。対応する環境があれば、プログラミング作業はパソコン上で書く必要がありますが、条件がなければ藁紙に書くしかありません。 時間: 基本タスク + 高度なタスク + 設計タスク = 90 分、プログラミング タスク = 60 分。 基本的なタスク: 考えられる UNIX シグナルを列挙し、その使用法を説明してください。 考えられるすべての文字列検索アルゴリズムを列挙し、コメントを付けて簡単に説明してください。 IP アドレス (192.168.0.1) があります。32 ビットの符号なし整数形式で記述してください。 考えられるすべての HTTP 戻りステータス値を書き留め、その用途を説明します (例: 404 を返すということは、ページが見つからないことを意味します) 基本的なタスクの選択 (追加ポイントを獲得します): 最もよく知っているサーバー側モデルをいくつか描画します (形式は重要ではありません。図面を明確にし、アイデアを説明するように努めてください) 高度なタスク: PHP のガベージ コレクション メカニズムとは何ですか? PHP ソース コードに精通している場合は、ソース コードから始めていくつかの質問に答えてください。追加のポイントを獲得できます。 PHP ソース コードに慣れていない場合は、自分のプログラミングの直観を使用して得た情報も含めて、頑張ってさらに書いてみてください。 正解していれば得点が入りますが、間違っていても減点されません。 HTTP ヘッダーを記述し、次の要件を満たしてください。 これは投稿リクエストです ターゲット: http://bbs.it-home.org:8080/test POST 変数: ユーザー名: test、パスワード: test2、イントロ: Hello world! 次の COOKIE 情報が含まれています: cur_query: you&me 手順: 特定の HTTP プロトコルのコマンド単語を思い出せない場合の最後の手段は、代わりに「漢字」を使用することです。 HTTP プロトコルのコマンド単語をもっと覚えられるなら、もう少し文章を書いても問題はありません。 最も重要なことは、正しい「アウトライン」 (httpwatch などのツールで印刷されるヘッダーを覚えていますか? それが「アウトライン」の意味です) を描くだけでよいということです。ポイントはありますが、「」さえ書いていれば、概要」が間違っている場合は、残念です。 デザインタスク: 最近、私たちの投票モジュールに嫌がらせをする人が常にいるため、投票制限を設けたものを設計していただく必要があります。要件は次のとおりです: 各 QQ 番号 (この QQ 番号が UNIT32 で表現できると仮定) は 10 分以内に 5 票までしか投票できないことが必要です。 当社のユーザーは非常に活発で、毎日平均約 2,000 万人がこのプログラムを通じて投票しています。 手順: コードを記述する必要はなく、画像とテキストだけで済みます。 鍵となるロジックは絵やコードを使って表現してください。文章による表現力も試されます。 考えられる境界条件をすべて挙げてください。これは、論理的思考における包括性と機敏性をテストするものです。 保管部分については、できる限りのことをしてください。自分で設計したストレージ層が必要な場合は、そのストレージ層の実装を言葉と写真で明確に説明し、その設計が合理的であれば、豪華なボーナスポイントが得られます。 プログラミングタスク: 新しい宣教師は神を怒らせ、聖書 (bbe.txt) を暗記するように言いました。彼が単語を言ったとき、私たちはその単語がどの行にあるのか、どの単語の位置にあるのかをすぐに答えなければなりませんでした。あなたは優秀なプログラマーだと聞いたので、この不可能なタスクを完了するのを手伝ってください。 要件は次のとおりです。 /myworks/example/bbe.txt、98 バージョン英語聖書 入力部分の要件は次のとおりです: php ./example.php [word] 出力部分は次のとおりです: [単語] 1,2 2,4 5,6 の意味: この単語は行 1 と列 2 (2 番目の単語)、行 2 と列 4... 手順: このテキストは4MBもあります... 単語の意味:英字(大文字、小文字)と数字(0~9)で構成される文字列 提供されたマシンの OS は Ubuntu 9.10 で、メモリは 1G しかありません。残念なことに、そのうちの 700M は他の用途に使用されています。 コンピュータベースの試験ではインターネットへのアクセスは許可されていませんが、マニュアル ドキュメントと CHM および PDF を読むためのリーダーをインストールしました。対応する PHP リファレンス マニュアルがコンピュータのデスクトップの CHM フォルダにあります。 アルゴリズムの複雑さの要件は、O(N^2) (つまり、N の 2 乗) を超えることはできません。 何? PHP は非効率的で使いにくいですが、他の言語でもできます。ただし、提供されたマシンには Python 2.4/perl 5.8/gcc[g++] 4.1 しか搭載されていないことに注意してください。 上記の PHP 面接の質問を読んで、どう思いますか?すべてを理解し習得できれば、エキスパートの仲間入りを果たし、テンセントに直接入社できるでしょうか? |

ホット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では、Try、Catch、最後にキーワードをスローすることにより、例外処理が達成されます。 1)TRYブロックは、例外をスローする可能性のあるコードを囲みます。 2)キャッチブロックは例外を処理します。 3)最後にブロックは、コードが常に実行されることを保証します。 4)スローは、例外を手動でスローするために使用されます。これらのメカニズムは、コードの堅牢性と保守性を向上させるのに役立ちます。

PHPには4つの主要なエラータイプがあります。1。notice:わずかなものは、未定義の変数へのアクセスなど、プログラムを中断しません。 2。警告:通知よりも深刻で、ファイルを含むなど、プログラムを終了しません。 3。ファタラー:最も深刻なのは、機能を呼び出すなど、プログラムを終了します。 4。ParseError:構文エラーは、エンドタグの追加を忘れるなど、プログラムの実行を防ぎます。

PHPでは、include、require、include_once、require_onceの違いは次のとおりです。1)include警告を生成し、実行を継続します。これらの機能の選択は、ファイルの重要性と、重複包含を防ぐために必要かどうかに依存します。合理的な使用は、コードの読みやすさと保守性を向上させることができます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。
