Предизвикателството Foobar: скритият тест на Google за разработчици

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

"Няма проблем", мислите. Това не е първото ви родео. Така че копирате и поставяте съобщението за грешка дословно в Google и виждате какво получавате.

Без късмет.

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

И така започва творческият процес на Googling. Опитвате няколко комбинации от грешката + контекста, в който я използвате. Опитвате се да включите името на библиотеката, която използвате. Знаеш, че се приближаваш ...

Сега при шестия си опит пробвате друга комбинация от думи за търсене и натиснете return. Страницата се зарежда и току-що сте започнали да преглеждате резултатите, когато внезапно прозорецът на браузъра ви се отвори и видите това:

„Говорите на нашия език. Готови ли сте за предизвикателство? "

"Чакаме какво?"

„Откъде дойде това?“

„Някакво предизвикателство от Google ... Това основава ли се на историята ми на търсене?“

Изцяло забравяте за грешката във вашия код. Вече сте изцяло погълнати от странната ситуация, в която сте попаднали. И колкото и да е интересно всичко това, забелязвате нещо, което само добавя към интригата. До съобщението виждате, че първият бутон казва:

"Искам да играя"

О, значи това е игра ? Интересно ...

Победете с любопитство, вие приемате. Разделянето в прозореца на браузъра ви бавно нараства, за да разкрие голям черен екран, който след това изчезва. След това ще бъдете пренасочени към www.google.com/foobar/. Черен екран избледнява и се появява текст. Прилича на черупка на Unix.

Естетиката на страницата (ретро компютърният шрифт, скритият терминал, липсата на модерен потребителски интерфейс), комбинирана с усещането „007 - Вашата мисия, ако решите да я приемете“, от цялото това преживяване ви кара да се чувствате така, сякаш сте са привлечени в таен свят. Вече сте напълно увлечени.

В горната част на екрана има малко текст:

„Google е подготвил код за вас“

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

„Успех! Успяхте да проникнете в злата организация на командира Ламбда и накрая си спечелихте начална позиция като миньон на нейната космическа станция. Оттук нататък може би ще успеете да подкопаете плановете й да използва устройството LAMBCHOP за крайния ден, за да унищожи Bunny Planet. Проблемът е, че миньоните са най-ниските от ниските в йерархията на Ламбда. По-добре спечелете и започнете да работите, иначе никога няма да стигнете до върха ... ”

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

Любопитството ви отново се възползва от вас и вие си мислите „Не мога просто да започна играта, без да се подслушвам малко“. Така че напишете „help“ и натиснете return. Изскача списък с команди на черупки.

"Много интересно. Така че очевидно ще работим с файлова система. Но това е доста ограничен списък с опции. "

Вие решавате да видите дали някоя от скритите често срещани команди е налична, така че опитайте нещо просто:

foobar:~/guest$ pwd

Работи! Ще видиш:

/home/guest

Страхотно.

„Добре, нека да разгледаме тази домашна директория. Там непременно ще има още интересни неща ”

Затова опитайте:

foobar:~/guest$ cd ..

И…

Нищо.

Получавате нов ред без грешка, но когато стартирате pwdотново, само за да проверите, все още виждате /home/guest. Добре, така че това нещо вероятно не е черупката на отворения свят, пълна с великденски яйца, каквато се надявахте. Така че решавате просто да продължите с предизвикателството.

Въвеждате думата „заявка“ и натискате 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