目次
返信内容:
ホームページ バックエンド開発 PHPチュートリアル PHP エンジニアに面接するときに尋ねるべき最良の質問は何ですか?

PHP エンジニアに面接するときに尋ねるべき最良の質問は何ですか?

Jun 17, 2016 am 08:30 AM

返信内容:

1. あなたの価値を最もよく反映する、仕事や勉強におけるこれまでの成果を紹介します。
-> 導入後、この成果を達成する際にどのような困難に遭遇し、どのように解決しましたか。
2 SQL インジェクションの原理と害悪について説明します。緩いログイン プログラムがあると仮定して、SQL インジェクションを使用して入力する方法を説明します。
3 クロスサイト スクリプティングの原理と害について説明します。ここにゆるい掲示板がある場合は、クロスサイト スクリプティングの例を作成してください。
4 データのインデックス作成により効率が向上する理由を説明します。
シナリオ SQL select * from user where area='Guangzhou‘ and sex='girl‘ order by lastlogin desc limit 30;
インデックスの設計方法は?
startip、endip、area 形式の IP アドレス対応区間テーブルが 100,000 個になりました
各ユーザがアクセス時に相手のエリアを素早く解析できることが求められますので、設計・実装してください。データベースの有無にかかわらず、1 秒あたり 1,000 を超えるクエリが必要になります。
基本的にはこれらで十分です。上記のトピックに特に満足している場合は、
5 を追加してください。ここでは、忙しいフォーラム コミュニティがあることを前提として、約数千語のブロックされた単語のリストを示します。投稿の量が膨大であるため、ユーザーは各投稿にブロックされた単語が含まれているかどうかを迅速に分析する必要があります。プログラムの設計を提供してください。
6 ゲーム Web サイトには何千ものミニゲームがあり、各ゲームはポイントによってランク付けされる必要があります。データ構造は次のとおりです。
ゲーム ID、ゲームスコア
毎日数百万のポイントが送信されます。現在の要件はサブライブラリ処理です。
リクエストに応じて、各ゲーム ID に基づいてスコアランキングをクエリできます。 自分または友人の過去のゲームスコア記録などのユーザー ID に基づいてクエリを実行できます。サブライブラリの対処方法を教えてください。

最後に、何か質問はありますか? 上記の匿名ユーザーが非常に包括的なリストを作成しているので、参考にする価値があります。
エンジニアが特定のポジションに適格であるかどうかは、プロフェッショナリズム、周辺知識、コミュニケーションスキル、積極的に働く意欲などの多くの要素に大きく影響されます。一般に、評価の焦点は各チームによって異なります。 、実態に応じて候補者を組み合わせて検討することになります。

プロフェッショナリズムは、PHP の基本スキルを習得し、共通のパフォーマンス ポイント、さまざまなバージョンの機能など、セッション実装メカニズム、差分を含める/要求する、さらに主流のフレームワークなどの高度な知識を理解することに反映されます。 、一般的なパフォーマンス最適化戦略、スクリプト言語としてのいくつかの特性、高同時実行性のシステムを作成するために PHP のパフォーマンス上の欠点を回避する方法、高同時実行性の下で可用性とデータの整合性を確保する方法など。

周辺知識としては、主に MySQL のパフォーマンス最適化、Memcache の使用法、Nginx/Apache 連携、PV/Click などのデータ収集・観測方法などが挙げられます。 同様に、curl/socket を使用して http/tcp/udp を操作し、RPC 呼び出し (Web サービス/JSONP/Thrift など) をさらにフロントエンドおよびバックエンドに実装し、さらに多くのキャッシュ戦略 (遠方および近傍、一貫性のあるハッシュ) を組み込みます。 、データの一貫性)性質)、シャーディングなどの操作の理解(つまり、データベースとテーブルのシャーディング)、NoSQL 製品に関するさらなる知識、さまざまな共通プロトコルの詳細、セキュリティ(インジェクションとアノテーション、クロスサイトと CC)など。

コミュニケーション能力は「簡単な自己紹介」「最近参加したプロジェクトで行ったことを教えてください」からスタートし、その回答をもとにビジネスコミュニケーションができるかどうかをさらに磨きます。部門やプロダクト マネージャー、オペレーターが自由にコミュニケーションできるときに「要件が常に変わる場合はどうすればよいか」、「ビジネス担当者やプロダクト マネージャーから提示された一見不合理な要求にどう対処するか」、「開発者として、どうすればわかりますか」 「あなたが関わっているプロジェクトはユーザーにはどのように見えますか?」「そのプロジェクトでどの程度うまくやっていますか?」など; 「小さなチームのリーダーとして、良いチームを率いるために最も重要な点は何だと思いますか?」 「チームのリーダーシップ能力を調べるには?」 「チームのエンジニアがいつも遅刻・早退する/放置するできるだけ早くプロジェクトを立ち上げる」など、エンジニア個人としてより総合的な視点(プロダクト、デザイン、ビジネスなどの観点から問題を捉える力)を持っているかを審査し、「プロジェクトの運営を依頼する」フォーラム システム/エンタープライズ Weibo アカウント、あなたならどうしますか?」、「XX 製品のエンジニアとして、技術的な観点からオペレータの ROI 向上を支援するにはどうすればよいですか」など; 「一時的に質問はありません。何か質問はありますか?」自分?"

積極的に働く意欲は、多くの場合、残業に対する彼らの考え方、コードの品質に対する態度、チームの作業効率を向上させる方法、参加しているプロジェクトの詳細に疑問を持ち、パフォーマンスを向上させる方法を理解することによって得られます。コードの品質や運用上の成果、個人的な興味や趣味、過去の傑作などの理解。 ご招待いただきありがとうございます。私は社内の面接官として、ジュニアおよび中級レベルの PHP プログラマーとしか面接したことがありません。基本的に、彼らが面接に必要な知識についてはあまり経験がありません。ここでは、中級レベルの PHPer へのインタビューについてのみ説明します。
最初に一連の面接質問を行います。質問は基本的に PHP 構文、データベース設計とデータベース最適化、Linux の基本であり、最後にはさらに詳細な内容が含まれます。
履歴書と面接の質問への回答に基づいて、彼はよく知っているプロジェクトについて徹底的に調査します。たとえば、彼がユーザー関連の作業を行った場合、実際のユーザーがログインしたときにクライアント側とサーバー側で何が起こるのか、データベースの設計はどうなっているのか、などについて質問します。パスワードの処理方法、時間制限付き終了システムの実装方法など。フレームワークを使用したことがある場合は、MVC モードについて考慮事項があるかどうかを尋ねてください。ルーティングの原理は何ですか。 。 。
基本的に、質問への回答に基づいて、問題のない一部の PHPer を除外できますが、実際の結果にはまだいくつかの欠点があります。以前、面接中に非常に明確な同僚を採用しましたが、特定のプロジェクトとなると、ビジネス ロジックの理解がイライラし、物事が明らかになるのが遅く、コードの書き方も不十分でした。その後、ビジネス ロジックに焦点を当てた面接の質問がいくつか追加され、面接官はコードを手書きすることが求められました。
私の答えは正しくないかもしれないと感じました。どちらかというと PHPer にインタビューする方法についての答えのようです。 私の面接官でもある非常に優れた PHP プログラマーに相談しました。彼の答えは次のとおりでした (原文ではありません)。
1. 基本的な PHP スキル、文字列と配列
2.カール、ソケットプログラミングなど
3. ネットワーク開発の理解、tcp/udp、http プロトコルの説明
PS: 特定の機能を習得する必要はありません。とにかくマニュアルを確認してください。

---------------
以上 0. 簡単に自己紹介をし、過去 3 年間で最も成功した仕事について話します。
1. 履歴書を見て、ユーザー数、PV、スループット、関連する問題と過去のプロジェクトの解決策について尋ねます。方法など
2. テーブル分割の理由?
テーブルへの分割を開始する一般的なデータ量は何ですか? データベース分割の目的は何ですか?データベースの分割とか?例を挙げてください。
3. データベースの最適化とは何ですか?
4. Web 開発ではどのようなキャッシュが発生しますか?
5. 256M のメモリ (10G の場合) ファイルを並べ替える方法 (ファイルの行ごとに 1 つの番号)?
10G ファイルを検索するには?
10G ファイル内の各キーワードの出現数をカウントするにはどうすればよいですか?
6. あなたが現在 12306 の鉄道チケット予約のデザイナーである場合、全国の人々のニーズを満たすにはどうすればよいですか?
7. 1 億人のユーザーがアクセスする場合、サーバーのアーキテクチャは何ですか?ユーザー 情報ストレージ計画を設計する方法は?
8. あなたが技術チームのリーダーで、自分が率いるチームがタスクの進行状況を完了できない場合、どのように解決すればよいですか?
スケジュールが設定されているときにタスクを挿入すると、完了しました。全体の進捗が遅れないようにするためにはどうすればよいですか?
一部のエンジニアが今日予定されていたタスクを完了していない場合、どのように解決すればよいですか?
9. あなたの経験から話してください。パフォーマンスの高い Web サイトを構築するにはどうすればよいですか? 手順は何ですか? それぞれのステップでどのような点に注意して最適化する必要がありますか?
10. マスターとスレーブを分離する必要があるのはなぜですか?データベースは?
11. マルチサーバー共有セッションを処理するにはどうすればよいですか?
12. 10G テーブルの場合、フィールドの出現回数をカウントするのは次のとおりです?
13. nginx ログの例を教えてください。http 応答時間が 1 秒を超える上位 10 の URL をカウントするのに最適だと思われるプログラミング言語を使用してください。
14. mysql 設定ファイルを使用してください。ファイルを解析するのに最適な言語はどれだと思いますか?
15. 2 つのパス a と b を指定して、a と b の間のギャップを計算し、a と b の共通部分を表示するアルゴリズムまたはアイデアを作成しますか?
16 . URL を指定して、nginx でリライトを設定して特定のパスを指定します。
17. php ファイルの解釈プロセスとは何ですか? 全体的なパフォーマンスを向上させるために使用できるものは何ですか? php?テクノロジー?
18. セッションとCookieのライフサイクルの違い?
19. プログラムの読み込みの違い?オンデマンドで php ファイルをロードしますが、どのように実装しますか?
20. Chrome はマルチスレッドと呼ばれますが、マルチスレッドとマルチプロセスの違いは何ですか?
21. 2011 年末。ハッシュ衝突の原理は何ですか? それを修正する方法は何ですか?
22. ウェブは安全ではありません。その要因は何ですか?
23. 単独でリンクされた 2 つのリストが交差する場合は、次のように書きます。交差位置を計算するための最適なアルゴリズムとそのアイデアについてもお話します。
24. 技術チームのリーダーの場合はどうすればよいですか?
25. nginx の負荷分散とは何ですか?サーバーの 1 つがハングアップしました。アラーム メカニズムを実装するにはどうすればよいですか?
26. Apache の一般的な最大接続数はどれくらいですか? ? 1 秒ごとに削除しますか?
27. mysql のデータ型はどれくらいですか?
28. nginx は、js、css、画像などの情報をキャッシュするように設定されています。キャッシュのヒット率を改善するには?
30. PHP のメモリ再利用メカニズムとは何ですか?
31. 質問はすべて終わりました。何か質問はありますか? 現在 1 位にランクされている回答にはあまり同意できません。面接中に分からなかった質問もありましたが、Google で調べることができます。歴史のテストを受けるときに、「曹操はいつ生まれましたか?」と尋ねました。十分に知っているということは、歴史についてよく知っているということですか? いいえ、間違いありません。

プログラマーの能力は、特定の問題をモデルに抽象化することにあると思います。 企業が直面した問題やビジネスを簡単なものから難しいものまでいくつか選択し、面接官に解決策やアイデアを提案してもらいます。 面接では理論的なことを問うのではなく、実践的な問題を解決する能力が問われているように感じます

。 php エンジニアへの面接は、面接官の役割によって異なります
1. 面接官はビジネス面接官ですか、それとも人事担当者ですか。二人のキャラクターの考え方や方向性は異なります。
2. ビジネス面接官の質問は専門的なスキルに基づいている必要があります。通常、これは同じポジションの高い専門スキルを持つ同僚、または業務監督者によって行われます。ただし、面接の目的は相手のスキル構造を理解することであり、相手を試すことではないことに注意してください。
3. 人事面では、期待される労働環境、給与、福利厚生など、仕事の動機に基づいて行われます。企業とのマッチングを図り、雇用リスクにも留意する。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

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

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

See all articles