Недавно мое внимание привлек пост на Reddit. Автор поста спрашивал, как быть, если на собеседовании вам предлагают задание, которое вы разбирали до этого. Занятно, что данная тема и до того поднималась много раз, и обсуждения, которые неизбежно за этим следуют, на мой взгляд, представляют немалый интерес.
Солидная партия настаивает на том, что нужно просто cчитать это везением и принимать как должное. Собеседования часто оказываются изнурительным делом, так что за любую крупицу, которая пойдет вам на пользу, нужно хвататься без всяких колебаний. По мнению людей из этого лагеря, об обмане речь не идет, нужно просто продолжать как ни в чем не бывало, не уточняя по собственной инициативе, что вам эта задача не в новинку.
Мудрый совет от старого доброго Reddit в лице u/_RollForInitiative_
«Поблагодарите свою счастливую звезду и перескажите решение. Собеседование – такой гемор для всех задействованных, что нет смысла пытаться что-то менять.
Может закончиться тем, что собеседующий растеряется или даст вам взамен что-нибудь гораздо более сложное. Оставьте как есть.
Нет необходимости ни говорить, что знаете задачу, ни лицемерить. Просто скажите: “Хммм, ну вот самый примитивный способ…”, и распишите. Потом дождитесь, пока попросят более проработанных решений – и вперед. Незачем врать и незачем рисковать».
Другой блок придерживается мнения, которое несколько уступает в популярности, но, тем не менее, тоже озвучивается из раза в раз: они высказываются в пользу того, чтобы проявить честность и открыть неудобную правду. По их словам, вся процедура собеседования лишена смысла, если какая-либо из сторон не откровенна с другой, и сказать правду – наш нравственный долг.
Как смотрят на это работодатели?
Я пошел дальше и узнал, как смотрят на этот вопрос руководитель технической команды и программист-сениор из Uber – у обоих был обширный опыт найма сотрудников и управления целым рядом команд. Меня интересовало их мнение и как претендентов на вакансии, и как собеседующих.
Руководитель: «Мне кажется, честность и надежность – необходимые компоненты для команды. У меня на собеседованиях было несколько случаев, когда кандидат уже знал решение задачи, и все честно об этом говорили. Я говорил, чтобы всё равно продолжали и решали, как любую другую. Но их откровенность становилась для меня очень хорошим знаком, нередко именно она в конечном счете склоняла нас от положительного впечатления к положительному решению».
Сениор: «Да, это обычное дело – когда тебе задают хорошо знакомые вопросы. В таких случаях я просто говорю собеседующему всё как есть, и до сих пор все отвечали: ничего страшного, решайте всё равно. То же самое происходит и когда собеседование провожу я – не имеет значения, что человек уже решал задачу, процесс на этом не прерывается. Когда я в роли собеседующего, у меня наготове несколько вариантов дополнительных заданий, редко бывает такое, что кандидат справляется со всем, что я припас. Ну а если справится, значит, точно надо брать».
Подводя черту, можно сказать, что искренность может стать для вас большим плюсом в глазах работодателя.
Моё собственное мнение
Я в этой сфере всего пару лет, но успел пройти около сотни собеседований, прорешал не менее шестисот задач на Leetcode и уже писал статьи на соответствующие темы.
По моему мнению, процесс найма в том виде, в котором он представлен в большинстве крупных IT-компаний, в том числе FAANG, на самом деле не так уж много говорит о реальных навыках кандидата, необходимых для работы, и требует совершенно особой подготовки. Даже разработчику-суперзвезде придется попотеть над сложным заданием, если он предварительно не перелопатил Leetcode и не заучил паттерны.
По этой причине со стороны собеседующего было бы наивно ожидать, что все задания в процессе отбора будут для кандидата новыми. Полагаю, что я в какой-либо вариации перерешал все задания, касающиеся деревьев или массивов, которые вообще реально предложить в ходе сорокапятиминутного собеседования. На самом деле, я удивляюсь скорее тогда, когда мне дают задачи, в корне отличающиеся от всего, что мне встречалось раньше! В конце концов, секрет успешного прохождения собеседований заключается именно в том, чтобы освоить распространенные паттерны и прилагать их к новым сценариям (а иногда и к старым).
Поэтому когда мне дают задачу, которая кажется знакомой, я не вижу большого смысла говорить: «Я уже встречал похожее задание на манипуляцию строками». Ведь если бы я не прорешал предварительно сотню заданий, я бы не прошел их отбор. В конце концов, зачем брать расхожие задачи с Leetcode, если хочешь, чтобы кандидат решал что-то незнакомое? Моё знакомство с заданием – свидетельство хорошей подготовки и награда за труды. Это не значит, что нужно обязательно скрывать это знакомство от собеседующего, скорее, я хочу сказать, что несправедливо наказывать кандидата за то, что он готовился, и от работодателя я жду реакции, соответствующей этой точке зрения.
Ну и конечно, в технической статье 2023 года нельзя обойтись без упоминания ChatGPT, так что послушаем, что думает ИИ на этот счет.
ChatGPT тоже выступает за честность.
«Если на техническом собеседовании вам задают задачу, которую вы уже решали, необходимо честно это признать. Вы можете сказать что-то в духе: “Вообще, я уже сталкивался с этой задачей и сумел ее решить следующим образом… (описание решения)”.
Однако не стоит на этом останавливаться. Следует также воспользоваться возможностью подробнее описать свой ход мысли и объяснить, как вы пришли к решению. Это покажет собеседующему, что у вас есть не только технические навыки для решения задачи, но и способность к критическому мышлению и эффективной коммуникации.
Если собеседующий просит вас решить задачу еще раз, вы можете либо решить ее, либо спросить, нет ли другой задачи, которую вы могли бы решить вместо этой. В любом случае держитесь вежливо и профессионально и не забывайте, что цель собеседующего – оценить ваши навыки и способности».
Комментарии (16)
CTheo
00.00.0000 00:00+14Я, наверное, слишком буквоедствую, но вижу тут подмену понятий. Разве кандидата спросили, решал ли он задачу ранее, и он соврал что нет? Тогда это было бы нечестно. А так он просто отвечает по существу задачи, и умалчивает про то, что не спрашивают. Если вам интересно, решал ли он - то так и спросите.
Occama
00.00.0000 00:00+9Я прямо представил, как в процессе работы такой честный собеседованный получает задание сделать какой-нибудь сервис, говорит: «Ой, вы знаете, я его вообще-то уже раньше делал» и ему: «А, ой, тогда ладно, посидите пока на бенче, пока мы другой проект поищем». Собеседование — это оценка опыта, в конце концов.
radioxoma
00.00.0000 00:00+13Может кандитат ещё и работу делал раньше, на которую его берут? Нужно честно признать это и искать другую работу.
RomeoGolf
00.00.0000 00:00+3Однажды на собеседовании мне попалась задачка, которую я решал на хакерранке. И я честно признался, что как раз такое же решал какое-то время назад, но, черт побери, забыл как. И начал думать вслух. Но затупил. Интервьюер слегка подсказал, я справился. И собеседование прошло неплохо, технари меня одобрили.
Но есть нюанс: туда меня так и не взяли, а куда взяли — там не требовали задач с литкода etc. Было неплохое домашнее задание (на пару часов работы со сроком в неделю, с учетом того, что на него время еще выделить надо), явно синтетическое, при этом, явно связанное с реальной работой, а потом два разговора, "за жизнь" по-русски и по технике на инглише. И если бы у меня было два оффера, я бы предпочел второй, гораздо больше понравилось.
Zuy
00.00.0000 00:00+1Какая-то высосаная проблема. Если вопрос на интервью когда-то в жизни встречался никого это не волнует. Все что было до интервью осталось до интервью.
Другое дело, когда интервью проходит в несколько раундов и на одном задают ровно такой же вопрос как и на предыдущем. Вот тут уже не стоит ничего скрывать и нужно сразу сказать, что на одном из предыдущих раундов такой вопрос уже был. Иначе одинаковые вопросы все равно всплывут в отчетах.
Я встречался со второй ситуацией в Гугл с обоих сторон. Как кандидат говорил, что такая задача сегодня уже была, и мне, как интервьюеру тоже один раз так ответили. В обоих случаях поменяли задачу и все.
alcanoid
00.00.0000 00:00В моей практике была комичная ситуация. Проходил собеседование в одной организации, назовём её N, и мне понравилась поставленная ими задача. Через некоторое время уже я сам в другой организации проводил массу собеседований, и иногда включал в них подобную задачу (с небольшими отличиями — восстанавливал её по памяти, плюс кое-что от себя добавил). И вдруг очередной кандидат честно признаётся, что недавно встречал почти такую же на собеседовании в N. Я, в свою очередь, честно признался, что задачу у них и позаимствовал. Посмеялись, далее он рассказал пути решения и получил в итоге оффер. Практически хэппи-энд.
Не думаю, что поднятая в статье проблема является проблемой, если собеседование не исчерпывается этой задачей. По всему остальному уровень и бэкграунд собеседника в среднем понятен, так что искажение, внесённое уже некогда решённой — но решённой же в итоге! — задачей не слишком сильно влияет на общую картину.
dkuzminov
00.00.0000 00:00+1Когда я работал в известной крупной постоянно собеседующей российской компании, я с удивлением обнаружил, что сами интервьюеры не всегда знают ответов на свои же типовые задачи. Как-то мне на глаза попался разбор канонических решений, и понял, что и мои знания были далеки от полных.
Главное -- это не ответ, а аргументация. И даже сдав (правильно) задачу на другом собеседовании, ты не всегда можешь адекватно ее обосновать на следующем.
enabokov
00.00.0000 00:00+2ЕМНИП, для собеседования в ФБ было условие, что если раньше кандидат(-ка) уже решал такую задачу, то он/она обязан об этом сообщить. Не знаю как в ФБ это проверяют. Я в любом случае не сообщал бы, потому что решал много задач и сразу не вспомню решал я её или нет, во-вторых это может быть решённая задача, которая сформулирована по-другому, и в третьих я могу помнить что решал, но не помнить алгоритм решения, так что нет разницы.
Stavr666
00.00.0000 00:00+1Вот он, момент когда "мнение" искусственного идиота, по сути рекомбинирующего результаты миллионов поисковых выдач, начало вставляться в тексты мясных мешков и служить подкреплением "морального компаса" отдельно взятых авторов.
Boethiah
00.00.0000 00:00Вообще не понятно, зачем переживать по этому поводу. Смысл такой проверки в том, чтобы определить навыки решения практических задач, а не за сколько времени ты решишь новую, не имеет ровным счётом никакого значения, когда задача была решена.
hostbest
00.00.0000 00:00Вопреки всеобщему мнению, очень часто собеседование - не способ отбора лучших кандидатов. Различные испытания кандидатов на собеседовании в большом количестве компаний - всего лишь способ снизить цену на труд, в крайнем случае подловить и нанять лучшего за зарплату заурядного, а его возможными ошибками объяснить более низкий грейд. Я когда на собеседованиях сталкивался с известными задачами, говорил об этом честно и смотрел на реакцию. Это очень хороший способ диагностики уровня токсичности внутри компании и истинных намерений интервьюеров. И если результат собеседования для меня был положительный, вовсе не факт, что я безусловно радовался и бежал писать заявление о приеме на работу. Некоторые мои тесты не проходили. Это вполне обычное явление, ведь собеседование - процесс взаимный.
ZetaTetra
Из личного опыта, если при интервюировании кандидат без запинки отвечает что такое SOLID, то это свидетельствет только о том, что он недавно уже проходил собеседования.
Предполагаю что и в сабже вопросы для интервью брались из открытых источников и главное понять как кандидат думает, а не услышать шаблонный ответ.
inferusvv
О даа. Однажды меня спросили, что такое solid, а я даже не слышал. Потом начал читать про это и понял, что все адекватные практики написания кода, которые я также применяю в работе просто обернули в красивое название SOLID. Делает ли это ли это меня плохим разработчиком? Я думаю что нет. Повлияло ли как то, что я выучил, что же за такой SOLID на качество моего кода? Тоже нет.
Anarchist
Либо сам проводил собеседования
dkuzminov
Еще чаще можно услышать сбивчивый ответ на вопрос о том, что такое SOLID, от кандидатов, только что проходивших другие собеседования...
Если человек удосужился изучить, что такое SOLID, это делает его чуть-чуть более подходящим кандидатом, чем те, кто ни в зуб ногой.