[Перевод] Нужно ли говорить на собеседовании, что предложенная задача вам уже встречалась?

Если на техническом собеседовании вы понимаете, что уже решали эту задачу — что делать?

Недавно мое внимание привлек пост на Reddit. Автор поста спрашивал, как быть, если на собеседовании вам предлагают задание, которое вы разбирали до этого. Занятно, что данная тема и до того поднималась много раз, и обсуждения, которые неизбежно за этим следуют, на мой взгляд, представляют немалый интерес.
Солидная партия настаивает на том, что нужно просто cчитать это везением и принимать как должное. Собеседования часто оказываются изнурительным делом, так что за любую крупицу, которая пойдет вам на пользу, нужно хвататься без всяких колебаний. По мнению людей из этого лагеря, об обмане речь не идет, нужно просто продолжать как ни в чем не бывало, не уточняя по собственной инициативе, что вам эта задача не в новинку.

fezuubfom_uncaiav3ihdzwzu_w.png

Мудрый совет от старого доброго Reddit в лице u/_RollForInitiative_

«Поблагодарите свою счастливую звезду и перескажите решение. Собеседование — такой гемор для всех задействованных, что нет смысла пытаться что-то менять.
Может закончиться тем, что собеседующий растеряется или даст вам взамен что-нибудь гораздо более сложное. Оставьте как есть.
Нет необходимости ни говорить, что знаете задачу, ни лицемерить. Просто скажите: «Хммм, ну вот самый примитивный способ…», и распишите. Потом дождитесь, пока попросят более проработанных решений — и вперед. Незачем врать и незачем рисковать».


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

Как смотрят на это работодатели?


Я пошел дальше и узнал, как смотрят на этот вопрос руководитель технической команды и программист-сениор из Uber — у обоих был обширный опыт найма сотрудников и управления целым рядом команд. Меня интересовало их мнение и как претендентов на вакансии, и как собеседующих.

Руководитель: «Мне кажется, честность и надежность — необходимые компоненты для команды. У меня на собеседованиях было несколько случаев, когда кандидат уже знал решение задачи, и все честно об этом говорили. Я говорил, чтобы всё равно продолжали и решали, как любую другую. Но их откровенность становилась для меня очень хорошим знаком, нередко именно она в конечном счете склоняла нас от положительного впечатления к положительному решению».

Сениор: «Да, это обычное дело — когда тебе задают хорошо знакомые вопросы. В таких случаях я просто говорю собеседующему всё как есть, и до сих пор все отвечали: ничего страшного, решайте всё равно. То же самое происходит и когда собеседование провожу я — не имеет значения, что человек уже решал задачу, процесс на этом не прерывается. Когда я в роли собеседующего, у меня наготове несколько вариантов дополнительных заданий, редко бывает такое, что кандидат справляется со всем, что я припас. Ну, а если справится, значит, точно надо брать».

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

Моё собственное мнение


Я в этой сфере всего пару лет, но успел пройти около сотни собеседований, прорешал не менее шестисот задач на Leetcode и уже писал статьи на соответствующие темы.

По моему мнению, процесс найма в том виде, в котором он представлен в большинстве крупных IT-компаний, в том числе FAANG, на самом деле не так уж много говорит о реальных навыках кандидата, необходимых для работы, и требует совершенно особой подготовки. Даже разработчику-суперзвезде придется попотеть над сложным заданием, если он предварительно не перелопатил Leetcode и не заучил паттерны.

По этой причине со стороны собеседующего было бы наивно ожидать, что все задания в процессе отбора будут для кандидата новыми. Полагаю, что я в какой-либо вариации перерешал все задания, касающиеся деревьев или массивов, которые вообще реально предложить в ходе сорокапятиминутного собеседования. На самом деле, я удивляюсь скорее тогда, когда мне дают задачи, в корне отличающиеся от всего, что мне встречалось раньше! В конце концов, секрет успешного прохождения собеседований заключается именно в том, чтобы освоить распространенные паттерны и прилагать их к новым сценариям (а иногда и к старым).

Поэтому когда мне дают задачу, которая кажется знакомой, я не вижу большого смысла говорить: «Я уже встречал похожее задание на манипуляцию строками». Ведь если бы я не прорешал предварительно сотню заданий, я бы не прошел их отбор. В конце концов, зачем брать расхожие задачи с Leetcode, если хочешь, чтобы кандидат решал что-то незнакомое? Моё знакомство с заданием — свидетельство хорошей подготовки и награда за труды. Это не значит, что нужно обязательно скрывать это знакомство от собеседующего, скорее, я хочу сказать, что несправедливо наказывать кандидата за то, что он готовился, и от работодателя я жду реакции, соответствующей этой точке зрения.

Ну и конечно, в технической статье 2023 года нельзя обойтись без упоминания ChatGPT, так что послушаем, что думает ИИ на этот счет.

tdccmezlwzmjbu9byn0y3tra2mo.png

ChatGPT тоже выступает за честность.

«Если на техническом собеседовании вам задают задачу, которую вы уже решали, необходимо честно это признать. Вы можете сказать что-то в духе: «Вообще, я уже сталкивался с этой задачей и сумел ее решить следующим образом… (описание решения)».
Однако не стоит на этом останавливаться. Следует также воспользоваться возможностью подробнее описать свой ход мысли и объяснить, как вы пришли к решению. Это покажет собеседующему, что у вас есть не только технические навыки для решения задачи, но и способность к критическому мышлению и эффективной коммуникации.
Если собеседующий просит вас решить задачу еще раз, вы можете либо решить ее, либо спросить, нет ли другой задачи, которую вы могли бы решить вместо этой. В любом случае держитесь вежливо и профессионально и не забывайте, что цель собеседующего — оценить ваши навыки и способности».

© Habrahabr.ru