シリコンバレーで就活してきた(2) ーシリコンバレーの採用プロセスについてー


シリコンバレーで就活してきたシリーズ第二弾です。

今回はシリコンバレーでいくつか面接を受けた経験から、実際どのような面接が行われているのか、どういった採用プロセスになっているのか等についてご紹介します。

僕が実際に書類選考を通過して、コンタクトが取れたのは10社弱くらいでした。

多分30~40社くらいには応募した気がします。

有名どころはほぼ全部応募しました(笑)

ビザがないとなかなか相手にしてもらえません。

 

 

採用プロセスについて

採用プロセスは大体以下のような形です。

もちろん会社によって色々と差はあります。

 

1.書類選考

2.電話面接

3.技術面接

4.役員面接

 

 

電話面接

書類を応募する流れは前回ご説明しました。

書類選考が通ると、メールで返信が来て、まず電話やSkypeで軽くchatしましょうとなることが多いです。

しかし軽くchatしましょうと言われても侮ることなかれ。

友達とするようなたわいもない話をするわけではありません。

まず自分のキャリアサマリーを説明した後、そのポジションに関わる初歩的な技術の質問をされることが多いです。

僕はフロントエンドエンジニアとして応募していたので、JavaScript、CSSやHTML等の質問がありました。

例えば、JavaScriptで==と===の違いは何かとか、JavaScriptのInheritanceについて説明しろとか、cssのdisplay:noneとvisibility:hiddenの違いとかそういった初歩的な質問でした。

 

 

技術面接

電話面接がうまく行けば、次にオフィスやSkype上でエンジニアと対面の技術面接が行われます。

どの会社も技術面接は必ず行われ、必ずコードを書かせます。

技術面接には色々なタイプのものがありました。

 

1. ある要件を満たす関数を実装するような問題

数分でとけるタイプの問題です。

例えばこちらの文字列にスペースを入れる問題は実際に出題されました。

 

2. コードに間違いがあり、それを直すタイプの問題

JavaScriptだと、thisに関する引っかけ問題が多いです。

setTimeoutのコールバックのthisはグローバルオブジェクトになっているとか、そういう系です。

 

3. ある問題を解く為のアルゴリズムを説明

ホワイトボードなどでどうやって問題を解くか説明するタイプの問題です。

この際にcomplexityはほぼ必ず聞かれます。

この手の問題は苦手です。。

 

4. 実務に近いものを実装

実際に業務で使われそうなものを、数時間かけて実装するタイプの問題です。

例えばスマホのカルーセルや、簡単なwebクローラーを実装する問題等が出てきました。

こちらは問題を出されたからしばらく放置されて、出来上がったら声をかける、というような方法や、課題として数日後に提出するといった方法で行われました。

 

個人的に面白いと思ったのは、大体の面接でこれらの問題を解いている際に、分からなかったらググってオッケーだったことです。

 

またコードのシェアの方法は、

– 実際に会議室で隣に座って解く

– Google Docsでシェアしながら解く

– Google Hangoutでスクリーンシェアしながら後でコードをメールで送る

という形で行われました。

 

 

役員(マネージャー)面接

役員や、マネージャーとの面接です。

こちらはコードを書くことはなく、自分のキャリアプランや、その会社に入って何をしたいか等聞かれます。

いわゆる一般的な面接です。

 

 

僕は日本でそれほど沢山の面接を受けたことがある訳ではないですが、面接で実際にコードを書かされたことはありませんでした。

これまで結構口だけでなんとか通り抜けてきたのですが、実際にコードを書かなければならないとなるとそうは行きません。

エンジニアの実力を測るにはコードを書かせるのが一番だと身をもって実感しました。

エンジニアの採用に関わる際は、必ずコードを書かせようと思いました。

 

次回は就活の結果等について書きたいと思います!