事前スクリーニングコーディングテスト-どのくらいの期間が妥当ですか?[閉まっている]


22

編集

トピックについて十分に考え、自己反省した後、この質問で提起した問題のほとんどは、専門的な観点ではなく個人的な観点からのみ生じていることに気付きました。したがって、モデレーターは、私が話そうとした問題の非常に個人的で主観的な性質のため、この質問を保留にしました。私は質問を言い換えることを考えていましたが、質問をより客観的な方法で明示する可能な方法を実際に見つけることができなかったので、答えが何らかの証拠または参照でバックアップできる議論の主題になる可能性があります。

まだ興味のある人のために、私はこの質問から浮かび上がった議論の要約を述べようとしています:

  • 4時間の事前インタビュー、オフサイトプログラミングテストは通常​​ではありませんが、
  • 多くの人々は、いくつかの企業では、それよりもずっと長い間インタビューするだろうと指摘しました。
  • テストを受けるかどうかは私たちの個人的な決定であり、私たちの状況と会社に雇われたという認識された利益に基づいてこれを評価することができます
  • すべての企業は人々とは異なり、ニーズや状況に合うものであれば、企業がより長いインタビュー前のオフサイトテストを採用することは完全に合理的です。

元の質問は、私に4時間を期待するのがいかに合理的であり、ソリューション(コードではなく設計)を企業で使用できるように問題をどの程度倫理的に与えるかについてでした。私が見ることができるように、これらの質問の両方は、スタック交換のような質問回答型のコミュニティツールを使用するのではなく、フォーラムの議論でしか探せません。

しかし、あなたの答えはすべて貴重であり、共有してくれてありがとう。

オリジナルポスト

私はいくつかのポジションの面接を行っていますが、そのほとんどに事前スクリーニング段階があり、電話インタビューまたはオンサイトインタビューを行う前にコーディングテストを提出する必要があります。私はこのアイデアにかなり慣れており、企業が私にこれを行うことを期待するのはかなり合理的であり、私が自分で作成できる仕事の種類を確認できます。

一般に、私の経験では、これらのタイプのコーディング演習はほとんどが小さなプログラミングタスクです。いくつかのロジックを実行し、おそらく小さなアルゴリズムを実装し、ファイルを開いてデータを読み書きします。最も単純なタスクでさえ、ロジック、テスト可能なコンポーネントなどをうまく分離することで実装でき、候補者がどのようにコーディングしているか、一般的には会社が記入したい仕事のタイプにどれだけ準備ができているかを確認できます。

最近、私は彼らのビジネスの実際の問題を解決するために私に彼らの運動のページ全体の長い説明を含むコーディングテストを送ってくれた会社に出会いました(私は会社を保護するための詳細は言いたくないが、テスト彼らが何をすべきかについてほとんどでした)。彼らは実装するかなり複雑なシステムを説明し、実際のデータを含め、最終的に彼らはコーディングテストに4時間以上かかるべきではないと結論付けました。

会社から、挨拶をする前であっても、私の自由時間にダミーの割り当てに4時間を費やすことを期待するのは合理的ですか?(採用担当者がコーディングテストを送ってくれました)

誤解しないでください、私は新しい仕事と新しい挑戦を見つける意欲がありますが、ほとんどの企業は私がそのようなタスクに最大1〜2時間を費やすことを期待しており、そのようなタスクは常にはるかに簡単です。

この会社で結論として思いついたのは、次のいずれかです。

1)私の動機は良くなく、おそらく彼らは他の誰かを探している

2)彼らは将来の従業員に敬意を払わず、彼らに挨拶することなく、このような長いコーディングテストが行​​われることを期待していません

3)彼らは、自分が取り組んでいる問題の1つを提供し、無料で解決できる熱心な若い女性がいないかどうかを確認したいだけです(繰り返しますが、誤解しないでください私は陰謀論者ではありませんが、私は持っていますそのような話を聞いた...)

企業は、候補者と話をせずにダミーのコーディングテストに時間を費やすことを企業が期待するのはどれくらい合理的だと思いますか?一般的にあなたの経験は何ですか?



あなたのコメントは公正です。ただし、事前スクリーニングタスクに4時間を費やすことを期待するのが合理的であるということについて、あなたがどう思うかに興味があります。
アストン

1
それは経済的な命題であり、合理性は市場が負担するものによって定義されます。それは条件によって変動します。従業員の市場(つまり、多くの企業が少数の候補者を追いかける)である場合、雇用主の市場である場合よりも、そのようなことに対する許容度は低くなります。潜在的なメリットが事前に明らかになったため、現在の職位について合計12時間のインタビューを行いました。10年後、彼らは正しかったので、私がそれに費やした分は価値のある投資でした。
Blrfl

3
大手ソフトウェア会社のいずれかで面接を行った場合、多くの場合、その場所(私にとっては10時間の移動時間)に飛んでから、1日8時間(または2つは前例のない)のプログラミング/設計/インタビュー。問題は、会社がそれを要求するための影響力を持っていると感じているかどうかです。
スティーブンエバーズ

1
「主要なソフトウェア会社」での私の経験では、最初の段階は1時間の電話インタビューであり、それは公平です。ここで欠けているのは、彼らが何も入力しないで、4時間の仕事を期待していることです。私はもう少し考えてみましたが、多分彼らはあまり時間がないので、誰かが好きなら彼らはその4時間の仕事から彼をほとんど雇うだろうと考えました。その場合、私は彼らのアプローチを理解できます(これはダンクの答えに関連しています)。
アストン

回答:


24

他の答えはまだそうではないので、私は会社の側を少し取っておきましょう。資格が完全に不明な人からの4時間のコーディングテスト提出物の集合から使用可能なコードベースを構築することはほとんど不可能です。十分に詳細な仕様を作成し、応答を詳細に調べ、それを他のコードと統合すると、4時間以上かかります。言うまでもなく、最も有用なエンタープライズレベルのソフトウェアプロジェクトには、数千人分の時間が必要です。それぞれを数週間の所要時間で4時間単位に分割してビジネスを構築するという考えは、率直に言ってばかげています。

ビジネスの実生活の問題を与えることは、誰かがビジネスの実生活の問題を驚くほど解決できるかどうかを判断する最良の方法の1つです。私はこれをインタビューで頻繁に行いますが(4時間分のコードではなく、一般的な設計原則を要求します)、毎回それが既に解決した問題でした。まだ解決していない場合、テストはほぼすべての証拠価値を失います。

4時間のテストがあなたにとって価値があるかどうかは個人の判断です。私は常にフルタイムの仕事を探すことをフルタイムの仕事として扱うように教えられました。失業者または失業者で、仕事を探すために1日8時間を費やす場合、4時間のコーディングテストは何もありません。さびた言語のブラッシュアップ、ポートフォリオプログラムの作成、特定の職種の履歴書のカスタマイズなどのタスクに、私はそれよりもはるかに長い時間を費やしました。

一方、優秀な労働者の一部はすでに有給で雇用されており、より良い機会をさりげなく探しています。そのような状況にある人々は、機会が素晴らしいものでない限り、4時間の試験のリガマロールを経験することはまずありません。ただし、それは会社の問題であり、あなたの問題ではありません。

従業員に対する会社の態度についてそれが何を意味するかを判断する限り、おそらく資格のない応募者に対処することにうんざりしていることを除いて、彼らが投げたいと思う程度に、あなたは本当に何も言うことができないと思います良いものも悪いものもある。


また、OPは、テストに4時間以上かかることはないと述べました。もしテストが4時間未満の候補をとるなら、おそらく彼らはおそらく興味がないと思っています。
トンバトロン

答えてくれてありがとう。たぶん、私はこのようなタスクに4時間の余裕がない2番目のタイプなので、多分彼らは他の誰かを探しています。そして、はい、あなたが言及した理由で実生活の問題を与えることは有益であり、私はそのようなタスクに遭遇しました。たとえば、TV会社にインタビューしたとき、チャンネルサブスクリプション計算機を作成する必要があり、FX会社にとっては要約する必要がありましたCSVファイルからの通貨であり、それは公正ですが、この会社は私に対する期待に少し行き過ぎました。たぶん私だけのために。
アストン

3
これは少し単純化されていると思います。すべてのソリューションを他のシステムと統合する必要はありません-これは、たとえばデータ解析プロセスである可能性があります。また、会社がコードを直接使用することはできませんが、デザインは非常にうまく使用できます。テストプロセスは設計上表面的なものである必要があり、1時間以上は多すぎると思います。
カークブロードハースト

2
就職活動をフルタイムの仕事として扱うのは、失業している場合にのみ合理的です。あなたが働いているが、より良いものが利用可能かどうかを確認するために市場をテストする場合、そのコミットメントのレベルは、燃え尽きるだけなので、短期的な場合を除いて実用的ではありません。
ダン・ニーリー

11

いいえ、典型的ではありません、なぜあなたは彼らの問題を無料で解決するのですか?(4時間)

プログラミングテストの標準的な時間は1時間です。過去のプログラミングテストは4つの質問でした。最初の3つの質問には30分かかり、最後の1つには30分かかりました。また、社内の既存の雇用者にテストを実施して、予想される時間枠内であり、テストが公正で調整されていることを確認しました。

最初のいくつかの質問は、プログラムできない人を除外するための「Fizz Buzz」タイプでした。彼らは次第に難しくなりました。最後の質問は問題解決の練習でした。一般的に、記述されるコードの量を数百行(合計)に制限し、巧妙なトリックを必要としないようにしました。また、エラー処理、スタイル、構文、構成などについてもスコアを付けました。質問はビジネスに関連するものではなく、現在のプラットフォームが作成されたスキルとテクノロジーに関連していました。

通常、優秀な候補者は、割り当てられた時間よりも短い時間で終了しました。時々、クイズにかかるストレスのために許可された余分な時間を要求されましたが、私たちは一定の制限で全員に制限をかけました。クイズは現在の開発環境にあり、人々は参考情報のためにインターネットにアクセスできました。また、すべての候補者にクイズの予想を検討しました。

かつてクイズにコードベース(実世界)を組み込むことについて議論しましたが、コードのコピー/盗難などの懸念のために最終的には破棄しました(上司は少し妄想的でした)。最終的に、私たちは分離さquiz.slnれた開発マシンで別のものを使いました。

最後に、公正なテストを思いつくのは難しいが、難しすぎず簡単でもないことがわかりました。クイズを取った後、候補者に常にクイズについて質問し、フィードバックを集めて将来の候補者のためにクイズを改良しました。


答えてくれてありがとう。あなたの方法は公平なようです。簡単な質問と難しい質問のアイデアが好きです。なぜなら、それは候補者に、それ以上の説明がなくても、彼らがどれだけうまくやっているかについての良い感覚を与えるからです。3つの簡単なタスクを実行し、最後のタスクを実行できないとしましょう。自分が失敗したとは思わないでしょうが、改善する必要があることも認識できます。私の場合、実際に私を悩ませたのは、会社が私と話す前であっても、4時間のオフサイトの期待です。
アストン

@Aston-また、最後の質問を完了しなかった場合、自動的に失格になりませんでした。おそらく、あなたはプログラマーとして雇われるのではなく、他のどこかに雇われるでしょう。場合によっては、候補者は他の職に雇われました(サポート、QA)。最初に人々とのインタビューを行い、次にクイズを行いました。最初にクイズを出してすぐにその人を除外することもできると思いますが、おそらく潜在的に優れた技術的であるがプログラミング以外の候補者を見逃すかもしれません。
ジョンレイナー

8

とにかくインタビューでのコーディングテストは大変な作業だと思います。通常の環境とツールなしで、プレッシャーの下で最も単純なルーチン以外をコーディングする人はいないので、得られる結果は良くても疑わしいです。

プログラマーの能力の本当に良いテストであることがわかったのは、プロジェクトコードを与えて、レビューを依頼することです。これには、コードにいくつかの明らかなバグ、いくつかの明らかなコードの問題、およびいくつかの疑わしいプラクティスがある場合、これが非常にうまく機能します。優れたコーダーは、それらすべてを教えてくれます。また、一部のコードが「間違っている」のではなく、メンテナンスを容易にするために改善できる理由についての議論に参加します。貧しいプログラマーはバグを見つけて停止します。

30分以上かかるテストを期待している仕事は、あなたのスキルに関する漠然としたアイデア以上のものを提供する、ターゲットを絞った適切なテストを長い間費やしていません。(ほとんどの企業は、インタビュー前のセットアップに時間を費やすのが非常に難しいと感じています)。

あなたが持っているようなテストを与えられた場合、擬似コードで答えを書きます。これは、通常の作業プロジェクトの場合のコンパイル、ビルド、テストのすべての段階を経ることなく、コーディングと設計に関する私の理解を示すのに十分なはずです。


1
はっきりしない場合は申し訳ありませんが、インタビューの前に行われるテストに言及したので、自宅で自分でそれを行うことができます。
アストン

1
それにもかかわらず、とにかく擬似コードを実行します。彼らは、問題を解決する方法についての私の考えを望んでいるか、あなたからの無料の仕事を望んでいます。後者の場合、それはあなたが働きたい場所ではありません。
gbjbaanb

@gbjbaa:またはより可能性の高いシナリオは、彼らがあなたがしている仕事のタイプを見たいということです。その点で、些細な作業では十分ではありません。擬似コードはそれをカットしません。また、問題の定義、レビュー、改善、承認に4時間以上かかったと思います。彼らが依頼するよりも短い時間で自分でこれを実装できたとしたら、なぜ彼らは自由な仕事の後だと思いますか?タスクに1週間か2週間かかった場合、あなたのポイントは見えますが、4時間ですか?また、私は考えを表現するのが得意で、問題を解決するのが非常に悪かった多くの人々にインタビューしました。
ダンク

1
タスクが現実世界の状況に非常に近い場合、私はいつも少し疑っています。特定の問題を解決する方法について、より賢い人からヒントを得るためだけに、マネージャーがインタビューを手配しているという話を聞いたことがあります。自分で解決しなかったわけではありませんが、他の誰かがそれを解決する方法を知りたがっています。結局、彼らは誰も雇いたくありませんでしたが、それは別の話です。
アストン

3

あなたは4時間を持っていないかもしれませんが、彼らの会社にもっと興味がある人は確かにそうするでしょう。私は基本的に、会社がタスクだけで事前に行うように私に求めた同様のタスクに基づいて雇われました。明らかに、クリーンで理解可能なコード、完全なテストケース、理解可能で一貫性のある設計ドキュメントを書くことは異常です。実際に誰かがそれをするのを見ると、人々を吹き飛ばしました。とにかく、インタビューで私が話した人は皆、私がしたことを賞賛しました、そして、彼らはすでに決心していたので、私はインタビューで誰も感動させなければならないと感じました。バカなことをしてノーと言う理由を彼らに与えないのは、単に私の問題でした。

したがって、4時間はかなりの時間の投資であることに同意しますが、それはまた、タスクが十分なサイズであることを意味します。あなたの仕事は、実際のインタビューの状況でこれまで以上に多くのことを話すかもしれません。

副次的注意として:私は最近、同様のことを試みましたが、はるかに小さな問題を使用し、結果に満足していませんでした。小さな問題は、人の知識を十分に示すために些細なことです。さらに、些細な問題は、問題を解決するために必要なトリック/詳細を認識することを人に要求する傾向があります。したがって、人の時間を取りすぎることと、タスクが些細なことであるために実際のメリットを得られないこととの間に、ある程度のバランスがあります。4時間のタスクは、おそらく候補者がスキルを発揮するのに十分なほど複雑で、誰も気にしないほど長くはない適切な時間だと思います。


答えてくれてありがとう。少し自己反射し、あなたの答えと、自分から会社に焦点を当てようとする試みの後、これが彼らの観点からどのように合理的であるかを見ることができます。多分彼らのプロセスはそれであり、4時間の仕事を得て、彼らが誰かを好きなら、彼らは招待してオファーをします。たぶん、彼らは小さな仕事は得意であるが大きな仕事は得意ではないという以前の悪い経験を持っているかもしれません。私はまだ4時間は少し長すぎると思いますが、私はそれをするかもしれません...
アストン

1

ある時点で6時間のコーディングテストを行いました。このテストを受けたとき、私は雇われるだろうというかなり高い自信を持っていました-それが実現した間、私は後続に満足していませんでした。

明らかに多くの雇用者がそれぞれ4時間を要求するのは過剰です。私が受けたテストで人が探していたのは、私のコーディングスタイルでした。私のものが彼に「最も近い」ので雇われました。これに関連して、この観点から問題を見てください。まず、解決することはあなたにとって価値のある興味深い問題ですか?結局のところ、貴重な何かを学ぶことができます。

第二に、あなたがテストに「合格」できるなら、それはあなたが雇われていることを意味しますか?これがあまり明らかでない場合は、とにかく他の理由があるかどうかを判断する必要があります。

第三に、彼らはそれが「4時間」かかると推定するかもしれませんが、あなたは異なって見つけるかもしれません。彼らは本当にこれにどれくらい時間がかかるか知っていますか?ほとんどの場合、答えはノーです。したがって、4時間以内に収まらないことがわかるまで、4時間の期限でテストを続けます。その場合、時間を無駄にします。最適なアプローチは、採用マネージャーに積極的に働きかけ、4時間で立ち止まって自分の持っているものを与えるか、それが完了するまで続けてどれくらいかかったかを伝えることです。要するに、これに性格テストがあり、彼らの条件でそれを受け入れようとするだけで、経験不足を明らかにするかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.