[Перевод] The Foobar challenge: секретный тест Google для разработчиков
Вы просто сидите за своим столом, занимаясь своими делами, пытаясь выполнить какую-то работу. Затем, как это неизбежно происходит, вы сталкиваетесь с незначительным препятствием: ваш код выдает загадочное сообщение об ошибке.
«Нет проблем», как вы думаете. Это не ваше первое родео. Таким образом, вы копируете и вставляете дословно сообщение об ошибке в Google и смотрите, что вы получаете.
Неудача.
Есть много результатов поиска, но ни один из них не подходит для вашей ситуации достаточно близко, чтобы действительно дать полезный ответ.
И вот начинается творческий процесс поиска в Google. Вы пробуете несколько комбинаций ошибки + контекст, в котором вы ее используете. Вы пытаетесь указать название используемой вами библиотеки. Вы знаете, что становитесь ближе…
Пост написан при поддержке компании EDISON Software, которая разрабатывает софт для банков, а так же занимается автоматизацией измерений и экспертными системами.
Теперь, выполнив шестую попытку, вы попробуйте другую комбинацию поисковых терминов и нажмете клавишу поиска. Страница загружается, и только вы начали просматривать результаты, когда вдруг окно вашего браузера разрывается, и вы видите это:
«Вы говорите на нашем языке. Готов к испытанию?»
«Подожди, что?»
«Откуда это взялось?»
«Какой-то вызов от Google… Это основано на моей истории поиска?»
Вы полностью забываете об ошибке в своем коде. Теперь вы полностью поглощены странной ситуацией, в которой вы оказались. И, как бы это не было интересно, вы замечаете что-то, что только добавляет интригу. Рядом с сообщением вы видите, что первая кнопка говорит:
«Я хочу играть»
О, так это игра? Интересно…
Подвергаясь любопытству, вы принимаете. Раскол в окне вашего браузера медленно увеличивается, показывая большой черный экран, который затем исчезает. Затем вы будете перенаправлены на сайт www.google.com/foobar/. Появляется черный экран и появляется текст. Это похоже на оболочку Unix.
Эстетичность страницы (ретро компьютерный шрифт, скрытый терминал, отсутствие современного пользовательского интерфейса) в сочетании с »007 — Ваша миссия, если вы решите принять ее», ощущение всего этого опыта заставляет вас чувствовать, что вы втянут в тайный мир. Вы теперь полностью поглощены.
В верхней части экрана есть текст:
«У Google есть код-челендж, приготовленный для тебя»
Чуть ниже есть параграф синеватого текста, который готовит почву для фантастического приключения:
«Успех! Вам удалось проникнуть в злую организацию Командора Лямбды и, наконец, заработать себе должность начального уровня в качестве Миньона на ее космической станции. Отсюда, вы просто можете разрушить ее планы используя устройство конца света LAMBCHOP, чтобы уничтожить Планету Банни. Проблема в том, что миньоны — это самый низкий из минимумов в иерархии Lambda. Лучше встряхнись и приступай к работе, иначе ты никогда не доберешься до вершины… »
«Ладно. Похоже, я могу либо исследовать терминал, либо начать испытание …»
Ваше любопытство снова побеждает вас, и вы думаете: «Я не могу просто начать игру, не исследовав немного». Таким образом, вы набираете «help» и нажимаете клавишу. Появится список команд оболочки.
«Очень интересно. Итак, мы явно будем работать с файловой системой. Но это довольно ограниченный список вариантов».
Вы решаете проверить, доступны ли какие-либо из общих команд, поэтому попробуйте что-нибудь простое:
foobar:~/guest$ pwd
Оно работает! Ты видишь:
/home/guest
Потрясающие.
«Хорошо, давайте посмотрим на этот домашний каталог. Там наверняка будет еще кое-что интересное»
Итак, вы попробуйте:
foobar:~/guest$ cd ..
Иии…
Ничего такого.
Вы получаете новую строку без ошибок, но когда вы снова запускаете pwd
, просто для проверки вы все равно видите /home/guest
. Хорошо, так что, вероятно, это не оболочка Unix с открытым миром, переполненная пасхальными яйцами, как вы надеялись. Таким образом, вы решили просто продолжить вызов.
Вы вводите слово «request» и нажимаете клавишу вперед.
Появится приглашение, предупреждающее вас о том, что это временное задание, и у вас будет 48 часов на его выполнение.
«Вот это да. Хорошо, оно рассчитанное по времени…»
Вы соглашаетесь и продолжаете.
Больше научной фантастики, и тогда вы увидите, что что-то под названием solar_doomsday
было добавлено в вашу домашнюю папку. Итак, вы переходите к папке, открываете ее и находите четыре файла:
constraints.txt
readme.txt
solution.java
solution.py
Readme кажется очевидным местом для начала. Вы открываете файл readme и видите следующее:
«Хорошо», думаете вы когда прошлись по повествованию, «они хотят, чтобы вы написали функцию, которая возвращает отсортированный массив всех квадратных чисел (включая 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