Pull to refresh

Comments 13

Ну это все отлично и свежо, если бы не знать что там с Яндексом происходит и то что HRы яндекса у меня помоему скоро уже из холодильника начнут вылезать с вакансиями помоему ВО ВСЕ свои сервисы...вот реально мне кажется если я эти уже десятки писем соберу - там будет полный комплект всех сервисов яндекса с вакансиями от миддла до тимлида в каждом... там чё все уволились чтоли уже? финтех вечеринку они устраивают ага

Возможно, HR стоит взглянуть под новым углом на пулл кадров.

возможно яндексу пора снять корону и упростить собесы, я вообще не рассматриваю их вакансии потому что нахрен я видел ..скоко там сейчас 3-4-5 этапов техсобесов проходить которые я скорее всего завалю из-за их упоротости (с моей точки зрения) и потрачу своё время, а вилка у них точно такаяже как сейчас у меня

Это помоему как цирк уже выглядит ейбогу

Это мероприятие выглядит действительно крутым и смелым шагом.

Ничего необычного в этом я не вижу, на моей памяти тут были уже подобные движняки и не от яндекса

Я рад, что у нас есть компании, толкающие индустрию вперед!

Дааа... вот уж толкатели индустрии так да.

UFO just landed and posted this here

Задача решается меньше, чем за минуту - достаточно посмотреть текст ошибки в девтулзах

Можно и не отправлять. Там в json-е который приходит изначально есть ответ:

Это тоже смотрится странновато

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

Удивлен наличию такой проверки на стороне клиента

Что ж, "а ларчик просто открывался". Действительно существуют разные нотации и интерпретации как читать, все как в мире человеков.

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

Вариант с четными буквами исключаем сразу: некоторые коды имеют установленный старший бит, а это уже не стандартное ASCII. Вряд ли организаторы закодировали там русский текст в UTF-8. Значит, перестановка.

Из перестановок наиболее простые - это реверс и ROL (первый слева бит идет в хвост, остальные соответственно сдвигаются влево). Других простых вариантов, которые бы оставили справа нули, я лично сходу не придумал. Ковырять в сторону логических операций тоже смысла мало, т.к. задача по задумке простенькая.

И это называется "расшифровать"?! Стыд и позор не знать терминологии. Публичную задачу можно было сформировать корректно, бррр, до сих пор пробирает. Это не шифр, а максимум стеганография

Стеганография - это когда скрыт сам факт передачи информации. А тут таки да, шифрование. Можно поспорить, что это просто кодирование, но нет: у нас тут есть и замена, и перестановка. У нас есть исходный текст, который кодируется в ASCII, затем происходит замена кодов другими (да, по тривиальному алгоритму, но все же). Затем даже есть перестановка! Тоже тривиальная, но все же.

Так что не стоит хаять сей прекрасный шифр: он хоть и прост, но вполне имеет право называться шифром.

Сложно представить, каким образом эта задача и её цепочка решений может помочь мне и остальным разработчикам в обычной работе.

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

Лично я изучал Little / Big endian один раз в качестве "любопытно знать" и с тех пор мне это пригодилось 0 раз вплоть до этого дня (чудо, что я вообще вспомнил). Между разработкой и Little / Big endian лежит очень много уровней абстракции.

Ну, тут не биг/литтл как таковой, поскольку в большинстве случаев порядок бит в байте что там, что там одинаковый. Но мне, помнится, приходилось читать логи некой древней АТС, в которой биты шли слева направо. Было весело. :)

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

Я не буду навязывать конкретное решение, только дам свой пример: варианты кода с нарушением ООП / SOLID / code style (pep, black, eslint и т.д.).

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

Минимум времени и усилий от всех участников, все ошибки известны заранее, оценки формализованы и объективны.

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

  1. Такая задача хорошо подойдет как единый знаменатель для всех направлений: сетевики, devops, разработчики ядра, hardware и т.д. (хотя у последних все равно будет несомненное преимущество).
    - Чем вы занимаетесь?
    Чем вы занимаетесь?

  2. 1. Шифр должен иметь ключ, что здесь ключ? Является ли текст, написанный справа налево шифром? - Это все равно, что назвать римские цифры шифром.
    2. Чтение справа налево это просто иной способ, если я правильно понимаю, часть аппаратуры без проблем поймет такое сообщение.
    3. <<Cтранное сообщение мы тут написали>> - раз странное, значит стеганография.

  3. "код пишется 1 раз, а читается 10", - так что не соглашусь, поиск глазами ошибок в коде это офигенный навык.

  4. Говоря про фильтр линтером я подразумеваю не спорный кодестайл, а тот, который осуждается всеми.

Такая задача хорошо подойдет как единый знаменатель

Если я правильно понимаю, эта задача только первый этап для "поговорить с HR". А одним из вопросов HR вполне может быть каким образом вы пришли к ответу. И может статься, что "правильным" ответом на этот вопрос для бэкендера будут не сложные (на самом деле - простые) логические рассуждения, а именно что в "инструментах разработчика подсмотрел"

Шифр должен иметь ключ, что здесь ключ?

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

раз странное, значит стеганография.

Очень стеганографичное утверждение )

поиск глазами ошибок в коде это офигенный навык

Навык офигенный, но другой

По поводу критики: такое задание должно удовлетворять важному условию: элегантность/красота. В задаче "найди изъяны в коде" нет элегантности... А в этом задании есть.

Это не little endian, а переставленные в обратном порядке биты.

Ну и да, сразу видно, что у всех байтов 0 на конце, что является подсказкой к правильному решению. Хорошая задача.

Обожаю подобные задачки.

Для тех кто в теме предлагаю вариант по сложнее: 500942519780201142020759479682883160614803951

Зашифрованное сообщение то же самое, лишь в нижнем регистре. Следует восстановить алфавит.

Подсказки:

1) sizeof_byte - 2

2) Не забываем про старший бит, он равен нулю!

Следует восстановить алфавит.

Hidden text

'a': 21
'b': 22
'd': 24
'e': 25
'i': 29
'n': 34
'o': 35
'r': 38
's': 39
't': 40
'u': 41
'y': 45
'!': 47
' ': 1

оригинальная задача повеселее

Sign up to leave a comment.

Articles