Как известно, ведущие IT-корпорации стремятся заполучить к себе лучших сотрудников. Конкурс достигает нескольких сотен человек на место. Как отобрать среди них действительно лучших? Ведь средний балл аттестата и хорошее резюме не могут точно отразить интеллектуальный потенциал программиста. Один из вариантов - задавать нестандартные задачки, например, сколько мячиков для гольфа помещается в школьный автобус или как измерить вес "Боинга-747".
Мы уже приводили примеры таких задачек (см. "КВ" №21/2007). Теперь, благодаря журналу Business 2.0 и опрошенным им хедхантерам, стали известны ещё несколько таких задач.
У эйчара Microsoft любимая задачка - про форму люка. "Какой должна быть идеальная форма люка, чтобы крышка не проваливалась внутрь?" По его словам, чаще всего кандидаты высказывают мысль, что люк не может быть квадратным, потому что тогда крышка может провалиться внутрь по диагонали. Другие говорят, что круглые крышки дешевле, потому что на них уходит меньше материала. Для эйчара важно, как именно кандидаты аргументируют свой ответ.
Дело в том, что эрудированные программисты на многие вопросы заранее знают ответы, поэтому склонны проявлять свою эрудицию. Но на собеседовании эйчару это не нужно. Он хочет задать такой вопрос, на который ответ не известен, чтобы проверить, как программист производит вычисления, как он подходит к решению задачи. Вот почему, например, на собеседовании в Amazon.com спрашивают, "как много заправочных станций существует в США?" или "сколько стоит помыть все окна в Сиэтле?".
Естественно, от кандидата требуют ответ максимально быстро. Он должен рассуждать и решать задачу прямо на глазах у экзаменатора.
Есть и чисто креативные задачи. Гуру программирования Брюс Эккель любит предлагать кандидатам описать цыпленка на языке программирования. Наверняка, простого кодера такое предложение повергнет в ступор. Но настоящий программист может решить математическими методами абсолютно любую задачу.
Другая задачка от Эккеля. "У вас есть пять пиратов, упорядоченных от 5 до 1 в убывающем порядке. Главный пират имеет право предложить, как распределить 100 золотых монет между всеми. Но остальные потом голосуют за этот план, и если меньше половины пиратов соглашаются с ним, то его убивают. Как пират должен распределить золото, чтобы максимально увеличить свою долю, но выжить при этом?" (Подсказка: один пират заканчивает дележку с 98% золота).
Эксперты признают, что по изобретательности задач никто не может сравниться с компанией Google. Там головоломки возведены в абсолют. Достаточно вспомнить, как три года назад компания Google разместила одну из математических задач на огромном плакате на калифорнийском шоссе. Каждый, кто решил задачу, приглашался на специальный сайт - в задаче был зашифрован URL - на котором была опубликована еще более сложная головоломка. Самые умные могли смело отправлять резюме в Google.
Но на этом приключения кандидатов не заканчивались, потому что на собеседовании в Google на них обязательно обрушивали целый ряд новых головоломок. Вот одна из самых популярных. "Вас уменьшили до размера монетки и ваша масса пропорционально уменьшена, так что вы сохранили первоначальную плотность. Потом вас бросили в пустой стеклянный блендер. Лезвия начнут двигаться через 60 секунд. Что вы будете делать?"
Напоследок несколько задач с примерами решения.
Сколько мячиков для гольфа помещается в школьный автобус?
Примерно 500 000, если предположить, что высота автобуса - 50 мячиков, ширина - 50 мячиков, а длина - 200 мячиков.
Вас уменьшили и бросили в блендер, который включится через 60 секунд. Что вы будете делать?
Несколько вариантов:
- Использовать измерительные деления, чтобы выбраться.
- Попробовать вывинтить стекло.
- Рискнуть подняться на воздушной струе.
Сколько стоит помыть все окна в Сиэтле?
Если оценить количество кварталов в 10 000 и 600 окон на квартал, пять минут на окно по известной ставке $20 в час, то это стоит примерно $10 млн.
Анатолий АЛИЗАР