Foobarの課題:開発者のためのGoogleの隠されたテスト

あなたはただ自分の机に座って、自分のビジネスを気にかけ、仕事を成し遂げようとしています。次に、必然的に発生するように、マイナーな障害にぶつかります。コードは不可解なエラーメッセージをスローします。

「問題ありません」と思います。これはあなたの最初のロデオではありません。したがって、エラーメッセージをそのままコピーしてGoogleに貼り付け、何が表示されるかを確認します。

運がない。

検索結果はたくさんありますが、実際に役立つ答えを提供するのに十分なほど状況に合ったものはありません。

そして、創造的なグーグルプロセスが始まります。エラーとそれを使用しているコンテキストのいくつかの組み合わせを試します。使用しているライブラリの名前を含めてみます。あなたはあなたが近づいていることを知っています…

6回目の試行で、検索語とヒットリターンの別の組み合わせを試します。ページが読み込まれ、突然ブラウザウィンドウが開いて次のように表示されたときに、結果をざっと読み始めたところです。

「あなたは私たちの言語を話している。挑戦しますか?」

「待って、何?」

「これはどこから来たのですか?」

「グーグルからのある種の挑戦…これは私の検索履歴に基づいていますか?」

コードのバグを完全に忘れています。あなたは今、あなたが自分自身を見つけた奇妙な状況に完全に夢中になっています。そして、これがすでにあるのと同じくらい興味深いことに、あなたは陰謀を増すだけの何かに気づきます。メッセージの横に、最初のボタンに次のように表示されていることがわかります。

"私は遊びたいです"

ああ、これはゲームですか?面白い…

好奇心を克服し、あなたは受け入れます。ブラウザウィンドウの分割がゆっくりと大きくなり、大きな黒い画面が表示され、その後消えていきます。その後、www.google.com / foobar /にリダイレクトされます。黒い画面がフェードインし、テキストが表示されます。Unixシェルのように見えます。

ページの美学(レトロなコンピューターフォント、隠し端末、最新のUIの欠如)と、「007 —あなたの使命、それを受け入れることを選択した場合」と組み合わせたこの体験全体の感触は、あなたが感じたことを感じさせます秘密の世界に引き込まれました。あなたは今完全に夢中になっています。

画面の上部にいくつかのテキストがあります:

「Googleにはコードチャレンジの準備ができています」

そのすぐ下に、SFアドベンチャーの舞台を設定する青みがかったテキストの段落があります。

"成功!あなたはなんとかラムダ司令官の邪悪な組織に潜入し、ついに彼女の宇宙ステーションでミニオンとしてエントリーレベルの地位を獲得しました。ここから、ラムチョップの終末のデバイスを使用してバニープラネットを破壊するという彼女の計画を覆すことができるかもしれません。問題は、ミニオンがラムダ階層の最下位の最下位であるということです。立ち上がって仕事に取り掛かる方がいいです。さもないと、トップに立つことはできません…」

「じゃあ、じゃあ。ですから、ターミナルを探索するか、チャレンジを開始することができるようです…」

あなたの好奇心は再びあなたを良くし、あなたは「私は少し詮索せずにゲームを始めることはできない」と思います。したがって、「ヘルプ」と入力してリターンキーを押します。シェルコマンドのリストがポップアップ表示されます。

"とても興味深い。したがって、ファイルシステムを使用することは明らかです。しかし、これはかなり限られたオプションのリストです。」

リストされていない一般的なコマンドのいずれかが使用可能かどうかを確認することにしたので、簡単なことを試してください。

foobar:~/guest$ pwd

できます!分かりますか:

/home/guest

驚くばかり。

「了解しました。そのホームディレクトリを見てみましょう。そこにはもっと面白いものがあるはずです。」

だからあなたは試してみてください:

foobar:~/guest$ cd ..

そして…

何もありません。

エラーなしで新しい行が表示されますが、pwdもう一度実行すると、確認するだけで、まだ表示され/home/guestます。さて、これはおそらく、あなたが望んでいたイースターエッグでいっぱいに詰まったオープンワールドのUNIXシェルではないでしょう。だからあなたはただ挑戦を続けることにしました。

「リクエスト」という単語を入力して、リターンキーを押します。

これは時間制限のあるチャレンジであり、48時間以内に完了することを警告するプロンプトが表示されます。

"ワオ。わかりました、それで時間です…」

同意して続行します。

よりSFの物語、そしてあなたは呼ばれる何かsolar_doomsdayがあなたのホームフォルダに追加されたのを見るでしょう。したがって、フォルダに移動して開き、4つのファイルを見つけます。

constraints.txtreadme.txtsolution.javasolution.py

Readmeは、開始するのに明白な場所のようです。readmeファイルを開くと、次のように表示されます。

「わかりました」とあなたは思います。「物語を取り除くとき、彼らは私に、与えられた数を合計するすべての平方数(1を含む)のソートされた配列を最大のものから始めて返す関数を書いてほしいと思っています。」かなりクール。

「では、これはGoogleが問題解決能力をテストするために使用する種類の課題ですか?」

「まあ、私はすでにここまで行ってきました。試してみるのもいいかもしれません!」

Foobarチャレンジについて

上記は、GoogleのFoobarチャレンジの説明です。Chromeのイースターエッグの一種で、表面上はGoogleのエンジニアリングチームに新しい才能を調達するために使用されます。 GoogleはFoobarを意味のある方法で認めていないようですが(少なくとも、私が見つけたものではありません)。ただし、プロセスを経た開発者による直接のアカウントがたくさんあり、これがすべてであることが明確になっています。

foob​​arのチャレンジについてユニークなものがあるということ、それが見つかったあなたを。そして、一方的な求人メールやセールステキストメッセージが「あなたを見つける」方法ではありません。検索アクティビティを追跡し、(一見)Googleのエンジニアリング部門の既知のニーズに一致させることであなたを見つけます。さらに、他の点では非常に一定で不変である何かの突然の視覚的な混乱、Google検索結果ページは、本当にあなたを引き込むのに十分不快です-確かにGoogleの資産の非常に巧妙な使用。

Googleが(1)個人的なブラウジングアクティビティと(2)インターネットをブラウジングしているプラ​​ットフォームにアクセスできることを考えると、彼らは本当に直接的で魅力的な方法でどこにいても才能のある人々を捕まえる絶好の機会を持っています。彼らはあなたの検索履歴に基づいてあなたの基本的なスキルレベルと能力の領域を調べようとし、次にこの「ゲーム」で彼らの才能の漏斗に入るようにあなたを誘惑しようとしているようです。面接の招待につながることはありません。

Foobarチャレンジについて最初に言及したのは、2014年のHackerNewsへのこの投稿だったようです。

補足:withgoogle.com

Foobarチャレンジページを表示しているときにdevtoolsを開いてDOMを見ると、ページ全体がiFrameにあり、そのソースは//foobar.withgoogle.com/?eid= ..であることがわかります。これを最初に見たとき、「Withgoogle.com?いったいそれは何ですか?」

繰り返しになりますが、これはFoobarチャレンジのトピック全体を除いたものですが、チャレンジ自体は「withgoogle.com」と呼ばれるGoogleの「サイドプロジェクトドメイン」に存在することがわかりました。これを少し掘り下げると、他の非常に興味深いプロジェクトがいくつか見つかります。これが私が出くわしたほんの数例です:

紙信号、Quickdraw、CSFirst、QiblaFinder、AIYProjects、ScienceJournal