Должен ли я сказать интервьюеру, что уже знаю ответ на задаваемый вопрос? [закрыто]

29

В интервью по программированию, если мне задают вопрос, ответ на который я уже знаю, такой как предоставление алгоритма для конкретной проблемы. Должен ли я сообщить об этом интервьюеру? Эта проблема имеет смысл только тогда, когда есть вопрос новизны в вопросе.

Один из примеров: «Как бы вы перевернули каждое слово в строке, но не их порядок?». Также кажется, что существует разделение между более легкими вещами, которые вы «должны» знать, такими как мой пример, и более сложными, более надуманными проблемами.

Какова ваша политика и обоснование для решения этой проблемы? Если вы уже знакомы с вопросом / головоломкой, следует ли вам сообщить об этом в дополнение к ответу на вопрос? Есть ли какая-либо этическая дилемма, связанная с тем, что вы не раскрываете свои предварительные знания по этому вопросу?

Эль Сид
источник
2
У меня проблемы с видением смысла в этом вопросе. Если вы знаете вопрос, на который вы отвечаете, если вы этого не делаете, вы пытаетесь найти что-то разумное. Должны ли вы сказать им, что знаете ответ, а не просто сказать им ответ?
Крис
7
@Крис. последний вопрос в вашем комментарии действительно то, что ОП задает здесь: D
P Швед
1
И это должно быть конструктивным? Я не могу думать, когда скажу интервьюеру «Да, я знаю ответ», а не скажу им.
Крис
1
Я жду, когда "Fishtoaster" даст свой ответ.
Марк С
1
@Chris - правильно; вопрос здесь, насколько я понимаю, сводится к следующему: «Есть ли преимущество и / или этическое соображение по отношению к варианту 1 или 2, если вы знаете головоломку, и если да, то как они взвешиваются?» Фундаментальный момент скрыт довольно глубоко и сформулирован в явно субъективной манере, но он кажется полезным (не в последнюю очередь потому, что я понятия не имею, каков правильный ответ, и кажется, что я должен). ИМО, это вопрос, который нуждается в небольшом редактировании для ясности, а не закрытия.
Инамати

Ответы:

41

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

Ктулху
источник
8
Да, я думаю, что это справедливо. Это не то же самое, что знать, что ответы - это обман; во всяком случае, это признак опыта. Я имею в виду, не притворяйся, как будто притворяешься, что ты просто изобрёл быструю сортировку на месте, даже не услышав об этом или что-то в этом роде (плохой пример, потому что все слышали о быстрой сортировке, но ты знаешь, что я имею в виду). Просто ответь немедленно. Вероятно, будет очевидно, что вы были знакомы с проблемой, но нет необходимости говорить об этом явно, и, если что-то можно принять за критику интервьюера за выбор неоригинальной проблемы.
Тим Гудман
26

Я все еще отвечу на вопрос. Я очень часто беру интервью у программистов. Меня меньше интересует тот факт, что вы можете решить проблему (если вы просто не можете), и больше интересует, как вы решили проблему.

Я задаю много и много ... и много раздражающих маленьких вопросов во время интервью, которые специально разработаны (и уточнены с течением времени), чтобы дать мне очень хорошее понимание ваших реальных сильных сторон стихов, которые вы помещаете в свое резюме. Я сделаю все возможное, чтобы провести вас по пути субъективного подшучивания, а затем ударить вас все более сложными проблемами.

Используя пример Фрэнка , FizzBuzz, последнее, что я хочу услышать от вас, это «О, да, я знаю, как использовать оператор модуля ...». Если я беру интервью у вас, я знаю это. Возможно, мне захочется узнать, как быстро ваш мозг переключается, или я могу проверить, насколько хорошо вы выполняете задание, которое кажется обыденным и глупым. Дело в том, что я не просто проверяю вашу способность решать проблемы.

Я могу сделать ловушку для мыши с сотнями движущихся частей. Если компания занимается ловлей мышей ... ну ... :)

Тим Пост
источник
5
Вы не узнаете, как собеседник решил проблему, если он просто знает ответ.
П Швед
3
@Pavel: Конечно, но вы могли бы спросить их: «В чем преимущество того, чтобы делать это так, а не так?» Таким образом, вы можете увидеть, действительно ли они понимают мыслительный процесс, стоящий за ответом, или просто запомнили ответ, не понимая, почему.
Тим Гудман
@Tim, поэтому, если вы хотите задать вопрос «как узнать, есть ли в связанном списке петли в памяти O (1)», и я знаю ответ (черт, я решил много таких проблем), что бы Ваш дополнительный вопрос будет?
П Швед
Тим, мне было бы интересно посмотреть, как ты интервьюируешь кого-то (или интервьюируешь меня, хаха), просто чтобы узнать.
Марк С
1
@Pavel, я бы, вероятно, усложнил бы проблему и включил бы несколько авторов в список. Если вы потратили минуту и ​​подумали об этом, я, вероятно, спросила бы ваше мнение о методах без блокировки и снова задала бы тот же вопрос, задаваясь вопросом, перешел ли O (1) к O (log n). Если вы полностью выбросите меня из воды, и мы сможем вам позволить, я позабочусь, чтобы вы стали моим боссом. Извините за задержку, этот «апельсиновый конверт» действовал довольно странно в последнее время.
Тим Пост
10

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

Тристан Хавелик
источник
8

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

Я полагаю, что для дополнительного кредита вы могли бы сказать: «Хорошо, так делают все остальные, но давайте посмотрим, есть ли другой путь». Или вы можете деконструировать вопрос другими способами и показать, почему людям нравится этот вопрос, что, якобы, пытается заставить вас увидеть этот вопрос.

(Изменить: удалил ссылку на FizzBuzz, из комментариев других людей на этот пост.)

Фрэнк Шиарар
источник
4
FizzBuzz не о факторинге.
zvrba
2
Я также думаю, что вы можете упустить из виду FizzBuzz.
Тим Пост
Ну, тогда о чем идет речь, если не избегать случая n mod 15? Я сказал «факторинг», потому что я могу себе представить, что кто-то использует два других простых числа для «Fizz» и «Buzz», думая, что они умные. Дело в том, что число, делимое на N простых чисел, которые вы используете (для FizzBuzzBazz), также делится на любое умножение этих простых чисел.
Фрэнк Шиарар
1
Что совершенно не имеет значения, поскольку 3 * 5 не нужно обрабатывать специально в реализации FizzBuzz.
Джорен
Справедливо; решения, которые я видел, делали, но нет, вам не нужно обрабатывать 3 * 5 специально.
Фрэнк Шиарар
6

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

Даррен
источник
3

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

Для достаточно нетривиального вопроса поставленная проблема может быть общеизвестной или сводиться к одному. Если кто-то спрашивает, как найти кратчайший маршрут между двумя узлами в графе, вы притворяетесь, что не знаете BFS / Dijkstra? ИМХО, для некоторых проблем может быть даже непродуктивно скрывать тот факт, что вы знаете свои вещи.

MAK
источник
+1 за хитрые вопросы. Если вы уже знаете ответ на один из них, вы можете просто так сказать. Целью такого вопроса было бы наблюдать за процессом, когда кусочки встают на свои места, и если вы уже знаете ответ, этого не произойдет.
Гуффа
3

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

Обращающиеся строки и т. Д. Не имеют очевидного решения, которое вы можете объяснить за 3 секунды, если знаете его.

как зовут
источник
1

«Знать» ответ не в этом. Сообщите это таким образом, чтобы у интервьюера была возможность понять ответ, который вы даете. (Конечно, интервьюер знает кучу ответов, но, как я уже сказал, это не главное.)

Поэтому я постараюсь донести ответ в рамке достаточно дидактического или, может быть, юмористического фрейма, чтобы интервьюер мог видеть, как я думаю и функционирую, или нет.

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


источник
0

Так какая альтернатива? Если вы скажете интервьюеру, что знаете ответ на поставленный вопрос, и ожидаете, что он даст вам только те вопросы, на которые вы не знаете ответа, что произойдет? Или

  1. Они будут уважать вас, потому что вы будете пытаться отвечать только на вопросы, которые вы никогда не видели / не слышали раньше,
  2. Они будут поражены вашим блеском - в конце концов, вы уже знаете ответы на поставленные ими вопросы - и сразу же предложат вам работу
  3. Они подумают, что вы умница, потому что вы, кажется, уже знаете все - просто спросите !, или
  4. Они будут думать, что ты дурак, потому что ты не знаешь, когда дела идут хорошо.

Я подозреваю, что варианты (1) и (2) не произойдут - назовите меня мистером Циникалом. Таким образом, вы остаетесь либо дураком, либо умницей, ни один из которых не может вас устроить. Эй, удачи!

Как указали другие, цель собеседования - дать вам возможность продемонстрировать свое техническое мастерство, ответив на любые вопросы, которые вам задают. Это означает, что вам выгодно задавать вопросы, с которыми вы уже знакомы. Если вы настаиваете на том, чтобы саботировать себя, продолжайте - никто не остановит вас - но я советую вам не делать этого.

Поделитесь и наслаждайтесь.

Боб Джарвис - Восстановить Монику
источник