• Онлайн: 2
Интеры
Иногда встречаются задачки, которые я решил назвать «Интеры». Почему Интеры? Потому что они:
- интересные
- связаны с интернетом
- являются своеобразной «прелюдией» к собеседованию при приёме на работу (интервью)
А так вообще-то это самые, что ни на есть, настоящие веболомки :)
Отгадай чит код
Интересная и довольно простая задачка от Яндекса. Простая для тех, кто знаком с регулярными выражениями. На самом деле не каждый даже опытный и великовозрастный программист встречался, а тем более разобрался и активно применяет в повседневной жизни регулярки. Поэтому задача может показаться лёгкой для школяра, который только-только прослушал урок о регэкспах и совсем не по зубам гуру-программисту (хотя не, настоящий гуру просто обязан знать регулярки).
Головоломка составлена таким образом, что сверху/снизу/справа/слева регулярками заданы условия выбора подходящих символов. Пересечение этих условий оставляет один единственный символ, который и надо вписать в ячейке.
Самое правое условие говорит нам, что всего должно быть 14 символов, и они должны быть из диапазона заглавных латинских букв от A до Y, либо строчных от a до v, цифр от 0 до 4 или символом подчёркивания. Ячеек всего 14, значит как раз по одному символу в ячейке.
- 1) Условие слева говорит, что это один из символов m, или a, или i, или n. Условие снизу \w – что это любая цифра, буква или знак подчёркивания, а условие сверху – что это символ из диапазона от a до g. Символы m, i и n находятся вне диапазона a-g, значит нам подходит только символ «a».
- 2) Согласно левому условию это символ j, а согласно верхнему - он один единственный и есть.
- Далее левое условие говорит, что идут какие-то 8 символов. Они определяются только верхними и нижними условиями.
- 3) Наборы [LINE] и [CLASS] дают в пересечении символ «L».
- 4) Наборы [main] и [break] дают в пересечении символ «a».
- 5) [^\w]{0} - это пустое множество, значит остаётся только символ «_».
- 6) Один из символов (Q или N) и при этом (A или B или Q) дадут на пересечении «Q», остальное отпадает.
- 7) [YOU] и [YANDEX] дают «Y».
- 8) [O-S] и [QUICK] дают снова «Q».
- 9) [data] и [index] дают «d».
- 10) \d говорит нам, что должна быть цифра, {0} – что предыдущий набор нужно полностью исключить, но вот в самом исключённом наборе мы видим «подсказку» 2+2; получаем «4».
- 11-14) 8 символов прошли. Нам осталось вычислить 4 символа. Условия слева предлагают нам всего два четырёхсимвольных варианта - либо CR+vA, либо L+KLm. Верхнее условие на 11 ячейке символ «L» не допускает, а значит выбираем CRvA. На всякий случай можно проверить, удовлетворяются ли остальные условия. Удовлетворяются. В любом случае других вариантов нет :) Всё, задачка решена. Переходим на получившийся урл и видим картинку (фразу я спрятал на всякий случай, и урл не пишу, ну хоть что-то сделайте сами, если хотите 1 балл заработать ):
Гугло-квест
Похожий подход в поиске урла применили hr-щики гугла. Здесь тоже нужно было отгадать (рассчитать) нужное число, чтобы попасть на сайт с предложением о работе.
О том, как решать эту задачу, я всё же сделал отдельную страничку: Как я проходил квест от Гугла.