Amazonの面接体験記を読みました

広告

それらについての感想。

ガセネタっぽいもの

SahibさんがAmazonの2度目の面接試験を受けたのはソフトウェア開発エンジニアとして応募した時のもの。試験はオンライン上で試験監督を行うサービス・ProctorUを介して行われました。まずSahibさんがいくつかのソフトウェアをインストールして試験を受ける準備を終えると、試験監督がSahibさんのPCをリモートで監督下に置きました。このとき、監督にPCの全コントロール権を握られたことについて、Sahibさんはその場では何とも思わなかったものの「他人が目の前の画面のソフトを次々と終了させていく様子は、人によっては恐怖感を覚えるものです」と記しています。

次に試験監督が行ったのはウェブカメラを通しての室内のチェック。「あなたが試験中に書き取りをするような道具を隠していないか確認するので、机を片付けてください」と言われたSahibさんは「では、試験はベッドで受けることにしますよ」と冗談めかしましたが、監督に「わかりました。では道具を隠していないかシーツをはがして見せてください」と返されました。さらに「当然ですが紙とペンは使えません。携帯電話もあなたの後ろ、私が確認できるところに置いてください」と言われたとのこと。

Amazonで面接を受けるとこんなことが起こる、という体験レポート

少なくとも私のときはこんなアホな指示はされなかったし、意味ないと思うのですよ。仮想マシンの中のOSにそのヘンテコなソフトを入れればたぶん問題は回避できます。仮想マシンを検出する機能が入ってるかも知れないけど、仮想マシンの中ならどれだけ暴れられても外側には影響はありません。使用が制限されている機能も仮想マシンの外なら使い放題です。なので二重の意味(自分の経験ではそんなことなかった、エンジニア相手にそんな馬鹿なことしても意味ない)で眉唾かな。

本当っぽいもの

Amazonのソフトウェアエンジニア面接」は自分の経験とほぼ一致しています。HackerRankは使わなかったものの、リクルーターから送られてくる資料とかSTARメソッドで予習しておくようにという指示とかほぼ重なります。なので、これはオンサイトで何が起こるか準備するには有用だと思います。

アマゾンの面接を受けてきました」も本当っぽいですね。2014年なので今と変わっている可能性も高いけど、だいたいどのように話が進むかはここから役に立つ情報が得られそうです。

「整数を文字列にして返す関数を書いてください」はどうするのでしょうね。まず整数に負の数は含むかとか質問すると思います。多分含むでしょう。その場合はboolで負の数かどうか記録して、abs()するのかな。で、10で割った余りを1文字ずつ文字になおして最後に反転させれば数値になります。反転が必要というのがちょっと格好悪いのでもう少し格好いい方法があればいいのですが。スタックにでも突っ込んで取り出せば勝手に反転されます。最後に正負の符号をつけて終わり。

「ソートしてある2つのリストを結合する関数を書いてください」はどういう意図なのでしょうか。ソート済みということは結合後もソート済みである必要があるのでしょうか。そのあたりを確認して、マージソートの結合部分よろしく2つのリストの先頭から小さい(大きい)ほうを取り出して新しいリストに入れていくのかも知れないし、片方のリストの尻尾にくっつけるのかもしれないし。リストがlinked listなら単に片方のリストの最後のポインタを2つ目のリストの先頭にすればいいので簡単すぎてたぶんそういう意図ではないと思います。