Интервью Вопрос, Чего они хотят достичь? - 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 ]

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

Сначала я подумал о нарушении кода, ища пары чисел.Это привело меня к мысли, что это просто замена чисел на символы в алфавите.Некоторое время назад я прочитал несколько книг по шифрованию во Второй мировой войне, и некоторые теории взлома кода застряли в моей голове.

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

Если бы последовательность была в шестнадцатеричном формате, я мог бы прочитать символы с первого взгляда со скоростью около 1-2 секунд каждый.Я знаю большую часть заглавных букв алфавита с десятичной точки зрения, а также все управляющие символы (в терминах от control-A до control-Z) и распознаю 3, 6, 7, 8, 9, 10, 11, 1213, 14, 15, 16, 17, 19, 21, 26 и 27 по функциям.Я ожидаю, что часть цели состоит в том, чтобы увидеть, распознает ли заявитель инстинктивно последовательности символов как таковые.32 сильно напоминает ASCII.

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

Это 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 минут, как вы говорите, они потратили много времени на то, чтобы потратить их на оценку ваших навыков разработки..

...