Интервью Вопрос, Чего они хотят достичь? - PullRequest
49 голосов
/ 06 сентября 2010

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

Учитывая числа:

116 104 105 115 32 105 115 32 99 111 114 114 101 99 ?

Какое следующее число?

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

Сначала я потратил 5 минут на поиск шаблона, на котором я не нашел ни одного.Я начал чувствовать себя глупо.Имейте в виду, парень смотрел на меня, ожидая ответа.Я чувствовал себя немного глупо.Так что мне дали подсказку.This is not a mathematical question

Я провел еще 5 минут, и он сказал The sequence is important.

Потом еще 5 минут, и он сказал: He believed only programmers would understand this

Еще 5 минут, и я еще не понял, что это был за последний номер.Он дал окончательную подсказку, которая позволила мне решить ее, и это было Think of the numbers as replacment for some sort of Alphabet.

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

Ответы [ 23 ]

36 голосов
/ 06 сентября 2010

Сначала ответ: 116 - это десятичная форма букв ASCII «это правильно», поэтому следующая буква «т» идет дальше.

Но, пока я выяснил (учитывая ваши подсказки) образецЯ бы сделал несколько замечаний:

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

Сказано:

  • Думали ли вывслух и поговорите о различных подходах, которые вы использовали?
  • Задавали ли вы зондирующие вопросы о проблемной области?

Кстати, я неправильно запомнил «а» как 96, а не 97так что я бы пропустил проблему. Но я бы все время говорил.

Вы должны передать свои мыслительные процессы, а не просто придумать ответ.У меня дважды были интервьюеры, которые давали мне проблемы, которые они не ожидали, что я их решу, с намерением увидеть мой подход к их решению.

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

28 голосов
/ 06 сентября 2010

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

22 голосов
/ 07 сентября 2010

Ваш вопрос напомнил мне рекламную кампанию EA несколько лет назад:

alt text

19 голосов
/ 07 сентября 2010

У меня аутизм.Как ни странно, после того, как на первый взгляд мне сказали, что это не числовой паттерн, следующее, что я заметил, это 32-е годы, которые, как я знаю, это пробелы.Оттуда я получил это / довольно быстро (менее минуты).Проверить это довольно быстро, потому что коды IH и ST являются последовательными, я не знал ни одного из этих кодов ascii, но как только я подтвердил установленный разрыв IS, я понял, что на правильном пути.

Тогда RR быстр - на один символ ниже S.

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

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

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

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

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

Это на самом деле довольнополезное упражнение сортировки для подбора кандидатов на роли.

17 голосов
/ 06 сентября 2010

Итак, мне потребовалось немного времени, и мне не нужны были подсказки, но 116 - правильный ответ. Раздача для меня была не столько 32-х, сколько повторением чисел в схеме. Не было четкой математической логики, но что-то еще в шаблоне щелкнуло для меня, и я только что получил его.

Однажды, давным-давно, мне удалось взломать игру (Koronis Rift для тех, кому не все равно, и я никогда не загружал ее на BBS). Я взломал его не потому, что хотел точно скопировать. Это было потому, что он сохранял игры на том же диске, с которого игра закончилась, и это действительно беспокоило меня. После того, как я взломал его, я очень гордился собой, потому что защита от копирования сделала что-то довольно сложное. Поэтому я хотел поставить свою отметку на экране загрузки.

Теперь я не знал, где находится экран загрузки. Я использовал дизассемблер для запуска загрузки, но так и не дошел до места загрузки экрана. Но я много раз просматривал диск, и была последовательность байтов, которые просто выглядели как необработанные данные для картинки. Я знал, насколько большой должна быть картинка, если это были необработанные данные, поэтому я нашел начало и конец последовательности, поместил ее в файл и загрузил файл в редакторе изображений. Я был прав.

Кто-то спросил меня «Откуда ты узнал, что это была фотография?». И я не мог объяснить. Это просто выглядело как один.

Это не тот талант / навык, который я ожидал бы от хорошего программиста. И я нахожу вопросы для собеседования, которые специально предназначены для кандидата, чтобы он не приводил их в бешенство.

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

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

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

11 голосов
/ 06 сентября 2010

Ну, я думаю, что у меня есть ответ, и я получил его довольно быстро - хотя с помощью части справочного материала.

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

7 голосов
/ 06 сентября 2010

следующий номер 116?

Тем не менее, «Шир ир правильно» тоже не имеет никакого смысла.

Edit:

Ой!

4 голосов
/ 06 сентября 2010

Я видел 32 s, и это сразу же щелкнуло для меня.

Можно утверждать, что суть вопроса в том, чтобы увидеть, как ты нащупываешься, преодолевая непреодолимое препятствие.Вы начали брать конечные различия, ища арифметическую или полиномиальную последовательность?Или ты просто какое-то время прищурился, а потом пожал плечами и сдался?

На мой взгляд, все еще ужасный вопрос.

3 голосов
/ 06 сентября 2010

Python:

>>> ''.join(map(lambda x:chr(int(x)),'116 104 105 115 32 105 115 32 99 111 114 114 101 99'.split()))
'this is correc'

Цифры являются кодами ASCII. Это определенно не то, что я бы спросил в интервью, так как я не ожидаю, что кто-нибудь узнает коды ASCII в десятичном виде в интервью. Hex немного отличается (вы можете ожидать, что люди знают, что% 20 - это пробел), но все же.

3 голосов
/ 06 сентября 2010

ASCII -> int? Интервьюер сумасшедший ...

Должно быть 116.

Перевод: this is correc

т отсутствует. t равно 116 в таблице ascii.

http://www.cs.utk.edu/~pham/ascii.html

...