Не так давно я занялся поисками работы на должность web-программиста. Скажу сразу, что мой опыт работы в этой области составляет 2 года. Я просмотрел все имеющиеся вакансии в интернете, разослал свое резюме.

Ответ не заставил себя долго ждать, уже через 2 дня меня пригласили на собеседование.
В вакансии от соискателя требовался стандартный набор навыков:

  • PHP
  • MySQL
  • JavaScript
  • ООП

Думаю каждый web-разработчик обладает этими навыками. Однако времени на подготовку и повторение всего того, что я знаю, у меня совсем не было, да и на первое собеседование я шел скорее с целью "разведать обстановку" — какие вопросы на собеседованиях сейчас задают я совершенно не знал.

Интерес к этой вакансии у меня был огромный - в описании к ней было указано, что компания работает в игровой индустрии и производит различные MMORPG и flash игры, а к играм я с детства неравнодушен.

Добираясь до офиса я прокручивал у себя в голове все возможные вопросы, которые мне могут задать. Мысленно я для себя готовил ответы на различные вопросы, связанные с тем, что было перечислено в вакансии.

Придя в офис, меня сразу же направили к старшему программисту, который должен был проводить со мной собеседование. Усадили меня прямо за его столом и сказали немного подождать. Когда он пришел, то к моему удивлению предложил мне 2 задачи на логику и дал 10 минут на их решение.

Привожу эти задачи с собеседования.

  1. В стакан положили бактерии. Каждую секунду бактерии увеличиваются в 2 раза. Известно, что стакан заполняется полностью за минуту. За какое время стакан наполнится наполовину?
  2. Представьте себе, что земной шар обмотали веревкой по экватору. Потом веревку увеличили на 1 метр и расположили так, что любая точка экватора равноудалена от веревки. Сможет ли между веревками пролезть мышь?

Вообще в школе и в университете у меня с математикой проблем не было, поэтому не думал, что задачи вызовут какие-то проблемы. Однако, за отведенное время я их не решил.

По моему 10 минут — это слишком мало для таких задач, тем более на собеседовании, где человек в любом случае волнуется.

Понятно, что это задачи с подвохом на проверку сообразительности и работодатель тем самым хочет отсеить простых кодировщиков, которые программируют не думая ни о каких алгоритмах. К кодировщикам я себя не отношу.

Придя домой, я решил их и потратил на поиски решения примерно час.

Первая задача очень понравилась, к ней как бы надо подойти с особой стороны.
Вторая — это просто обычная математика, решается применением всем известных формул.
Понятно, что собеседование я не прошел, хотя на вопросы, связанные с программированием отвечал довольно неплохо.

После этого собеседования у меня возникли следующие вопросы:

  • Достаточное ли время 10 минут, чтобы решить такие задачи?
  • Кому бы этого времени хватило?
  • Вообще нужны ли каверзные вопросы на проверку логики на собеседовании, ведь никто не даст соискателю достаточное время на поиски решения?

Также жду варианты решений задач.