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

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

его коды ascii.Следующая буква t.Возможно, ему понадобится знание кодов ascii для работы, а также способность обнаруживать скороговорки.

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

Это код ASCII, решение - "t" (116). Однако мы должны обратить внимание на его помощь, потому что он, вероятно, запланировал их.

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

«Важна последовательность» Да, 32 помогает вам понять, что он говорит о персонажах.

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

«Думайте о числах как о замене алфавиту». Я уверен, что теперь вы знали ответ.

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

РЕДАКТИРОВАТЬ:

Конечно, этот вопрос был спланирован заранее, все подсказки были дополнительными подсказками, и они интересовались, сколько времени и сколько подсказок потребуется для расшифровки последовательности. Однако это математический вопрос.

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

Полагаю, стоит посмотреть, как решить вашу проблему.

Если бы вы решили это быстро (я подозреваю, что 32 подарит те, кто освоил некоторые коды ASCII), у вас, вероятно, будетполучить еще один аналогичный тип - и так далее - пока вы не окажетесь за пределами своей «зоны комфорта».

Как собеседник, эти вопросы могут быть способом определения того, что работа не для вас!

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

Как программисты, мы сталкиваемся с WTF каждый день: невежественные клиенты, непонятные API, наш собственный код с прошлой недели ... Это всего лишь часть нашей отрасли.Знание того, насколько хорошо мы реагируем на эти ситуации, является очень полезным критерием занятости.Сам вопрос гораздо менее важен, чем то, как вы пришли к ответу и обосновали его.

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

C #:

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'.

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

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

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

"Слушай, я понимаю, что ты, вероятно, хочешь, чтобы я сказал 116, но почему? Почему строка This is correc логическидолжен сделать вывод в t? "

Я имею в виду, подумай об этом.Вопрос только в том, каков следующий номер?право?Не: «Каково следующее число, учитывая, что последовательность формирует полное утверждение» или: «Каково следующее число, предполагая, что это все английские слова», или даже: «Каково следующее число, учитывая, что оно являетсячто последний номер ";это просто: "Что дальше?"Это настолько бессмысленно, что не подлежит ответу.

Интересно, согласился бы интервьюер с такой логикой или просто разозлился?Вероятно, последний.

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

Следующее число равно 116.

Это простой набор чисел ASCII, обозначающий строку «это правильно?».Взял немного поиска, и подсказка была в диапазоне чисел и факте, что появляется 32 (пробел).

Вы должны знать таблицу ASCII наизусть?Для меня это не имеет смысла как вопрос для интервью - возможно, он хотел, чтобы вы определили это как последовательность ASCII.

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

Спасибо за подсказку с алфавитом - похоже, код 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

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

0 голосов
/ 15 ноября 2010

Правильный ответ, очевидно, 8 8 8 8 8 8 83 80 65 85 84 65 33.

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

Последовательность символов выглядит следующим образом: это корректно. Итак, 1 осталось t ... т.е. его значение ascii равно 116

Таким образом, ответ равен 116

...