読者です 読者をやめる 読者になる 読者になる

NZ MoyaSystem

ニュージーランド在住のプログラマがあれこれ書くブログ

カテゴリ

【海外就活】面接終了! これでダメならどうしようってレベル。

どうも、海外就活生のはっしーです。

昨日お伝えした面接がいま終わったんで、近くのカフェでこのブログ書いてます。

朝9時30分から始まって午後1時までずっと選考でした。

なんだこれ。めっちゃ疲れた……。でも記憶が薄れないうちにブログに残しておきますよ。

どんな会社なの?

物流マネジメントシステムを開発している企業で、社員数は100人以上と、クライストチャーチにあってはかなり大規模な会社です。

世界中に何万人、何十万人とユーザがいるようなリアルタイムシステムを開発しているだけあって、技術力も随一。友人のひとりも選考受けたものの「激ムズであっさり落ちた」とのことで、筆者のような文系エンジニアが受けてなんとかなるところなのか? と不安になるくらい。

筆者の友人がその会社で働いているので、行きは車で乗せてってもらいました。道中、彼に「残業たまにはするんでしょ?」と聞いたら「Never」と即答されたので、間違いなくいい会社なんでしょう。

プログラミング・数学テスト

朝9時30分、ミーティングルームに通されるなり、いきなり筆記テストが始まりました。制限時間は50分。プログラミングは大問2問に小問10問、数学は小問が7問。死ぬ……。それぞれこんな感じでした。(かっこ内は感想)

  • リンクドリストを実装せよ。各ノードの値を先頭及び末尾から順番に表示せよ。(できる)
  • AからZまでの文字を格納したテーブルを定義し、複製し、特定の値以外の行を削除するSQLを記述せよ。(できる)
  • 緯度と経度からなる地点情報を120万個保持するデータベースを考える。特定の地点から3キロ以内の点をすべて取得したい。どのようなデータ構造およびアルゴリズムが有効か簡潔に記述せよ。(なんじゃそりゃああああ)
  • 簡単な行列計算×3問(行列習ってないからパス!)
  • 難しい行列計算(パス!)
  • 2点間の距離を求める問題×2問(かんたん)
  • 北緯16度地点における地球の外周を求めよ。ただし地球は完全な球体であり赤道での外周は4万キロとする(できる)
  • 指定された点が他の2点を通る直線の上に来るか下に来るか(かんたん)

難しくて手が出ないってわけじゃないけど、これ50分で終わらせるの相当大変っすよ……。

1次面接

筆記テストが終わったところで、チームリーダーレベルのエンジニアさんと面接タイム。中国人の男性と女性の二人組でした。

大方の内容は、先ほどのプログラミング/数学テストの答えについてのディスカッションでした。テストで満点をとらなきゃいけないわけではなく、答えを手がかりにして、応募者の論理的思考力やプログラミングの基礎知識を掘り下げようとしている感じ。

事実、問題の答えとしては間違ってるけど、導こうとした答えに対する道筋はあってるからOKというような箇所もありました。

ほか、補足で質問されたのは次の通り。

  • オブジェクト指向プログラミングの特徴は何か? 関数プログラミングとの違いは何か? 部品再利用の実例を示せ。
  • フェイスブックのようなSNSを作る際のテーブル定義を示せ(ユーザ、友達、投稿など)。

あとは簡単に経歴や興味についての質問がありました。ここで印象深かったのがこのやり取り。

筆者「以前勤めていたプロジェクトはひどいデスマーチで……」

インタビュアー「……デスマーチって何?」

デスマーチが通じないのか! と不思議に思いましたがこの疑問はすぐに氷解することになります。

2次面接

続いてはチームマネージャークラスのエンジニアとの面談。さきほどの女性エンジニアの上司で、彼女が「面接したほうがいいよ」と推してくれたそうです。なるほど、さっきの結果がイマイチだとお帰りいただくこともあるんだな……と理解。

ここでは、自分の今までのキャリアや興味関心への質問が多かったですね。取り立ててトリッキーな質問はありませんでした。

終始、筆者のキャリアやスキルに興味をもっていただいたようで、けっこう質問攻めでした。割りとテンションの高めの方で、ちょっとこっちが疲れるくらい、笑

印象に残った発言を2つ書きます。

オンラインのプログラミングテストで、3種類のカッコから成る文字列のシンタックスチェックの課題があったよね。君、スタックを使って解決したでしょ。あれがベストの解答。登場回数を数えて処理しようとする人がけっこういるの」

僕のチームでは一度も休日出勤が発生したことがないんだ。これは自慢だね。我々のサービスは24時間稼働してるから、当然何か障害があったら緊急対応が必要だよ。残業したり徹夜したり。でも僕のところではゼロ。アジャイルがうまく機能しているんだろうね」

このマネージャーさんの話を聞きながら泣きそうでした。

まず、長時間労働当たり前でもおかしくないこの業界にあって、休日出勤ゼロを実現してるだけでスゴイ。小さなサービスの運営ならいざしらず、この会社のシステムのユーザは世界中に何万、何十万の単位でいて、24時間動いてるんです。驚異的としかいいようがありません。平日に数百人が使うだけのシステムの保守で疲弊しているエンジニアもいるというのに……。

先ほどの女性エンジニアがデスマーチを知らなかったのも、身近にデスマーチが存在しないからでは? と推測できます。プログラマの仕事は問題解決ですから、デスマーチを経験すれば解決方法を探すために勉強するもんです。それを知らない = 解決する必要がない = デスマーチが無い。じゃないんでしょうか。

それに、このレベルのエンジニアさんに、自分のプログラミングのアプローチを褒められたのがとてもうれしかった。スタックを使う方法は以前に勉強していたわけではなく、テストの最中に思いついて実装したものだけに、なおさら。文系の出身だし、商業プログラマとしての経験は乏しいし、ほぼほぼ独学でやってきた自分ですが、進んできた道や磨いてきたセンスは決して間違ってはいなかったのかな、と思わされました。

もうここで働きたい欲MAXですよ、マジで。

昼食(!)

なんと選考途中で昼飯が出てきました。まじかよ。。

なんでも、福利厚生の一環としてフリーランチがあるんだとか。毎日外部からシェフが来て料理作ってくれるらしい。すごすぎるだろ。。ちなみに毎週金曜日はピザハットの日なんだってさ。

緊張であんまりお腹が空いてなかったんで、野菜のケバブとグリーンサラダをいただいたら、めっちゃ旨かった。。。

3次面接

続いては、別のマネージャークラスのエンジニアさん2名との面接。モバイルアプリ担当とサーバサイド担当の方でした。

まあ、「さっきもそれ答えたやん」って質問ばかりでしたね。2次面接担当の方にくらべて、この2人はずいぶんもの静かだったので、どれくらい筆者に興味をもっていただけたのかナゾですが……。

まとめ

実際のところ、企業がもとめるレベルは決して低くないぞということがわかる選考内容でした。

自分自身のキャリア、能力からすれば十分健闘したほうだと思います。けっこう面接官の反応は良かったので。これでダメならどうしましょうね。やけ酒でも呑みますか、笑

結果は来週くらいにはっきりするようです。そこそこ期待して待ちつつ、また別の選考への準備開始します!