Интервью Вопрос: чего они хотят достичь?
Сегодня я был на техническом собеседовании, и пришло время дать мне некоторые упражнения по программированию.
Наконец я пришел к последнему вопросу:
Учитывая цифры:
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
Еще пять минут, и я еще не понял, что такое последний номер.
Он дал окончательный ключ, который позволил мне решить его, и это было Think of the numbers as replacment for some sort of Alphabet
.
Теперь я призываю вас ответить на этот вопрос, однако я также хочу узнать от людей, почему он даже задал бы такой вопрос? Что это связано с программированием и что он делает от того, чтобы видеть меня, используя 20 минут в отчаянной агонии, обдумывая?
Ответы
Ответ 1
Сначала ответ: 116 - это десятичная форма букв ASCII "это соответствует", поэтому следующая буква "t".
Но, когда я понял (учитывая ваши подсказки) шаблон, я бы сделал несколько комментариев:
- Предположительно, он пытался понять, как вы атаковали сложную, даже туманную проблему.
- Если он действительно сидел молча в течение 5 минут за раз, то ему нужно работать над своим типом интервью, хотя бы для того, чтобы побудить вас поговорить.
Это сказало:
- Вы задумывались вслух и говорили через различные подходы, которые вы использовали?
- Вы задавали вопросы о проблемной области?
Кстати, я неправильно вспомнил "а" как 96, а не 97, поэтому я бы пропустил проблему. Но я бы все время говорил.
Вы должны передать свои мыслительные процессы, а не просто придумать ответ. Я дважды интервьюеры задавали мне проблемы, которые они не ожидали от меня, как с намерением увидеть мой подход к их решению.
(Кстати, я получил предложения от обоих собеседований, потому что я проделал свой путь через проблемы - хотя я не смог закончить их решение.)
Ответ 2
Любой, кто записывает значения ascii в десятичной форме, безумен. Последовательность выглядела бы намного более знакомой, если бы она была в шестнадцатеричной форме.
Ответ 3
Ваш вопрос напомнил мне рекламную кампанию EA несколько лет назад:
![alt text]()
Ответ 4
У меня аутизм. Как ни странно, после первого взгляда мне сказали, что это не численный рисунок, следующее, что я заметил, было 32-м, что я знаю, это пробелы. Оттуда я получил это/довольно быстро (меньше минуты). Это довольно быстро проверить, потому что коды IH и ST последовательны, я не знал код ascii для любого из них, но как только я подтвердил промежуток IS, я знал, что я на правильном пути.
Тогда RR является быстрым - один символ ниже S.
Итак - да, я получил это почти сразу. Но, как я уже сказал, я страдаю аутизмом. Там ведро загружает нормальный материал, который я не могу сделать, но сопоставление с образцами - это то, что я делаю навязчиво. Я подозреваю, что это было бы бесполезно в интервью.
Я знаю, что это выглядит как страшный вопрос, потому что он проверяет ваши навыки нарушения кода/шаблона, а не ваши навыки решения проблем, но я подозреваю, что это не намерение.
Когда я нанимал людей, я использовал аналогичное упражнение, в котором использовался пакет карт с цветными фигурами и требовал от людей сортировки карточек в кучи, а на основе моих "пригонок" не отвечал "ответов" - выработайте правила игры.
Цель упражнения состояла в том, чтобы не проверять свои навыки поиска паттернов, но чтобы почувствовать их эмоциональный отклик на опыт попытки решить сложную проблему, в которой они будут в основном сталкиваться с тупиками. В моих карточных играх карты всегда представлялись в порядке, который заставил бы собеседника подумать, что они его решили, только чтобы найти, что они не были, три раза.
Для сложной роли R & D вы хотите нанять людей, для которых сложнее проблемное пространство становится более заинтересованным и взволнованным, что они чувствуют. Для менее сложной роли вы хотите, чтобы кто-то, кто предпочел бы пространство проблем, был стабильным - например, кто-то писал запросы для большой базы данных, где мы вообще не хотим менять систему.
Это действительно довольно полезное упражнение по сортировке для сопоставления кандидатов с ролями.
Ответ 5
Итак, мне это потребовалось немного, и мне не нужны намеки, но правильный ответ - 116. Дешевая распродажа для меня была не столько 32-м, сколько повторением чисел в шаблоне. Не было ясной математической логики, но что-то еще о шаблоне щелкнуло для меня, и я просто получил его.
Однажды, давным-давно, мне удалось взломать игру (Koronis Rift для тех, кто заботится, и я никогда не загружал ее в BBS). Я взломал его не потому, что хотел его скопировать. Это было из-за того, что он сохранял игры на том же диске, что и игра, и это меня очень беспокоило. Как только я его взломал, я был очень горд собой, потому что защита от копирования сделала что-то довольно сложное. Поэтому я хотел поместить свой знак на экран загрузки.
Теперь я не знал, где был экран загрузки. Я использовал дизассемблер для запуска загрузочного материала, но так и не дошел до места загрузки экрана. Но я просмотрел диск много, и была последовательность байтов, которые выглядели как необработанные данные для изображения. Я знал, насколько велика картина, если бы это были необработанные данные, поэтому я нашел начало и конец последовательности, поместил ее в файл и загрузил файл в редактор изображений. Я был прав.
Кто-то спросил меня: "Как вы узнали, что это была фотография?". И я не мог объяснить. Он просто выглядел как один.
Это не талант/умение, которого я ожидал бы от хорошего программиста. И я нахожу ответы на вопросы, которые прямо предназначены для кандидата, чтобы они не были действительно в бешенстве.
Да, есть кое-что о том, как решить проблему кандидата. Но если я собираюсь проверить это, я собираюсь хотя бы придумать игрушечную проблему, связанную с работой, которую я хочу, чтобы кандидат сделал.
Единственный способ, которым я когда-либо задавал бы этот вопрос, был, если бы искал инженера-реверсора или криптографа. Возможность заметить подобные шаблоны и сделать хорошие догадки относительно того, что они означают, будет очень ценным навыком для этих двух ролей. Но не для общего программиста.
Я думаю, что в некоторых интервьюерах есть определенный садизм. Определенная радость от того, что кандидат извивается. Они могут говорить о поиске способности решения проблемы кандидата, но я думаю, что они действительно просто ищут ощущение (не обязательно актуальность) умнее, чем кандидата.
Ответ 6
Ну, я думаю, что у меня есть ответ, и я получил его довольно быстро - хотя с помощью части справочного материала.
В интервью это звучит немного пустая трата времени. Конечно, я не спрошу. Я согласен с тем, что, вероятно, только "программист" будет программировать, но он не указывает ничего существенного в отношении навыков этого программиста.
Ответ 7
Является ли следующее число 116?
Тем не менее, "Shir ir correct" тоже не имеет никакого смысла.
Изменить:
К сожалению,
Ответ 8
Я увидел 32
и сразу нажал на меня.
Можно утверждать, что суть вопроса заключается в том, чтобы увидеть, как вы нащупываете свой путь вокруг, казалось бы, непреодолимого препятствия. Вы начали принимать конечные различия, ища арифметическую или полиномиальную последовательность? Или ты просто немного пощупал, а потом пожал плечами и сдался?
Еще один страшный вопрос, на мой взгляд.
Ответ 9
ASCII → int? Интервьюер сумасшедший...
Должно быть 116.
Перевод: this is correc
t отсутствует. t равно 116 в таблице ascii.
http://www.cs.utk.edu/~pham/ascii.html
Ответ 10
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 - это пробел), но все же.
Ответ 11
Его ascii-коды. Следующая буква t
. Возможно, вам понадобится знать коды ascii для работы, а также способность обнаруживать паттеры.
Ответ 12
Я предполагаю, что это поможет вам решить проблему.
Если бы вы быстро разобрались (я подозреваю, что 32 будут раздаваться тем, кто впитал некоторые коды ASCII), у вас, вероятно, есть еще один подобный тип - и так далее - пока вы не окажетесь вне зоны комфорта.
Как собеседник, эти вопросы могут быть способом обнаружения того, что работа не для вас!
Ответ 13
Это код ASCII, решение - "t" (116).
Однако мы должны обратить внимание на его помощь, потому что он, вероятно, планировал их.
"Это не математический вопрос"
Конечно, мы должны интерпретировать цифры как символы и находить число, которое можно использовать для заполнения пустого символа, поэтому в конце задания вы могли бы сказать ему, что это очень математично, потому что вам приходилось заполните шаблон с помощью функции.
"Последовательность важна"
Да, 32 помогает вам понять, что он говорит о персонажах.
"Он считал, что только программисты поймут это"
Некоторые не программисты тоже это понимают, но в основном это понимают программисты. Он пытался указать, что вы можете встретить эти цифры, когда работаете над программными кодами/отладкой.
"Думайте о цифрах в качестве замены для своего рода алфавита".
Я уверен, что вы знали теперь ответ.
Он хотел проверить вашу изобретательность и силу воли. Я встречал такие вопросы в тестах IQ (ОК, в тестах IQ они не привлекали символы ASCII, потому что большинство людей не слышали об ASCII).
ИЗМЕНИТЬ:
Конечно, этот вопрос был запланирован заранее, все подсказки были дополнительными подсказками, и им было интересно, сколько времени и сколько подсказок потребуется для расшифровки последовательности. Однако это математический вопрос.
Ответ 14
Следующее число равно 116.
Это простой набор чисел ASCII, стоящий за строкой "это соответствует". Немного поинтересовался, и намек был в диапазоне чисел и в том, что появляется 32 (пробел).
Вы должны знать наизусть таблицу ASCII? Это не имеет смысла для меня как вопрос для интервью - возможно, он хотел, чтобы вы идентифицировали это как последовательность ASCII.
Ответ 15
Спасибо за подсказку с алфавитом - это код ASCII:
numbers = [116,104,105,115,32,105,115,32,99,111,114,114,101,99]
for n in numbers:
print "%c"%n,
дает:
t h i s i s c o r r e c
но без доступа к компьютеру я бы не разобрался с текстом так быстро. И я также потратил бы довольно неудобные пять минут...
Ответ 16
Знаете, это напоминает мне о лоте математических/логических экзаменах, которые я использовал в школе, где я буду работать и работать над этим, и, наконец, пришел к тому, ответ, который они искали... только для того, чтобы почувствовать огромное чувство неудовлетворенности, потому что вопрос действительно не имел правильного ответа вообще. У него просто был ответ, который, очевидно, должен был быть прав.
Я знаю, что это не имеет никакого отношения к тому, что вы просите - да, как говорили другие, важно, чтобы ваш мыслительный процесс был при попытке решить проблему (и, говоря, что вы думаете вслух, вероятно, будет лучшей стратегией в этом сценарии) - но, честно говоря, если бы я был вами, даже если бы/когда я это выяснил, я бы не смог удержаться от соблазна сказать:
"Послушайте, я понял, что вы, вероятно, хотите, чтобы я сказал 116, но почему? Почему строка This is correc
логически должна заключаться в t
?"
Я имею в виду, подумайте об этом. Вопрос только в том, "Что такое следующий номер?" правильно? Нет: "Что такое следующее число, учитывая, что последовательность образует полное утверждение" или: "Что такое следующее число, считая, что это все английские слова", или даже: "Каково следующее число, учитывая, что это это последнее число"; это просто: "Что дальше?" Это настолько открыто, что не подлежит сомнению.
Интересно, согласился ли интервьюер с этой логикой или просто рассердился. Вероятно, последний.
Ответ 17
С#:
foreach(byte b = new byte[]{116,104,105,115,32,105,115,32,99,111,114,114,101,99})
Console.Write((char)b);
Вывод:
this is correc
Итак, ответ: 116, для 't'.
Ответ 18
В качестве кодировщиков мы ежедневно сталкиваемся с WTF: бескомпромиссные клиенты, API-интерфейсы с мозгом, наш собственный код с прошлой недели... Это просто часть нашей отрасли. Зная, насколько хорошо мы реагируем на эти ситуации, очень полезный критерий занятости, о котором я думаю. Сам вопрос гораздо менее важен, чем то, как вы придумали ответ и оправдаете его.
Ответ 19
Это 116. Мне не нужны твои подсказки. Подсознательно я думаю, что я заметил, что все цифры были в диапазоне 97-122 (программирование BBC Micro 20 лет назад, когда я был ребенком, помог мне запомнить коды ASCII по какой-то причине!). Я не преобразовал каждую букву в голову только сейчас:
>>> "".join(map(chr, [116, 104, 105, 115, 32, 105, 115, 32, 99, 111, 114, 114, 101, 99]))
'this is correc'
Думаю, интервьюер, вероятно, хотел посмотреть, как вы думаете о проблемах, и/или подумал, что в качестве программиста вы можете знать коды ASCII. Но если бы это было для старшей должности разработчика Java, я бы подумал, что было бы более важно спросить вас. Скажем, например, о структурах данных или алгоритмах.
Если они действительно позволят этому продолжаться в течение 20 минут, как вы говорите, они это сделали, они потратили много времени, чтобы они могли использовать оценку ваших навыков развития.
Ответ 20
Если бы последовательность была в шестнадцатеричной форме, я бы мог прочитать символы с первого взгляда со скоростью примерно 1-2 секунды. Я знаю большую часть прописного алфавита с первого взгляда в десятичном виде, а также все контрольные символы (с точки зрения контроля-A-control-Z) и распознают 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 26 и 27 по функциям. Я ожидаю, что часть цели состоит в том, чтобы увидеть, интуитивно признает ли заявитель последовательность символов как таковую. 32 имеет большое значение для ASCII.
Ответ 21
Сначала я пошёл с большим количеством ошибок при разрыве кода, ища пары чисел. Это заставило меня поверить, что это просто замена чисел для символов в алфавите. Некоторое время назад я прочитал несколько книг по шифрованию в WW2, а некоторые теории для разрыва кода застряли у меня в голове.
Ответ 22
Последовательность char выглядит так: это коррекция
Итак, 1 слева - t... то есть его значение ascii равно 116
Итак, ответ 116
Ответ 23
Правильный ответ, очевидно, 8 8 8 8 8 8 83 80 65 85 84 65 33.