[Перевод] The Foobar challenge: секретный тест Google для разработчиков

image

Вы просто сидите за своим столом, занимаясь своими делами, пытаясь выполнить какую-то работу. Затем, как это неизбежно происходит, вы сталкиваетесь с незначительным препятствием: ваш код выдает загадочное сообщение об ошибке.

«Нет проблем», как вы думаете. Это не ваше первое родео. Таким образом, вы копируете и вставляете дословно сообщение об ошибке в Google и смотрите, что вы получаете.

Неудача.

Есть много результатов поиска, но ни один из них не подходит для вашей ситуации достаточно близко, чтобы действительно дать полезный ответ.

И вот начинается творческий процесс поиска в Google. Вы пробуете несколько комбинаций ошибки + контекст, в котором вы ее используете. Вы пытаетесь указать название используемой вами библиотеки. Вы знаете, что становитесь ближе…

EDISON Software - web-development
Пост написан при поддержке компании EDISON Software, которая разрабатывает софт для банков, а так же занимается автоматизацией измерений и экспертными системами.

Теперь, выполнив шестую попытку, вы попробуйте другую комбинацию поисковых терминов и нажмете клавишу поиска. Страница загружается, и только вы начали просматривать результаты, когда вдруг окно вашего браузера разрывается, и вы видите это:

image

«Вы говорите на нашем языке. Готов к испытанию?»


«Подожди, что?»

«Откуда это взялось?»

«Какой-то вызов от Google… Это основано на моей истории поиска?»

Вы полностью забываете об ошибке в своем коде. Теперь вы полностью поглощены странной ситуацией, в которой вы оказались. И, как бы это не было интересно, вы замечаете что-то, что только добавляет интригу. Рядом с сообщением вы видите, что первая кнопка говорит:

«Я хочу играть»


О, так это игра? Интересно…

Подвергаясь любопытству, вы принимаете. Раскол в окне вашего браузера медленно увеличивается, показывая большой черный экран, который затем исчезает. Затем вы будете перенаправлены на сайт www.google.com/foobar/. Появляется черный экран и появляется текст. Это похоже на оболочку Unix.

Эстетичность страницы (ретро компьютерный шрифт, скрытый терминал, отсутствие современного пользовательского интерфейса) в сочетании с »007 — Ваша миссия, если вы решите принять ее», ощущение всего этого опыта заставляет вас чувствовать, что вы втянут в тайный мир. Вы теперь полностью поглощены.

В верхней части экрана есть текст:

«У Google есть код-челендж, приготовленный для тебя»


Чуть ниже есть параграф синеватого текста, который готовит почву для фантастического приключения:

«Успех! Вам удалось проникнуть в злую организацию Командора Лямбды и, наконец, заработать себе должность начального уровня в качестве Миньона на ее космической станции. Отсюда, вы просто можете разрушить ее планы используя устройство конца света LAMBCHOP, чтобы уничтожить Планету Банни. Проблема в том, что миньоны — это самый низкий из минимумов в иерархии Lambda. Лучше встряхнись и приступай к работе, иначе ты никогда не доберешься до вершины… »

image

«Ладно. Похоже, я могу либо исследовать терминал, либо начать испытание …»

Ваше любопытство снова побеждает вас, и вы думаете: «Я не могу просто начать игру, не исследовав немного». Таким образом, вы набираете «help» и нажимаете клавишу. Появится список команд оболочки.

image

«Очень интересно. Итак, мы явно будем работать с файловой системой. Но это довольно ограниченный список вариантов».

Вы решаете проверить, доступны ли какие-либо из общих команд, поэтому попробуйте что-нибудь простое:

foobar:~/guest$ pwd

Оно работает! Ты видишь:

/home/guest

Потрясающие.

«Хорошо, давайте посмотрим на этот домашний каталог. Там наверняка будет еще кое-что интересное»

Итак, вы попробуйте:

foobar:~/guest$ cd ..

Иии…

Ничего такого.

Вы получаете новую строку без ошибок, но когда вы снова запускаете pwd, просто для проверки вы все равно видите /home/guest. Хорошо, так что, вероятно, это не оболочка Unix с открытым миром, переполненная пасхальными яйцами, как вы надеялись. Таким образом, вы решили просто продолжить вызов.

Вы вводите слово «request» и нажимаете клавишу вперед.

Появится приглашение, предупреждающее вас о том, что это временное задание, и у вас будет 48 часов на его выполнение.

«Вот это да. Хорошо, оно рассчитанное по времени…»

Вы соглашаетесь и продолжаете.

image

Больше научной фантастики, и тогда вы увидите, что что-то под названием solar_doomsday было добавлено в вашу домашнюю папку. Итак, вы переходите к папке, открываете ее и находите четыре файла:

constraints.txt
readme.txt
solution.java
solution.py

Readme кажется очевидным местом для начала. Вы открываете файл readme и видите следующее:

image

«Хорошо», думаете вы когда прошлись по повествованию, «они хотят, чтобы вы написали функцию, которая возвращает отсортированный массив всех квадратных чисел (включая 1), которые складываются в заданное число, начиная с самого большого». Довольно круто,

«Значит, именно такой челендж Google использует для проверки способности решать задачи?»

«Ну, я уже зашел так далеко. Можно попробовать!

О челендже Foobar


Выше приведено описание Google Foobar challenge: своего рода пасхальное яйцо в Chrome, которое якобы используется для поиска новых талантов для команды инженеров Google; хотя Google, похоже, не признал Foobar каким-либо значимым образом (по крайней мере, я не нашел). Однако разработчиков, которые прошли через этот процесс, достаточно много, чтобы прояснить в чем суть.

Уникальная особенность челенджа Foobar в том, что он находит вас. И не так, как нежелательное текстовое сообщение о наборе персонала или текстовое сообщение о продажах «находит вас». Он находит вас, отслеживая вашу поисковую активность и (по-видимому) сопоставляя ее с известными потребностями в инженерных отделах Google. Кроме того, внезапное визуальное нарушение чего-то, что является настолько постоянным и неизменным, на странице результатов поиска Google, достаточно резкое, чтобы действительно привлечь вас — безусловно, очень умное использование активов Google.

Учитывая доступ Google (1) к вашей личной активности в Интернете и (2) платформе, на которой вы просматриваете Интернет, у них действительно есть прекрасная возможность поймать талантливых людей, где бы они ни находились, по-настоящему прямым и интересным способом. Похоже, они пытаются выяснить ваш базовый уровень навыков и области компетенции на основе вашей истории поиска, а затем пытаются привлечь вас к участию в их воронке талантов с помощью этой «игры», которая, в случае успешного завершения, может или не может приводит к приглашению на собеседование.

Первое упоминание о челендже Foobar, похоже, было в этом посте на HackerNews еще в 2014 году.

Примечание: withgoogle.com


Когда вы находитесь на странице Foobar, если вы откроете devtools и посмотрите на DOM, вы увидите, что вся страница находится в iFrame, источник которого: https://foobar.withgoogle.com/? eid=… Когда я впервые увидел это, я подумал: «Withgoogle.com? Что это такое?

Опять же, это всего лишь отдельная тема всего челенджа Foobar, но выясняется, что сама задача живет в «стороннем проекте Google», который называется «withgoogle.com». Если вы немного покопаетесь в нем, вы найдете несколько других довольно интересных проектов. Вот лишь некоторые из них, с которыми я столкнулся:
Paper Signals, Quickdraw, CSFirst, QiblaFinder, AIYProjects, ScienceJournal

© Habrahabr.ru