ジュニア開発者として、主にC++を使用するジョブの技術テスト/評価を依頼されました。これは私の最初のテスト/評価であり、2時間です。
私のC++は、私が最近PHPでプロジェクトを行っているので、少し錆びています。
これは英国の会社ですが、候補者の技術テストはどこでもほぼ同じだと思います。
これらのテストの1つで何を期待できますか?
これが純粋なC++テスト(つまりnot Windows/MFC/Managed C++テスト)の場合、Scott MeyerのEffective C++そして、あなたは非常にうまくやるべきです。テンプレートとSTLについては説明していませんが、興味がある場合は、おそらく2時間のテストは行われません。もう数年になりますが、私はC++開発者に頻繁にインタビューしていました。 Effective C++のアイデアはC++プログラミングの基本ですが、候補者の約10%しかそれを知りませんでした。
それはC++なので、何でも期待できます。つまり、本当に何でもいいのです。
通常、これにはトリックの質問と、ある種の多態性の質問が含まれます。
しかし、単純なものになる可能性もあります。
「デストラクタを仮想化する理由」、「揮発性」、「非現実的な問題のためのクラスの設計」、「リンクリストの実装」、「文字列の反転」などの質問に答える準備をします。
まあそれはそれらがあなたがグーグルを使用できるようにするかどうかに依存します。 :P
私の周りのツールを使用できる限り、私は通常、技術テストでかなりうまくいきます。彼らが私にコードブラインドをコードしてほしいと思ったとき、私が困ったときにそれをします。だから私があなたに与えることができる最高のアドバイスは自宅でコードブラインドです...私たちが覚えていなければ簡単にチェックできるので、私たちが当たり前だと思っている些細なことを忘れないでください。
また、通常、彼らが必要とする具体的なスキルをチェックするので、何に取り組むかわかっている場合は、それに集中してください。
(これは私の一般的な経験ですが、私は英国出身ではありません)
Practice code kata単純なアルゴリズム(リングバッファー、ハノイタワー、バイナリ検索など)を選択し、最初からコーディングします。次に、次回、次回、そして次回、そしてそれを繰り返します。各反復でそれらをどのように改善できるかを見てください。
あなたは:
彼らはあなたが知っている(そして使う)ことを期待します:
彼らはおそらくあなたをテストします:
あなたが運が悪いと彼らは考えるかもしれません
これまで投稿されたものは素晴らしいですが、何かとストーリーを追加します! C++で知っていることをソフトウェア会社のドメインの問題に適用する練習をします。 C++のすべてを理解していればすばらしいことですが、問題に適用できなければ、会社にとって役に立たないことになります。これはジュニア開発者の立場なので、C++に関するすべてを知っているとは思わないでしょう。
私は先週、私の最初の開発者の仕事のために私の最初の技術テストを受けました。私はFizzBuzzのようなもの、またはより具体的な骨の折れるもの(これはJavaの場合です)を期待していましたが、彼らが私にファイルを提供し、それを新しい形式に解析することを見つけました、それは仕事の一部でした。その上、彼らは私にグーグルと彼ら自身の図書館を使わせた。結論としては、C++を知る必要がありますが、テストがどのようなものか知りたい場合は、申請しているポジションのドメインを調べて、そのドメイン内の何かに向けてC++を実装することに取り組みます。
何でも期待できるのは本当です。
テストはC++であると彼らは言ったが、おそらくそれは彼らがテストで使用するC++のCサブセットである可能性がある(標準ライブラリ文字列の代わりにchar配列を使用する)。これを知るのは難しいでしょう。
それが本当にC++の場合、基本を確認することをお勧めします。
次に: