ホームページ  >  記事  >  バックエンド開発  >  PHP開発エンジニアに最適なテスト用紙2セット

PHP開発エンジニアに最適なテスト用紙2セット

小云云
小云云オリジナル
2017-11-10 15:03:101520ブラウズ

PHP を学習したら、次のステップは仕事を見つけることです。PHP 開発エンジニアが仕事を見つけるには筆記試験と面接が必要であることは誰もが知っているので、面接の前に十分な準備をしておく必要があります。そこで、編集者がまとめた PHP 開発エンジニアの面接用の試験問題を 2 セット紹介しますので、ご参考になれば幸いです。

最初のテスト用紙セット
1. PHP開発パート

1. 2 つの配列をマージするにはいくつかの方法があります。類似点と相違点を比較してみてください

2.ユーザーが送信したデータが整数であるかどうかを確認する関数を作成してください (データ型に関係なく、2 進数、8 進数、10 進数、または 16 進数の可能性があります)

3. PHP の strto lower() および strtoupper() 関数は、中国語以外のシステムがインストールされているサーバー上で中国語の文字を文字化けさせる可能性があります。Unicode テキストと互換性のある文字列の大文字と小文字の変換を実現するには、2 つの代替関数を作成してください。 PHP の is_writeable() 関数にはバグがあり、ディレクトリ/ファイルが書き込み可能かどうかを正確に判断できません。ディレクトリ/ファイルが完全に書き込み可能かどうかを判断する関数を作成してください

5。 PHPのchmod()関数にはバグがあり、設定が成功するかどうかは保証できませんので、指定したパスにディレクトリ/ファイルを作成し、パーミッションマスクが正しく設定できることを確認してください

6. PHP 処理のアップロード ファイル情報配列内のファイル タイプ $_FILES['type'] は、クライアントのブラウザによって提供される情報である可能性があります。ユーザーがアップロードした画像ファイル タイプが本物であることを確認する関数を作成してください。そして信頼できる

7. PHP は URL 内のデータをエンコードすることで Javascript とのデータ対話を実装しますが、一部の特殊文字のエンコードとデコードの規則が Javascript の規則とは異なります。この違いを詳しく説明し、UTF-8 のデータについて次のように記述します。 PHP のエンコード関数とデコード関数、および Javascript のエンコード関数とデコード関数により、PHP でエンコードされたデータが Javascript で正しくデコードされ、JavaScript でエンコードされたデータが PHP

8 で正しくデコードされることが保証されます。 Memcache の主要なマルチノード分散アルゴリズムを説明してみませんか?ノードに障害が発生した場合、PHP の Memcache クライアントはどのように処理しますか? Memcache データの読み取りおよび書き込み操作のアトミック性を確保するにはどうすればよいですか?

9. PHP のセキュリティを最大限に高めるにはどうすればよいでしょうか? SQL インジェクションの脆弱性と XSS クロスサイト スクリプティングの脆弱性を回避するにはどうすればよいですか?

10.無限サブメニューのツリーメニュー機能を実現できるデータ構造を設計し、UMLを使用して設計を記述し、関連するPHPコードを記述してください

2.システム関連部分

1. Linux、FreeBSD、Solaris、Mac OS、および Windows

2 におけるカーネル実装とプロセスとスレッドの管理メカニズムの類似点と相違点を簡単に説明してください。 Linux/BSDシステムでのプロセス間通信の方法を簡単に説明し、PHP

3での実装方法を具体的に説明してください。 Linux/BSD システムのシステムのいくつかのメッセージ/イベント非同期通知メカニズムを簡単に説明し、それらを比較してください

4. TCP/UDP プロトコルの類似点と相違点を単純に比較してください。PHP のソケット拡張とストリーム拡張については、TCP/UDP プロトコルに基づいた SOCKET プログラミングの相違点を比較してみてください。

5.ゾンビ プロセス (孤立プロセス) が表示されるのはなぜですか?ゾンビプロセスを確認するにはどうすればよいですか?ゾンビプロセスの問題を解決するにはどうすればよいですか?

6. System-V メッセージ キューの場合、メッセージ キューの数と総容量 (バイト数) に関するシステム独自の制限を解決するにはどうすればよいですか?メッセージの優先度を設定するにはどうすればよいですか?ブロッキング モードとノンブロッキング モードの類似点と相違点を比較し、ノンブロッキング モードでメッセージ キューの輻輳を回避する方法を説明してください。

7. Apache 2.x バージョンの MPM (Multi-Processing Module) メカニズムについて説明し、さまざまな MPM メカニズムで PHP をサポートする方法を具体的に説明してください。

8. Apache で PHP を実行するいくつかの方法を簡単に説明し、比較してください。 Linux+Apache で PHP を高速 CGI モードで実行するにはどうすればよいですか?

9. PHP をコマンドラインでスクリプトとして実行できる場合に、PHP をインストールするために指定する必要がある設定パラメータを書き留めてください。また、コマンドラインで PHP スクリプトを実行する方法 (2 つの方法を書き留めてください) とパラメータを PHP に渡す方法についても説明してください。スクリプトも同時に作成しますか?

10. PHP 5.2 のメモリ プール、そのメモリ管理メカニズム、およびガベージ コレクション メカニズムについて簡単に説明してください。 1. プログラミング タスクを除く次の質問は、提供されたメモ用紙に書く必要があります。紙は貴重な地球資源ですので、大切に使ってください。対応する環境があれば、プログラミング作業はパソコンで書くことになりますが、条件がなければわら紙に書くしかありません。


テスト用紙の 2 セット目

基本的なタスク + 高度なタスク + 設計タスク = 90 分

プログラミング タスク = 60 分

基本的なタスク:

1. 考えられる UNIX シグナルを列挙し、そのシグナルの用途を説明してください。

2. 考えられるすべての文字列検索アルゴリズムを列挙し、コメントを付けて簡単に説明してください。

3. IPアドレス(192.168.0.1)がありますので、32ビットの符号なし整数形式で記述してください。

4. 考えられるすべての HTTP 戻りステータス値を書き出し、その用途を説明します (例: 404 を返すということは、ページが見つからないことを意味します)

基本タスク - 選択します (追加のポイントを獲得します):

1描画 最もよく知っているサーバー側モデルをいくつか用意してください (形式は重要ではありません。図面を明確にし、アイデアを説明するようにしてください)

高度なタスク:

1. ガベージ コレクション メカニズムとは何ですか。 PHPの?

手順:

1) PHP ソースコードに精通している場合は、ソースコードから始めていくつかの質問に答えてください。追加のポイントを獲得できます

2) PHP ソースコードに精通していない場合は、次のことを行ってください。自分のプログラミングの直感で得た情報でも構いませんので、できる限り書いてください。

3) 正解していれば減点されません。書かなければ減点されません。

2. 以下の要件を満たす HTTP ヘッダーを記述してください:

1) これは投稿リクエストです

2) ターゲット: http://www.example.com:8080/test

3) POST 変数:

username: test

pwd: test2

intro: Hello world!

4) 以下の COOKIE 情報が含まれています:

cur_query: you&me

指示:

1) 特定の HTTP プロトコルを思い出せない場合コマンドワードが使用されている場合、残念ながら、この動きは「漢字」に置き換える必要があります。

2) HTTP プロトコルのコマンド単語をもっと覚えられるなら、もう少し文章を書いても損はありませんよね?

3) 最も重要なことは、正しい「輪郭」を描くことです (httpwatch などのツールで印刷された頭を覚えていますか? それが「輪郭」の意味です)。ポイントもありますが、それさえ持っていない場合は、 「あらすじ」「全部間違って書いていたら残念です。

設計タスク:

1. 最近、投票モジュールを嫌がらせする人がいます。

要件は次のとおりです:

1) 各 QQ 番号を要求します。 QQ番号はUNIT32以内)表現可)10分間に5票までしか投票できません。

2) 当社のユーザーは非常に熱心で、毎日平均約 2,000 万人がこのプログラムを通じて投票しています。

手順:

1) コードを記述する必要はなく、画像とテキストだけで十分です。

2) 重要なロジックは絵とコードを使って表現してください。これもあなたの文章力を試すものです。

3) 考えられる境界条件をすべてリストアップしてください。これは、論理的思考におけるあなたの包括性と機敏性をテストするものです。

4)保管については、頑張ってください。自分で設計したストレージ層が必要な場合は、そのストレージ層の実装を言葉と写真で明確に説明し、その設計が合理的であれば、豪華なボーナスポイントが得られます。

プログラミングタスク:

1. 新しい宣教師が神様を怒らせて、どの言葉を言うまで聖書(bbe.txt)を暗記するように求められました。この単語が置かれている位置。あなたは優秀なプログラマーだと聞いていますので、この不可能なタスクを完了するのを手伝ってください。
要件は次のとおりです:

1)/myworks/example/bbe.txt、98年版英語聖書

2) 入力部分の要件は次のとおりです: php ./example.php [単語]

3)出力部分は次のとおりです: [ Words] 1,2 2,4 5,6 の意味: この単語は行 1 と列 2 (2 番目の単語)、行 2 と列 4...

説明:

1) このテキストは 4MB の巨大な...

2) 単語の意味: 英文字 (大文字と小文字) と数字 (0-9) で構成される文字列

3) 提供されるマシンの OS はubuntu 9.10、メモリは 1G しかなく、残念なことに、そのうちの 700M は他に何も使われていません

4) コンピューターベースの試験ではインターネットへのアクセスは許可されていませんが、マニュアルドキュメントと CHM を読むためのリーダーをインストールしましたコンピューターのデスクトップの CHM フォルダーには、対応する PHP リファレンス マニュアルがあります

5) アルゴリズムの複雑さの要件は、O(N^2) (つまり、N の 2 乗) を超えることはできません

6)何? PHP は非効率的で使いにくいですが、他の言語でもできます。ただし、注意: 提供されたマシンには Python 2.4/perl 5.8/gcc[g++] 4.1 しかありません

要約: 面接が何であれ、自信を持つことは非常に重要です。これらの 2 つの質問が PHP 開発の面接に役立つことを願っています。あなたは同時に、あなたが面接する PHPer があなたの理想的な仕事に就くことができることを望んでいます。

関連する推奨事項:

PHP 開発エンジニアの知識構造

プログラマーとして成功するための基礎

違うプログラマーになる

以上がPHP開発エンジニアに最適なテスト用紙2セットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。