ソフトウェアエンジニアの就活@アメリカについて、よくコーディング面接がどうのこうの書いてあるのを目にするかもしれない。ハッシュだのソートだの。あんなの都市伝説だと思っていました。今日までは(笑)

今日のtech screeningはコテコテのド定番なトピックのコーディング面接だった。コーディング面接のトピックになるようなものって、仕事じゃあまり実装しない人も多いんじゃないかと思う。

それに、ネット上にはオープンソースとかQ&Aいっぱいあるし、既に関数やらテンプレやら何やらある。普段グーグル先生や優秀な補完機能など使いまくりのぬくぬくした環境でコーディングしてるので、突然テキストエディタでmain()みたいなとこから書くキビシイ環境に放り込まれると、即フリーズです。パソコンじゃなく自分が。

で、何が言いたいかというと、普段からコーディングしてても、コーディング面接の対策が必要ということです。今回学びました(笑)

アルゴリズムはまだその場で頭をフル回転させたら少しはできるけど、教科書の章末問題のようなコーディング問題をさあ書け!と突然言われても無理だった。感じとしては、大学1〜2年でやった数学やら物理の問題(基本的なやつ)を卒業して何年も経ってからやった的な感じに似てる。あれってなんだっけ、こんな感じだっけ…あーもう忘れた!どう見ても自分が書いてるこの式なんかおかしいけど、あーもうわかんね…みたいな(笑)

今日は何年も前の昔の授業や課題のかすかな記憶を手繰り寄せながらなんとかやったけど、本当にボロボロだった(笑)インタビュアーさん時間の無駄してごめんなさい、インタビュー途中で降りたいと何度思ったことか(笑)

ひとくちにソフトウェアエンジニアといっても、ハードウェアやドライバ寄りからアプリケーション寄りからウェブ系からほんといろんな仕事がある。
でもでも!ジョブにソフトウェアエンジニアと名がつくと、コーディング面接がある可能性はけっこうある。実際、なんらかの言語で実装しろと言われることもあれば、疑似コードでアルゴリズムを説明してアルゴリズムレベルの議論になることもある。この辺は面接する人の好み。