web-dev-qa-db-ja.com

インタビューでCとC ++を混在させることはできますか?

インタビューでいくつかのコードを書き留めるように依頼された場合、C++に完全に固執する必要がありますか、それとも、2つを「混合」して簡単なコードを書くことを頭に入れても問題ありませんか?

説明します。「スタック」データ型を作成するように求められた場合、C++クラスが最適ですが、一部の文字列を解析する必要がある場合、strtok/sscanfはSTLよりもはるかに簡単です。一方、一般的なコンテナーが必要な場合は、STLとテンプレートが適しています。

すべてはCまたはC++で実行できますが、インタビューではすべてをコーディングしたり、すべての標準/ STL関数を覚えたりすることはできません。許容できるトレードオフとは何ですか?

8
John Smith

真の意味で、C++はネイティブでCをサポートしています おそらくサブセットのみ ですが、トピックがC++Cプログラミング言語が含まれていますが、これは意見ではありません。専門的な環境では、これについての議論はありません。

13
user827992

特に明記されていない限り、ほとんどのプログラミングの質問では、特定の質問に答えるときに好きな言語を使用できます。混乱を避けるために特定の質問に答えるために使用している言語を説明し、-なぜ使用しているのかを説明することをお勧めします。

面接担当者がこれで問題ないかどうかわからない場合は、質問してください-異なる言語を使用して異なる質問に答えられるかどうかを尋ねることは絶対に許容されます(ほとんどの紙の回答では、疑似コードは許容範囲を超えます)。

17
Oded

面接官がCまたはC++でコーディングすることを明示的に要求しない限り、私は面接に適切なものを使用します。

私にとって、私の候補者が2つを混合している場合、私は彼の戦略や2つの言語を混合する理由にもっと興味があります。チームにソリューションを提供できる人がいて、ソリューションを正当化できるは非常に価値があります。

8
tehnyit

インタビューでいくつかのコードを書き留めるように依頼された場合、C++に完全に固執する必要がありますか、それとも、2つを「混合」して簡単なコードを書くことは私の頭にあるので許容できますか?

それはあなたがどのような仕事に応募しているか、そして彼らがあなたに使うことを期待している言語に完全に依存します。一般に、C++を作成している場合は、できる限りC++を使用することをお勧めします。しかし、私はすべてのC++プログラマーが少なくとも少しはCを知っていることを期待します(逆も同様です)。

説明します。「スタック」データ型を作成するように求められた場合、C++クラスが最適ですが、一部の文字列を解析する必要がある場合、strtok/sscanfはSTLよりもはるかに簡単です。一方、一般的なコンテナーが必要な場合は、STLとテンプレートが適しています。

面接中に実際のデータ型全体を書き込むことを期待されている場合は、警戒する必要があります。彼らがあなたに技術的な詳細について尋ねるのは良いことですが、彼らがあなたが面接中にプログラムを書くのに何時間も費やすと予想するなら、それはおそらく雇用主について何か悪いことを言っています。

Scanf()を使用している場合、CまたはC++に関係なく 大きな間違い を行っている可能性があります。インタビュアーに、ただ素早く汚いものを書いているだけで、本番用コードではscanfを使用しないことを説明する方がよいでしょう。さまざまなCライブラリ関数には多くの落とし穴があります。

インタビュアーは、CおよびC++標準ライブラリのすべての関数を覚えておくと期待するべきではありませんが、露骨に危険な関数を知ることを期待するべきです。 gets()、getchar()、scanf()、setjmp()など。

1
user29079

実際にC++で短い代入を明示的に要求された場合、C++を実際に使用し、Cを混ぜないことが最も重要だと思います。モダンCはモダンC++のサブセットではありません。この2つを混在させると、クリーンでモダンなC++がどのようなものであるかをよく理解していないことになるだけです。

0
zxcdw