私はかなり長い間、RTOS および Linux ドライバーの開発に取り組んできました。現在、私は半導体企業で面接を受けていますが、文字列のアルゴリズム、および時間と空間の複雑さに関する質問に答えることができません。私は電子工学のバックグラウンドを持っているため、個別の数学やアルゴリズムを勉強したことはありません。
このギャップをどのように克服できますか?
私はかなり長い間、RTOS および Linux ドライバーの開発に取り組んできました。現在、私は半導体企業で面接を受けていますが、文字列のアルゴリズム、および時間と空間の複雑さに関する質問に答えることができません。私は電子工学のバックグラウンドを持っているため、個別の数学やアルゴリズムを勉強したことはありません。
このギャップをどのように克服できますか?
次のような簡単なことから始めてください:アルゴリズムの概要(インタビューのような質問の良い出発点)
またはインタビューのためのアルゴリズム 上記の本を知っていると感じたら、アルゴリズムの紹介に飛び込むことを考えることができます。
Data Structures and Algorithms クラスのほとんどのコース教材を復習する必要があります。この種の面接の質問に答えるために、通常、離散数学で説明されている資料は必要ありません。
長い道のりを歩みたい(そして実際にトピックを理解したい)場合は、実際にクラスの資料に取り組み、講義を聞くことをお勧めします. UC Berkeley は講義の一部をオンラインに投稿しているので、そのようなクラス (優秀なインストラクターによる) をここで見ることができます。
http://webcast.berkeley.edu/course_details.php?seriesid=1906978343
Big O 記法に関する講義と、並べ替えと検索のアルゴリズムに特に注意してください。これらは、人々が就職の面接で尋ねる傾向があります。
実際に 30 時間かけて講義を視聴したり、さらに多くの問題を解いたりすることに煩わされない場合は、少なくともそのコースで使用されている次の本を参照する必要があります。
Introduction to Algorithmsは優れたアルゴリズムの本です (また、影響力のある本の質問で 6 番目にリストされています) 。
アルゴリズムと複雑さを理解するためのアルゴリズムと複雑さ(スティーブンスキーナによる)のアルゴリズム入門(CLRSによる)とアルゴリズム設計マニュアルをお勧めします。それ以外に、トップコーダー(サイト)にはアルゴリズムと複雑さに関する優れたチュートリアルがたくさんあります。 :topcoder.com/tc)、あなたもそれらをチェックすることができます。