Чи варто сказати інтерв'юеру, що я вже знаю відповідь на поставлене запитання? [зачинено]


29

У інтерв'ю з програмування, якщо мені задають запитання, я вже знаю відповідь, наприклад, алгоритм певної проблеми. Чи слід розкривати це інтерв'юеру? Це питання має сенс лише тоді, коли в цьому питанні є новизна.

Один із прикладів: "Як би ви перетворили кожне слово в рядку, але не їх порядок?". Існує також поділ між більш простими речами, про які ви повинні «знати», як-от мій приклад, і більш складними проблемами.

Яка ваша політика та обґрунтування для вирішення цього питання? Якщо ви вже знайомі із запитанням / розмислювачем, чи слід розкривати це на додаток до відповіді на запитання? Чи є якась етична дилема, пов'язана з нерозголошенням ваших попередніх знань з цього питання?


2
У мене виникають проблеми, коли я бачу сенс у цьому питанні. Якщо ви знаєте питання, на яке ви відповідаєте, якщо не намагаєтеся розробити щось розумне. Чи потрібно їм сказати, що ви знаєте відповідь, а не просто відповідати?
Кріс

7
@Chris. останнє запитання у вашому коментарі - це дійсно те, що тут задає ОП: D
P Швед

1
І що має бути конструктивним? Я не можу придумати, коли я сказав би інтерв'юеру "Так, я знаю відповідь", а не сказав їм.
Кріс

1
Я чекаю, коли "Fishtoaster" дасть свою відповідь.
Марк C

1
@Chris - Правильно; питання тут, наскільки я розумію, зводиться до "Чи є перевага та / або етичний розгляд будь-якого варіанту 1 або 2, якщо ви знаєте брейнтайзатора, і якщо так, то як вони зважуються?" Фундаментальний момент заглиблений досить глибоко, і це висловлюється в надто суб'єктивно, але це здається корисним (не в останню чергу тому, що я поняття не маю, що правильна відповідь, і здається, що я повинен). ІМО, це питання, який потребує легкого редагування для наочності, а не закриття.
Inaimathi

Відповіді:


41

Я просто відповів би на це, не вагаючись і не поскупившись. Знання відповіді на запитання не є чимось злим, це означає, що ви вже стикалися з цим раніше і знаєте, як його вирішити. Виправте це, перейдіть до наступного.


8
Так, я думаю, що це справедливо. Це не так, як знати відповіді - це обман; якщо що, це ознака досвіду. Я маю на увазі, не підробляйте це, як прикидаєтесь, що ви просто вигадали кікспорта на місці, не чуючи про нього чи чогось іншого (поганий приклад, тому що всі чули про хитрощі, але ви знаєте, що я маю на увазі). Просто відповідь негайно. Напевно, буде очевидно, що ви були знайомі з проблемою, але не потрібно цього чітко говорити, і якщо що-небудь можна вважати критикою інтерв'юера за вибір неординарної проблеми.
Тім Гудман

26

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

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

Використовуючи приклад Франка , FizzBuzz, останнє, що я хочу почути від вас, - це "О так, я знаю, як використовувати оператор модуля ..." Якщо я беру інтерв'ю з вами, я це знаю . Я, можливо, захочу побачити, як швидко ваш мозок перемикає передачі, або, можливо, я хотів би перевірити, наскільки добре ви виконаєте завдання, яке здається мирським і нерозумним. Справа в тому, що я не просто тестую вашу здатність вирішувати проблеми.

Я можу зробити мишоловку із сотнями рухомих деталей. Якщо компанія займається ловом мишей .. ну ... :)


5
Ви не дізнаєтесь, як опитуваний вирішив проблему, якщо він просто знає відповідь.
П Швед

3
@ Paavel: Звичайно, але ви можете запитати їх: "Яка перевага робити це саме так, а не так?" Таким чином ви зможете побачити, чи дійсно вони розуміють процес думки, що стоїть за відповіддю, чи вони просто запам'ятали відповідь, не розуміючи чому.
Тім Гудман

@Tim, тож якщо ви хочете запитати питання "як дізнатися, чи є у зв’язаного списку петлі в O (1) пам'яті", і я знаю відповідь (чорт, я вирішив багато подібних проблем), що б Ваше наступне питання бути?
П Швед

Тіме, мені було б цікаво дивитись, як ти інтерв'юєш когось (чи інтерв'ю зі мною, ха-ха), просто щоб навчитися.
Марк C

1
@Pavel, я б, мабуть, ускладнив проблему і вніс до списку кілька авторів. Якщо б ви задумали хвилину і подумали над цим, я, мабуть, запитаю вашу думку щодо методів вільних блокувань і знову задаю те саме питання, цікавлячись, чи перейшов O (1) до O (log n). Якщо ви повністю видуєте мене з води, і ми могли б вам дозволити, я переконуюсь, що ви станете моїм начальником. Вибачте за запізнення, що останнім часом "апельсиновий конверт" зверху поводиться досить дивно.
Tim Post

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? ІМХО, для деяких проблем може бути навіть контрпродуктивно приховати той факт, що ви знаєте свої речі.


+1 для питань хитрості. Якщо ви вже знаєте відповідь на один із тих, можете просто так сказати. Метою такого питання було б спостерігати за процесом, коли шматки стануть на місце, і якщо ви вже знаєте відповідь, цього не відбудеться.
Гуффа

3

Я думаю, що розповідати інтерв'юеру стосується лише тих запитань, що стосуються "гутчі", як круглий люк тощо. Питання, де колись ви знаєте відповідь, це абсолютно очевидно.

Зворотні рядки тощо не мають очевидного рішення "gotcha", яке ви можете пояснити за 3 секунди, якщо ви це знаєте.


1

"Знаючи" відповідь не в цьому суть. Повідомте це таким чином, що інтерв'юер має шанс зрозуміти відповідь, яку ви даєте. (Звичайно, інтерв'юер знає купу відповідей, але, як я вже сказав, це не в цьому справа.)

Тож я б спробував донести відповідь, обрамлений до розумно дидактичного, або, можливо, жартівливого, кадру, щоб інтерв'юер міг бачити, як я думаю і функціоную, чи ні.

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


0

То яка альтернатива? Якщо ви скажете інтерв'юеру, що ви знаєте відповідь на поставлене питання, і очікуєте, що вони дадуть вам лише ті питання, на які ви не знаєте відповіді, що відбувається? Або

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

Я підозрюю, що варіанти (1) і (2) не відбудуться - зателефонуйте мені, містер Цинічний. Таким чином, ви залишаєтесь ні дурнем, ні розумною дупою, і жодне з них, ймовірно, не влаштує вам роботу. Гей, удачі!

Суть інтерв'ю, як зазначали інші, полягає в тому, щоб запропонувати вам можливість продемонструвати свою технічну майстерність, відповідаючи на всі поставлені вам питання. Цей вид означає, що вам потрібно надати питання, з якими ви вже знайомі. Якщо ви наполягаєте на тому, щоб саботувати себе, продовжуйте - ніхто не зупинить вас - але я пропоную вам цього не робити.

Діліться та насолоджуйтесь.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.