PHPのシニア候補10人のうち9人を除外する3つのタスク

候補者-経験のある「シニアPHP」は、インタビューの前に履歴書/カバーレターによる最初の選択を通過します。つまり、まともなプログラマのように見える人だけがインタビューを受けます。 インタビューはリモートで行われます-Skype / ICQ(音声なし)。 つまり 理論的にはグーグルで検索することは可能です。



したがって、「プログラマーのタイプ」を落とすテスト:





1.ヒット数を数える





タスク:banner.phpがあり、静的な画像、ある種のバナーを表示させます。 単に<img src = "/ banner.php" />ページに追加します



何回見せたか知る必要があります。 コードを書いてください。



候補者がApacheログのヒットをカウントするための簡単な解決策を提供する場合、たとえば、「ログはオフです」、「データベースを使用しましょう」、「一意の数は?」などの条件を複雑にします。



驚くべきことに、本物の何かを提供できるのはごく少数です。 何らかの理由で、誰もが急いでセッションを使用するか、クライアント側に何かを保存します。 最も独創的なのは、「Facebookのスーパーロガーを使用する必要がある」です。 彼については何も知りませんが、強くお勧めします。」



2. UNIXシェルでの作業の基本+少しの創造性





タスク:そこに重要なことをするcleanup.phpがあります。 13秒ごとに実行するスクリプトが必要です。



それらのほとんどは王冠に固執することを申し出ます、私はあなたにステップを書き留めるように頼みます、私がcronジョブを表示するために何をすべきか(私はSSHアクセスを持っていることを考慮に入れて) それから、王冠にはほんのわずかなタスクしかなく、ある種の「ハック」が必要であることがわかりました。 繰り返しますが、候補者が「対象」にどれだけ深く、広く存在しているかを理解するために解決策を提案する場合、条件を複雑にする可能性があります。 ほとんどのマージは、「私はlinux-shellでうまく動かせず、管理者がすべてを行ってくれました」と言っています。



3.少数のデータベース-SQL(mysql)





タスク:ライブラリをデータベースに保存したい。 私は本と著者の名前を気にします-他に何も保存する必要はありません。 テーブル構造を提案します。



候補者の半数は、多対多が何であるかを知らず、どちらが優れているかを判断できません。authors_idをbooksテーブルに、book_idをauthorsテーブルに格納します。



構造に問題がなければ、3人の共著者によって書かれた本のリストを引き出してください。 つまり、レポート「book-the number of co-authors」を取得し、3人未満の共著者を持つ人を除外します。



このテストを行う間、3か月間、1つのクエリで純粋なSQLでこれを処理した候補者の名前を思い出すことができます。



まとめ





これらの3つのタスクは、10人の候補者のうち9人を除外しました。 時々私は悲しいと漠然とした疑いが私を苦しめます-多分私は賢明なプログラマーが恋しいですか? おそらく、候補者は「頭から飛び出す」心配して単純なことをしているかもしれませんが、彼らがチームに参加するとどうなりますか-「明日リリースし、私たちの馬がうろついていませんでした」? 「面接でコードを書く準備をする」と言って、事前に候補者を設定する価値があるかもしれません。 もっと悪くないですか? そのようなインタビューを適切に行うことはあなたを傷つけますか?



All Articles