前のエントリーでも書いたが、会社でリストラによるレイオフがあった。他にもシリコンバレーの会社でいくつか大規模なリストラが発表されている。また次の職場を求めて転職する人が増えるのだろう。
自分自身は今年4月に転職を果たした。その経験から「ソフトウェアエンジニアが転職する場合のテクニック」の1つになりそうなのが、Interview Questionの活用である。
例えば、Javaでプログラムを書いている人は、こんな問題に答えられるだろうか?
- 抽象クラス(Abstract class)とは何か
- クラス拡張を禁じるにはどうするか
- vectorとArrayListの違いは何か
結構細かいことで、「昔教科書で読んだ気がするが覚えていない」という感じのもの。毎日Javaでプログラムを書いていても、忘れてしまいがち。
しかし、求職の時のインタビュー(面接)ではこういう質問がよく聞かれる。それも、たいていの場合は1次試験の電話によるインタビューで聞かれることになる。これにパスすれば、実際に会っての面接で、課題を出されてプログラム(というかアルゴリズム)を書いたりする。「どんなプログラムでも書く事ができる」という人でも、1次の電話インタビューをパスしておかないと、この2次面接まで行けない。「分からなかったすぐGoogle」というスタイルでプログラムを書いていると、こういう質問に系統立てて答えられなくなってしまう。
ということで、レジメ(履歴書)の中で、Skill(得意分野)を書いたら、その分野での質問に答えられるようにしておく必要がある。想定問題集はネットにたくさん転がっている。
上に上げた問題はJava Interview Questionsというページから取ったものだが、自分のスキル(例えばC++、C#、VisualBasic、Perl、Python、Tomcat、 MySQL、DBA、AJAX、Flex、などなど)と、interview questionという単語を、Googleなどでサーチすると山のように出て来る。
ちなみに、文系のスキルのことはよく分からないけど、Accouting(経理)とかPersonnel(人事)でサーチすると結構出てきた。
ということで、転職を希望する人は、まず第一次試験(電話インタビュー)を突破するために、interview questionを読んでおくのは必須。できれば英語で答えられるようにしておく。
転職の必要がないくてもいい。例えば仕事で新しいツールや言語を使う必要がある時、この想定問題集はその言語に関することが簡単にまとめられている。素早く肝をつかむのにはいいかも知れない。Wikipediaの次にinterview questionを読んで、それからオンラインマニュアルか。
また、ふだん使っている言語でも、知らなかったり忘れていた機能など、意外な発見することで理解が深まるという効果もある。
最近のコメント