web-dev-qa-db-ja.com

C ++インタビューの準備

次に、金融ソフトウェア業界で働く会社との電話インタビューがあります。インタビューは主にC++と問題解決とロジックで行われます。このインタビューの準備方法を教えてください。私は、C++での思考と概念のブラッシュアップをざっと読み始めました。他に準備できる方法はありますか?助けてください。

編集:

アドバイスありがとうございます。私は現在、大学院を卒業したばかりで、これまでに経験がないことを付け加えたいと思います。だから、新しい卒業生に尋ねられる質問の種類を提案できますか?

39
Light_handle

基本的なデータ構造とアルゴリズムを知っていることを確認してください。食物連鎖の上位にあるものよりも、そのようなものについて尋ねられる可能性が高くなります。通常、これらは対面インタビューのために保存されます。

別の言い方をすれば、基本にしっかりと固まり、C++構文にしっかり固まります。また、STLやBoostのような一般的なライブラリの知識は害になりません...最終的には、電話スクリーンがあり、基本を実行できない人々を排除します。できることを証明し、次のステップに進んでください。幸運を!

インタビューの質問のリンクを次に示します。

さて、完了のために、いくつかの本:

53
Kyle Walsh

C++の知識に特に焦点を当てたいくつかの候補者にインタビューしましたが、C++の人々の知識を勾配に入れるのにうまく機能する質問が1つあった場合、これは次のとおりです。

このメモリリークをできる限り堅牢に修正します。

 void doSomething()
 {
 Foo * pFoo = new Foo(); 
 [何かを行う] 
} 
  • 削除pFooを最後に配置するための+1
  • pFooをstd :: auto_ptrに入れるための+2
  • RAIIが何であるかを知るための+3-頭字語でなければ概念
  • +4 auto_ptrの例外安全性保証に言及するため
  • ブーストにpFooを追加すると+5:shared_ptr
  • shared_ptrがいつ解放されないかを知るための+6。
  • 循環参照を修正するためのガベージコレクションテクニックについて話す+7

これは、誰かがC++を使用していた時間を示すために常に機能していました。これは、C++知識の規模のどこにいるかを伝えるために使用できる1つのデータポイントです。

編集:レベル3以上の人を雇うことをお勧めします。

46
Matt
  • TopCoder で練習問題を試してください。

  • Marshall ClineのC++ FAQ をご覧ください。 「問題解決」の質問ではなく、「知識」の質問をすることにした場合に備えて、既に知っていることを学ぶための新しい方法と骨組みです。

8
theycallmemorty

たとえ彼らがC++の地位を求めてインタビューしているとしても、すべての質問がC++に固有のものであるとは限りません。たとえば、単一のC++ポジションの同じインタビューセットで、次のすべてに関連する質問に直面しました。

  • よく知られたソートおよび検索アルゴリズムのアルゴリズムの複雑さ
  • マルチスレッドプログラミング
  • マルチプロセスプログラミング
  • ソケットプログラミング
  • ソフトウェア開発の哲学/アプローチ
  • ソフトウェアのテストと検証の哲学/アプローチ
  • デバッグ
  • ベンチマーク
  • コードの動的および静的分析(例:ランタイムメモリリーク検出とコンパイル時)

私の場合、電話インタビューは、オンラインのC/C++知識テスト(例:BrainBench)を受験できるかどうかを判断するためのスクリーニングプロセスの一部でした。その後、オンラインテストの結果から、オンサイトインタビューに参加するかどうかが決定されました。これには、さらに「実践的な」ソフトウェア開発テストも含まれていました。

YMMV。履歴書に記載する内容にも大きく依存します。

インタビュアーは、あなたが探している答えにたどり着くことができるかどうかを見ることができるように、あなたにヒントを与えることであなたを助けることをしばしば試みます。あなたの知識を測定することに加えて、彼らはあなたがどう思うかを見たいと思っています。時折、役に立たず、肯定的でもない不器用なインタビュアーが見つかるかもしれません。重要なのは、あなたの能力に自信を持ち、誠実であることです。

HTHと幸運を!

3
Void

言語の明らかな部分に加えて、雇用主は、ポインター、参照、コピーコンストラクターがすべて、おそらくSTL、そしてもちろんクラスの基本にどのようになっているのかを完全に理解しているかどうかを見たいと思うことがわかりました。

2
Smashery

私が信じ始めていることは、趣味としてプログラミングを楽しむ候補者とそれを「ただの仕事」とみなす候補者との間には明確な格差があることです。

特定の質問に対する答えがわからない場合でも、通常は<お気に入りのリソース>(StackOverflowなど)で答えを調べることに言及する価値があります。

あなたの経験に基づいて、インタビュアーはあなたがすべての質問を正しくすることを期待するとは思わない。彼らはあなたが「可能性」を持っているかどうかを決定しようとしている可能性が高いです。

リラックスして楽しんでください!

2
Richard Corden

知識のある友人をつかみ、ホワイトボードで解決できるC++プログラミングの問題をいくつか尋ねてもらいます。多くのインタビューでは、ホワイトボードで問題を解決することができます。慣れていない場合は、自分の足で考えて誰かの前で物事を書き出すことは戸惑う可能性があります。

2
Pedro Estrada

読む(または、準備にどれだけの時間を要するかに応じてスキムする) " Large-Scale C++ Software Design " John Lakosによる。おそらく、あなたはそれを必要とするでしょう。

1
Max A.