Виклик Foobar: прихований тест Google для розробників

Ви просто сидите за письмовим столом, займаючись власною справою, намагаючись виконати якусь роботу. Потім, як неминуче трапляється, ви потрапляєте на незначний блокпост: ваш код видає загадкове повідомлення про помилку.

“Без проблем”, на вашу думку. Це не ваше перше родео. Тож ви дослівно копіюєте та вставляєте повідомлення про помилку в Google і бачите, що ви отримаєте.

Не вдалося.

Результатів пошуку досить багато, але жоден з них не відповідає вашій ситуації настільки, щоб дійсно надати корисну відповідь.

І ось починається творчий процес гуглиння. Ви спробуєте кілька комбінацій помилки + контекст, в якому ви її використовуєте. Спробуйте включити назву бібліотеки, яку ви використовуєте. Ви знаєте, що наближаєтесь ...

Тепер із шостої спроби ви спробуєте іншу комбінацію пошукових термінів і натиснете return. Сторінка завантажується, і ви тільки що почали переглядати результати, коли раптом вікно браузера розкривається, і ви бачите таке:

“Ви говорите на нашій мові. Готовий до виклику? "

"Чекати, що?"

"Звідки це взялося?"

"Якийсь виклик від Google ... Це базується на моїй історії пошуку?"

Ви повністю забуваєте про помилку у коді. Ви зараз повністю поглинуті химерною ситуацією, в якій опинилися. І, наскільки це все вже цікаво, ви помічаєте щось, що лише додає інтриги. Поряд із повідомленням ви бачите, що на першій кнопці написано:

"Я хочу грати"

О, так це гра ? Цікаво ...

Долайте з цікавістю, ви приймаєте. Розкол у вікні браузера повільно зростає, відкриваючи великий чорний екран, який потім зникає. Потім вас переспрямовують на www.google.com/foobar/. Чорний екран зникає і з'являється деякий текст. Це схоже на оболонку Unix.

Естетичність сторінки (ретро-комп’ютерний шрифт, прихований термінал, відсутність сучасного інтерфейсу користувача) у поєднанні з відчуттям «007 - Ваша місія, якщо ти вирішиш прийняти це», викликає у тебе відчуття, що ти були втягнуті в таємний світ. Ви тепер повністю поглинуті.

У верхній частині екрана є текст:

"Google готовий до випробування коду"

Трохи внизу є абзац із синюватим текстом, який створює основу для науково-фантастичної пригоди:

«Успіху! Вам вдалося проникнути в злу організацію командира Лямбди і, нарешті, завоювали собі посаду міньйона початкового рівня на її космічній станції. Звідси ви, можливо, зможете зруйнувати її плани використання пристрою LAMBCHOP для кінця дня для знищення Зайкової планети. Проблема в тому, що Міньйони є найнижчим із найнижчих в ієрархії Лямбди. Краще зійдіть і починайте працювати, інакше ви ніколи не досягнете вершини ... "

"Тоді добре. Тож, схоже, я можу або дослідити термінал, або розпочати виклик ... "

Ваша допитливість знову покращує вас, і ви думаєте: "Я не можу просто розпочати гру, не трохи підглядаючи". Отже, ви вводите “help” і натискаєте return. Спливає список команд оболонки.

"Дуже цікаво. Отже, ми явно будемо працювати з файловою системою. Але це досить обмежений перелік варіантів ".

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

foobar:~/guest$ pwd

Це працює! Розумієш:

/home/guest

Приголомшливо

«Добре, давайте подивимось на цей домашній каталог. Там обов’язково буде ще щось цікаве »

Отже, ви намагаєтесь:

foobar:~/guest$ cd ..

І ...

Нічого.

Ви отримуєте новий рядок без помилок, але при pwdповторному запуску , просто для перевірки, ви все одно бачите /home/guest. Гаразд, отже, ця річ, мабуть, не відкрита оболонка Unix, завалена великодніми яйцями, на яку ви сподівались. Тож ви вирішили просто продовжувати виклик.

Ви вводите слово “запит” і натискаєте return.

З’явиться підказка, яка попереджає вас про те, що це заплановане завдання, і ви матимете 48 годин, щоб виконати його.

"Ого. Гаразд, так це приурочено ... "

Ви погоджуєтесь і продовжуєте.

Більше науково-фантастичного оповідання, і тоді ви бачите, що щось, що називається, solar_doomsdayбуло додано до вашої домашньої папки. Отже, ви переходите до папки, відкриваєте її та знаходите чотири файли:

constraints.txtreadme.txtsolution.javasolution.py

Readme здається очевидним місцем для початку. Ви відкриваєте файл readme і бачите таке:

"Гаразд", ви думаєте, "коли ви знімаєте розповідь, вони хочуть, щоб я написав функцію, яка повертає відсортований масив усіх квадратних чисел (включаючи 1), які складаються до заданого числа, починаючи з найбільшого". Дуже здорово.

"Тож це такий виклик, який Google використовує для перевірки здатності вирішувати проблеми?"

- Ну, я вже зайшов так далеко. Можна також спробувати! "

Про виклик Foobar

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

Унікальність виклику Foobar полягає в тому, що він знаходить вас . І не таким чином, щоб небажаний вербувальний електронний лист або текстове повідомлення про продаж «знайшов вас». Він знаходить вас, відстежуючи вашу пошукову активність і (мабуть) узгоджуючи її з відомими потребами в інженерних підрозділах Google. Більше того, раптові візуальні порушення чогось, що в іншому випадку є настільки постійним і незмінним, сторінки результатів пошуку Google, достатньо неприємні, щоб насправді залучити вас - безумовно, дуже розумне використання активів Google.

З огляду на доступ Google до (1) вашої особистої активності в браузері та (2) платформи, на якій ви переглядаєте Інтернет, вони дійсно мають прекрасну можливість зачепити талановитих людей незалежно від того, де вони перебувають, по-справжньому прямим та цікавим способом. Здається, вони намагаються оцінити ваш базовий рівень кваліфікації та область (и) компетенції на основі вашої історії пошуку, а потім намагаються залучити вас до участі у їхній послідовності талантів за допомогою цієї "гри", яка, якщо її успішно завершити, може або може не вести до запрошення на співбесіду.

Здається, перша згадка про виклик Foobar - це публікація на HackerNews ще в 2014 році.

Примітка: withgoogle.com

Перейшовши на сторінку виклику Foobar, якщо ви відкриєте devtools і подивитесь на DOM, ви побачите, що вся сторінка знаходиться в iFrame, джерелом якого є: //foobar.withgoogle.com/?eid = ... Коли я вперше побачив це, я подумав: “Withgoogle.com? Що це на землі? "

Знову ж таки, це загалом, окрім усієї теми виклику Foobar, але виявляється, що сам виклик живе в "домені побічного проекту" Google під назвою "withgoogle.com". Якщо ви трохи поринете в це, то знайдете кілька інших досить цікавих проектів. Ось лише декілька, з якими я зіткнувся:

Паперові сигнали, Quickdraw, CSFirst, QiblaFinder, AIYProjects, ScienceJournal