Эти вопросы на собеседовании больше всего нравятся разработчикам
Запомните: программисты любят нестандартные задачиНе секрет, что определенные задачи могут нравиться программистам больше других — пользователи сервиса Quora, среди которых много программистов, обсудили лучшие вопросы, с которыми им довелось сталкиваться на собеседовании. Старший консультант ИТ-рекрутингового агентства GMS Алексей Исаев собрал их в один материал – и дополнил его своим опытом.
Две армии
Управляющий редактор PHP в SitePoint, хорватский разработчик Бруно Скворч (Bruno Skvorc) рассказал о задании, в ходе которого на одном из собеседований его попросили создать средствами PHP две сражающиеся друг с другом армии и внести в их битву элемент случайности. И все — это была полная формулировка задачи.
По словами Скворча, который описал решение задачки в своем блоге, свободная формулировка заставила его глубоко продумать все свои действия. Прежде всего, поскольку потенциальный работодатель не дал ему никаких правил выполнения задания, ему пришлось разработать их самому — использование объектно-ориентированного подхода, одинаковая работа в командной строке и в вебе, расширяемость, отказ от сторонних библиотек и т.п.
Блок-схема алгоритма решения задачи из описания в блоге Скворча
Скворч уверен, что такие задания позволяют соискателю продемонстрировать творческое мышление, а не упражняться в реализации вещей, которые он почерпнул из теоретических книг или обсуждений на StackOverflow.
Множественные решения
Одним из самых популярных ответов в обсуждении на Quora стал рассказ инженера LinkedIn Лео Половца (Leo Polovets) о его любимых задачах на собеседовании. По его словам, больше всего ему нравятся те из них, которые подразумевают различные пути решения, на каждом из которых встречаются свои сложности.
Инженер убежден, что наблюдение за тем, как человек решает задачу, в которой постоянно «всплывают» те или иные ограничения, позволяет быстро разобраться в его реальных способностях.
Половец привел пример подобной задачи. К примеру, имеется список N+1 целых чисел от 1 до N. Одно число точно дублируется, однако возможно, что чисел-дублёров больше — например, 3,1,1,3, но может быть и 3,1,2,2.
Соискателю нужно вывести на экран число, которое появляется более одного раза (например, в первом случае это 1 и 3). Кандидат предлагает самый очевидный способ — сравнивать все числа в списке, пока не найдётся дубль.
Тогда интервьюер усложняет задачу — говорит, что время, затрачиваемое на подобную операцию, слишком велико, и нужен способ быстрее. Соискатель предлагает использовать хэш, чтобы исключать повторяющиеся числа. Интервьюер усложняет условия, говоря, что памяти для копии списка не хватит и вновь нужен другой способ... И так далее.
Такой вид собеседования, по мнению Половца, позволяют оценить не только профессиональные способности кандидата (например, знание стандартных алгоритмов), но и его креативность и находчивость в сложных ситуациях.
Рисование на доске
Нейт Вадупс (Nate Waddoups), в том числе работавший над линейкой компьютеров Commodore PET, также рассказал о своем любимом задании с собеседования. В тот раз потенциальный работодатель попросил его нарисовать на доске функцию malloc языка C. Сделать это быстро просто невозможно, однако интервьюер сказал, что можно не торопиться. Пока Вадупс аккуратно выводил на доске структуру функции и описывал разные участки кода, интервьюер общался с ним и обсуждал детали реализации.
Разработчик говорит, что изначально посчитал такое задание нелепым, однако элемент неожиданности и позитивная реакция интервьюера позволили «растопить лед» между ними.
Кроме того, по словам Вадупса, графическое представление столь сложных элементов позволяет потратить больше времени на изучение деталей, а также плюсов и минусов разных подходов к решению задачи.
Выбор из двух задач
Java-разработчику Лукасу Эдеру (Lukas Eder), в свою очередь, больше всего понравилось задание на собеседовании в компании Adobe, в ходе которого ему предложили создать drag-n-drop приложение на JavaScript или написать многопоточный HTTP веб-сервер. При этом никаких дополнительных деталей или уточнений соискателю не предоставили — была полная свобода выбора подходов и конкретных способов реализации.
Задача была не «моментальной» — соискателю дали две недели на ее решение и его защиту. В итоге Эдер создал небольшой файл-сервер с каталогами, потоковыми файлами, который поддерживал основные HTTP-коды — например 404, 500, 200 и т.д.
Проект с нуля за три часа
Некоторым программистам, наоборот, нравится, когда им приходится решать задачу в крайне сжатые сроки. К примеру, iOS-разработчик Амир Мемон (Amir Memon) назвал лучшим собеседованием в своей жизни интервью, в ходе которого ему предоставили ноутбук и попросили «что-нибудь запрограммировать».
На решение этой задачи соискателю дали три часа, после чего он должен был презентовать созданное решение своим потенциальным коллегам на обычной доске. После этого в течение двух часов они критиковали решение, члены команды думали о том, как сделать его лучше. В конце шестого часа собеседования сам Мемон смог задать вопросы потенциальным коллегам.
По мнению разработчика, во время таких интервью о соискателе можно узнать очень многое — например больше половины претендентов не укладываются в сроки по программированию или же просто сдаются, столкнувшись с непонятной на первый взгляд задачей. Это позволяет работодателю сразу отфильтровать тех, кто не подходит, и выбирать из лучших кандидатов.
Сам Мемон в итоге успешно прошел собеседование и получил предложение о работе, однако не принял его, хотя и сохранил о том интервью самые добрые воспоминания.
Поиск решения для проблем из прошлых проектов
iOS-разработчик Yahoo! Маджид Мужалед (Maijid Fiifi Moujaled) больше всего оценил собеседование, в ходе которого интервьюер попросил его рассказать о сложных технических проблемах, с которыми столкнулся при работе в прошлом проекте. Мужалед честно признался в существовании одной проблемы, которую он не знал, как решить.
Тогда интервьюер предложил попробовать найти для нее решение прямо на собеседовании. Сначала Мужалед расстроился, поскольку решения он не знал, однако совместными усилиями с разработчиком-интервьюером, который сам решал подобную задачу ранее, им удалось перебрать различные варианты решения и выбрать подходящий.
В итоге после собеседования Мужалед смог решить задачу в своем собственном проекте, а позднее получил и предложение о работе в новой компании.
Заключение: совет интервьюеру от разработчика
В качестве заключения можно привести самый популярный ответ дискусии от инженера по имени Уильям Пиетри, который описал свой подход к программированию — его пост получил больше 3,7 тысяч голосов «за» от пользователей Quora.
Пиетри советует интервьюерам не пытаться выяснить, насколько хорошо кандидат умеет решать головоломки. «Вы нанимаете человека, чтобы он решал проблемы пользователей продукта, а не для прохождения Менса-тестов».
Вместо этого инженер рекомендует интервьюеру уделить время совместному с кандидатом написанию кода. Это позволит получить ответы на самые важные вопросы:
- достаточно ли у кандидата практики в программировании;
- насколько хорошо он знаком с конкретным языком;
- как он подходит к написанию кода;
- умеет ли работать в команде;
- задает ли правильные вопросы о задаче;
- успешно ли преодолевает сложности;
- не отвлекается ли на ерунду;
- знаком ли с автоматизированным тестированием;
- проверяет ли свою работу.
На сегодня все, спасибо за внимание. В продолжение темы – в нашем блоге мы уже рассказывали о том, что могут спрашивать у разработчиков на собеседованиях в крупных ИТ-компаниях, а также разбирали конкретное задание по Java.
Материалы по теме:
25 вопросов потенциальному работодателю
Как выбрать правильный стартап для работы?
У моей жены карьера лучше, чем у меня
Не надо стесняться: о чем спрашивать на своем собеседовании
Курсы и полезные ссылки по теме data science
Фото на обложке: Pixabay
-
Партнёрский материал Как компании из Архангельска растут на терпении, связях и самоиронии 29 мая 2026, 14:33
-
Бизнес «Команде не вырасти выше лидера»: как изменить неписаные правила взаимодействия в группе 19 мая 2026, 10:00
-
Искусственный интеллект Нам не нужен свой OpenAI: где России искать эффект от ИИ и что для этого делать 19 мая 2026, 11:00
-
Ритейл Когда ручная отчётность мешает компании расти: как ускорить аналитику в фешен-ретейле 16 апреля 2026, 18:29
-
Деньги Персональные данные и цифровой след: кто и как на них зарабатывает 27 марта 2026, 10:11
-
Технологии Подключённые автомобили: как интернет меняет автопром 25 марта 2026, 13:17
-
Бизнес «Малый бизнес драйвит всё»: как компании из Архангельска растут на терпении, связях и самоиронии 25 мая 2026, 18:03
-
Банки Владимир Скворцов: «Наша задача — снизить страховые риски клиента и быстро выплатить, если что-то случится» 19 мая 2026, 16:00
-
Деньги Т-Технологии закрыли сделку по покупке «Авто.ру» у Яндекса — сервис оценили в 35 млрд ₽ 02 июня 2026, 18:25
-
Бизнес «Аэрофлот» опубликовал финансовые результаты за I квартал 2026 года: чистый убыток группы — 11,9 млрд ₽ 02 июня 2026, 18:05
-
Технологии 84% российских приложений содержат критические уязвимости — проблемы всё чаще возникают из-за некорректного ИИ-кода 02 июня 2026, 17:10
-
Бизнес «Лента» приобретает гипермаркеты «О’КЕЙ» — вместо прямой оплаты ритейлер примет на себя долговые обязательства сети 02 июня 2026, 16:00
-
Бизнес МТС впервые с 2009 года привлекла кредит от российских банков — сумма займа может достичь 70 млрд ₽ 02 июня 2026, 15:40
-
IT Сбои в работе VPN замедляют работу российских разработчиков — многие ИТ-процессы перестали работать автоматически 02 июня 2026, 14:30
-
Технологии Яндекс дал возможность сервисам управлять показом в Поиске: площадки могут скрыть контент из тематических разделов 02 июня 2026, 14:05
-
Бизнес Bloomberg опубликовал рейтинг богатейших людей мира в 2026 году: капитал российских бизнесменов вырос на $22 млрд 01 июня 2026, 21:00
