- PVSM.RU - https://www.pvsm.ru -

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

image

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

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

Неудача.

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

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

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

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

image

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

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

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

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

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

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

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

Подвергаясь любопытству, вы принимаете. Раскол в окне вашего браузера медленно увеличивается, показывая большой черный экран, который затем исчезает. Затем вы будете перенаправлены на сайт www.google.com/foobar/ [4]. Появляется черный экран и появляется текст. Это похоже на оболочку 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, похоже, было в этом посте [5] на HackerNews еще в 2014 году.

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

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

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

Автор: rishat_edison

Источник [13]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/304668

Ссылки в тексте:

[1] Image: https://www.edsd.com/

[2] разрабатывает софт для банков: https://www.edsd.com/bank-notification-service-for-smartphones

[3] занимается автоматизацией измерений и экспертными системами: https://www.edsd.com/portfolio/measurement-automation

[4] www.google.com/foobar/: http://www.google.com/foobar/?eid=...

[5] в этом посте: https://news.ycombinator.com/item?id=8588080

[6] https://foobar.withgoogle.com/?eid=...: https://foobar.withgoogle.com/?eid=...

[7] Paper Signals: https://papersignals.withgoogle.com/

[8] Quickdraw: https://quickdraw.withgoogle.com/

[9] CSFirst: https://csfirst.withgoogle.com/

[10] QiblaFinder: https://qiblafinder.withgoogle.com/

[11] AIYProjects: https://aiyprojects.withgoogle.com/

[12] ScienceJournal: https://sciencejournal.withgoogle.com/

[13] Источник: https://habr.com/post/433104/?utm_campaign=433104