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