入社試験の問題をつらつら考えたqune入社試験の問題をつらつら考えた2010/02/13下っ端にはぜんぜん知らされていなかったんですけれど,どうも職場で「人を入れよう」な話になっているらしく,選考試験を考えることになりました。うちの職場は規模が小さいので,選考試験も手作り。みたいに機械的に人を切るよりはマシだと思っています。ことで,「なんか適当なのを考えてよ」と言われてたのでした。以下がいくつか考えたうちのひとつ。他の問題は割と専門的なので,一般的なプログラマ向けのものを。少なくともうちの基準ですけれど,「プログラミングできます」と他人に言うための必要最低条件という位置づけです。書かれたプログラムについて,以下の設問に答えてください。0;}[設問]このプログラムを実行した結果を20文字程度で答えてください。for-文を使った関数に書き直してください。比較した場合,処理効率の点でどのような違いがありますか。100文字程度で答えてください。引数の階乗を計算する関数とした場合,機能要件の点から制限と考えられる条件があります。この制限を考えられるだけ挙げてください。この制限を排除するには,このプログラムをどのように修正する必要がありますか。併せて答えてください(修正できない場合は「修正不可」と記述し,その理由を答えてください)。ある再帰のプログラム。これ自体は見ている人も多いはず。どんなアルゴリズム本にも書かれてますしね。再帰のプログラムを実装すると,このプログラムは潜在的な問題を孕むことになります。この問題をしっかり認識しているか(あるいはその場で考えられるか)ということを聞きたかったのでした。このサイトでは以前にも書いたけれども,再帰のプログラムは関数呼び出しのコストとスタックサイズの影響を大きく受けます。単純にパフォーマンス(と可読性)だけで考えるならば,階乗計算を再帰で書く必要性はほとんどありません。この点について適切に書かれていれば合格点としました。分野を絞っちゃったんだけれども,それなりに「簡単そうで骨のある問題」になったんじゃないかと思います。何かの参考にどうぞ(何の参考だか分からんけど)。